Meningkatkan Keamanan Server (Open SSH)

OpenSSH adalah implementasi protokol SSH. OpenSSH direkomendasikan untuk login jarak jauh, membuat cadangan, transfer file jarak jauh melalui scp atau sftp, dan banyak lagi. SSH sempurna untuk menjaga kerahasiaan dan integritas untuk pertukaran data antara dua jaringan dan sistem. Namun, keuntungan utama adalah otentikasi server, melalui penggunaan kriptografi kunci publik. Dari waktu ke waktu ada desas-desus tentang OpenSSH zero day exploit. Berikut adalah beberapa hal yang perlu Anda tweak untuk meningkatkan keamanan server OpenSSH.

File Konfigurasi Default dan Port SSH

  • /etc/ssh/sshd_config – file konfigurasi server OpenSSH.
  • /etc/ssh/ssh_config – file konfigurasi klien OpenSSH.
  • ~/.ssh/- Direktori konfigurasi pengguna ssh.
  • ~/.ssh/otorized_keys atau ~/.ssh/otor_keys – Daftar kunci publik (RSA atau DSA) yang dapat digunakan untuk masuk ke akun pengguna
  • /etc/nologin – Jika file ini ada, sshd menolak untuk membiarkan siapa pun kecuali login root.
  • /etc/hosts.allow dan/etc/hosts.deny: Daftar kontrol akses yang harus diberlakukan oleh pembungkus tcp didefinisikan di sini.
  • Port default SSH: TCP 22

1: Nonaktifkan OpenSSH Server

Workstation dan laptop dapat bekerja tanpa server OpenSSH. Jika Anda tidak perlu menyediakan login jarak jauh dan kemampuan transfer file SSH, nonaktifkan dan hapus server SSHD. Pengguna CentOS/RHEL/Fedora Linux dapat menonaktifkan dan menghapus openssh-server dengan perintah yum: # chkconfig sshd off # yum erase openssh-server Pengguna Debian/Ubuntu Linux dapat menonaktifkan dan menghapus yang sama dengan perintah apt-get: # apt-get remove openssh-server Anda mungkin perlu memperbarui skrip iptables Anda untuk menghapus aturan pengecualian ssh. Di bawah CentOS/RHEL/Fedora sunting file/etc/sysconfig/iptables dan/etc/sysconfig/ip6tables. Setelah selesai restart layanan iptables: # service iptables restart # service ip6tables restart

2: Hanya Gunakan SSH Protocol 2

Protokol SSH versi 1 (SSH-1) memiliki masalah serangan man-in-the-middle dan kerentanan keamanan. SSH-1 sudah usang dan harus dihindari dengan cara apa pun. Buka file sshd_config dan pastikan baris berikut ada:
Protokol 2

3: Batasi Akses SSH Pengguna

Secara default, semua sistem pengguna dapat masuk melalui SSH menggunakan kata sandi atau kunci publik mereka. Terkadang Anda membuat akun pengguna UNIX/Linux untuk keperluan ftp atau email. Namun, pengguna tersebut dapat masuk ke sistem menggunakan ssh. Mereka akan memiliki akses penuh ke alat sistem termasuk kompiler dan bahasa scripting seperti Perl, Python yang dapat membuka port jaringan dan melakukan banyak hal mewah lainnya. Salah satu klien saya benar-benar sudah ketinggalan zaman skrip php dan seorang penyerang dapat membuat akun baru pada sistem melalui skrip php. Namun, penyerang gagal masuk ke dalam kotak melalui ssh karena itu tidak ada di AllowUsers.
Hanya izinkan pengguna root, vivek dan jerry untuk menggunakan sistem melalui SSH, tambahkan yang berikut ke sshd_config:
AllowUsers root vivek jerry

Atau, Anda dapat mengizinkan semua pengguna untuk masuk melalui SSH tetapi hanya menolak beberapa pengguna, dengan baris berikut:
DenyUsers saroj anjali foo

Anda juga dapat mengkonfigurasi Linux PAM untuk mengizinkan atau menolak login melalui server sshd. Anda dapat mengizinkan daftar nama grup untuk mengakses atau menolak akses ke ssh.

4: Konfigurasikan Interval Batas Waktu Keluar Idle

Pengguna dapat masuk ke server melalui ssh dan Anda dapat mengatur interval waktu tunggu idel untuk menghindari sesi ssh tanpa pengawasan. Buka sshd_config dan pastikan nilai-nilai berikut dikonfigurasikan:
ClientAliveInterval 300
ClientAliveCountMax 0
Anda mengatur interval waktu idle dalam hitungan detik (300 detik = 5 menit). Setelah interval ini berlalu, pengguna idle akan secara otomatis ditendang keluar (dibaca sebagai keluar). Lihat cara untuk secara otomatis mengeluarkan pengguna BASH/TCSH/SSH setelah periode tidak aktif untuk detail lebih lanjut.

5: Nonaktifkan file .rhosts

Jangan membaca file pengguna ~/.rhosts dan ~/.shosts. Perbarui sshd_config dengan pengaturan berikut:
Abaikan saja ya

SSH dapat meniru perilaku perintah rsh usang, cukup nonaktifkan akses tidak aman melalui RSH.

6: Nonaktifkan Otentikasi Berbasis Host

Untuk menonaktifkan otentikasi berbasis host, perbarui sshd_config dengan opsi berikut:
HostbasedAuthentication no

7: Nonaktifkan login root melalui SSH

Tidak perlu login sebagai root via ssh melalui jaringan. Pengguna normal dapat menggunakan su atau sudo (disarankan) untuk mendapatkan akses level root. Ini juga memastikan Anda mendapatkan informasi audit lengkap tentang siapa yang menjalankan perintah istimewa pada sistem melalui sudo. Untuk menonaktifkan login root melalui SSH, perbarui sshd_config dengan baris berikut:
PermitRootLogin no

Leave a Reply

Your email address will not be published. Required fields are marked *