Secure Shell (SSH) adalah protokol keamanan yang banyak digunakan untuk mengakses dan mengelola server secara aman dari jarak jauh. Dengan koneksi terenkripsi, SSH memberikan perlindungan dari penyadapan data selama transmisi. Namun, meskipun SSH secara intrinsik dirancang untuk keamanaan, penggunaannya yang tidak tepat dapat membuka celah keamanan. Artikel ini akan membahas beberapa trik dan praktik terbaik dalam menggunakan SSH secara efektif untuk menjaga sistem Anda tetap aman.
1. Menonaktifkan Login Root
Login root yang diaktifkan dapat menjadi target utama bagi peretas, karena akun root memiliki akses tanpa batas ke sistem. Langkah pertama dalam meningkatkan keamanan SSH adalah menonaktifkan login langsung ke akun root.
– Cara Melakukannya:
– Buka dan edit file konfigurasi SSH biasanya terdapat di `/etc/ssh/sshd_config`.
– Cari baris `PermitRootLogin yes` dan ubah menjadi `PermitRootLogin no`.
– Simpan perubahan dan restart layanan SSH dengan `sudo systemctl restart sshd`.
2. Menggunakan Key-Based Authentication
Autentikasi berbasis kunci SSH lebih aman daripada menggunakan password. Dengan menggunakan pasangan kunci publik dan privat, hanya klien yang memegang kunci privat yang dapat mengakses server.
– Cara Mengonfigurasi:
- Buat pasangan kunci pada mesin klien menggunakan `ssh-keygen`.
- Tempatkan kunci publik (`id_rsa.pub`) ke dalam file `authorized_keys` di direktori `~/.ssh/` pada server.
- Pastikan file `authorized_keys` memiliki izin yang benar (`chmod 600 ~/.ssh/authorized_keys`) untuk mencegah akses tidak sah.
3. Mengganti Nomor Port Default
Port default SSH adalah 22, yang sering menjadi target serangan brute force. Mengganti port ini dapat mengurangi kemungkinan serangan.
– Langkah Mengganti Port:
– Edit file konfigurasi SSH di `/etc/ssh/sshd_config`.
– Ubah baris `Port 22` ke nomor port yang lebih tinggi, misalnya `Port 2222`.
– Jangan lupa memastikan firewall diperbarui untuk mengizinkan lalu lintas melalui port baru ini dan restart layanan SSH.
4. Menggunakan Firewall dan Fail2ban
Mengaktifkan firewall yang tepat dan modul keamanan tambahan seperti Fail2ban dapat membantu melindungi server dari akses tidak sah dan serangan brute force.
– Firewall:
– Gunakan alat seperti `ufw` (Uncomplicated Firewall) untuk mengizinkan hanya lalu lintas yang diperlukan.
– Contoh: `sudo ufw allow 2222/tcp` untuk mengizinkan akses pada port SSH baru 2222.
– Fail2ban:
– Instal fail2ban dengan `sudo apt-get install fail2ban`.
– Buat konfigurasi dasar di `/etc/fail2ban/jail.local` untuk SSH dan restart fail2ban.
– Fail2ban akan secara otomatis memblokir alamat IP yang terlalu banyak gagal saat login.
5. Memantau Log Akses
Memantau log SSH secara rutin dapat membantu mendeteksi aktivitas mencurigakan seperti upaya login yang gagal.
– Log SSH:
– Log ada di `/var/log/auth.log` pada sistem berbasis Debian/Ubuntu atau `/var/log/secure` untuk CentOS/Fedora.
– Gunakan perintah seperti `grep “Failed password” /var/log/auth.log` untuk mencari upaya login yang gagal.
6. Mengaktifkan Two-Factor Authentication (2FA)
Menambahkan lapisan keamanan ekstra dengan 2FA membuat akses SSH jauh lebih aman. Ini mensyaratkan bahwa pengguna, selain password, harus memberikan kode waktu tertentu.
– Mengkonfigurasi 2FA:
– Instal `libpam-google-authenticator` melalui package manager sistem.
– Jalankan `google-authenticator` pada mesin pengguna untuk memulai konfigurasi kunci 2FA.
– Konfigurasi PAM (Pluggable Authentication Module) di `/etc/pam.d/sshd` dan aktifkan pada konfigurasi SSH.
7. Membatasi Akses Berdasarkan IP
Membatasi akses SSH hanya kepada IP yang dipercaya dapat secara signifikan mengurangi risiko akses tidak sah.
– Implementasi:
– Gunakan konfigurasi firewall untuk mengizinkan akses hanya dari daftar IP tertentu.
– Alternatif lain adalah menerapkan aturan di `/etc/hosts.allow` dan `/etc/hosts.deny`.
8. Menonaktifkan SSH Versi 1
SSH versi 1 memiliki sejumlah kerentanan yang dapat dieksploitasi, sehingga lebih aman untuk menggunakan SSH versi 2 yang telah diperkuat.
– Langkah Konfigurasi:
– Pastikan di file `/etc/ssh/sshd_config`, hanya `Protocol 2` yang tertera.
Kesimpulan
Meski SSH adalah alat yang sangat aman untuk mengelola server, tetap penting bagi administrator untuk menerapkan praktik terbaik dalam penggunaannya. Dengan menonaktifkan login root, memanfaatkan autentikasi berbasis kunci, menginstal firewall dan sistem pendeteksian intrusi, serta memonitor aktivitas login, Anda dapat meminimalisir risiko dan melindungi sistem dari akses yang tidak sah. Soliditas keamanan tidak hanya bergantung pada protokol yang digunakan, tetapi juga pada bagaimana kita menerapkannya dengan kesadaran dan kehati-hatian. Dengan strategi-strategi ini, koneksi SSH Anda akan tetap terlindungi dan aman dalam berbagai situasi.
Hosting tanpa batas alviora.id