SSH adalah pintu utama untuk mengelola server jarak jauh, namun juga menjadi target nomor satu serangan peretas. Pada server Ubuntu 24.04, konfigurasi default SSH tidak cukup aman untuk penggunaan publik. Tanpa pengaturan yang tepat, server kamu bisa diakses ilegal hanya dalam hitungan jam setelah online. Artikel ini akan memandu kamu langkah demi langkah mengkonfigurasi SSH dengan standar keamanan industri, tanpa resiko terkunci keluar dari server.
Peringatan Sangat Penting: Selama seluruh proses konfigurasi, JANGAN TUTUP jendela terminal yang sedang kamu gunakan login ke server. Biarkan terbuka sampai kamu berhasil memverifikasi login SSH dari jendela terminal baru. Ini adalah aturan nomor satu yang menyelamatkan ribuan admin server setiap bulan.
1. Persiapan Sebelum Memulai Konfigurasi
Sebelum mengubah apapun, pastikan kamu sudah memenuhi persyaratan dasar berikut:
- Memiliki hak akses sudo penuh pada server Ubuntu 24.04
- Paket
openssh-serversudah terinstall dan berjalan normal - Koneksi internet stabil ke server
- Menyiapkan jendela terminal kedua untuk proses pengujian nanti
Update terlebih dahulu seluruh paket sistem agar mendapatkan patch keamanan terbaru dengan perintah: sudo apt update && sudo apt upgrade -y
2. Backup File Konfigurasi SSH
Langkah pertama yang WAJIB dilakukan sebelum perubahan apapun adalah membuat backup file konfigurasi asli. Jika terjadi kesalahan konfigurasi, kamu bisa mengembalikan pengaturan kapan saja tanpa panik.
Jalankan perintah backup dengan penanda tanggal dan waktu otomatis:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup.$(date +%Y%m%d_%H%M)
File backup akan tersimpan dengan nama sesuai waktu pembuatan, sehingga kamu tidak akan bingung jika membuat beberapa versi cadangan.
3. Ubah Port Default SSH
Secara default SSH berjalan di port 22. Semua bot peretas dan scanner otomatis akan pertama kali menyerang port ini. Mengubah port SSH adalah langkah paling sederhana namun efektif mengurangi lebih dari 90% serangan otomatis yang masuk ke server.
Cara mengubah port SSH dengan benar:
- Buka file konfigurasi dengan editor nano:
sudo nano /etc/ssh/sshd_config - Cari baris
#Port 22, hapus tanda pagar di awal baris - Ganti angka 22 dengan port antara 1024 - 65535, JANGAN gunakan port umum seperti 2222 atau 22222
- Contoh konfigurasi yang baik:
Port 31947
Jangan lupa buka port baru di firewall UFW default Ubuntu 24.04: sudo ufw allow 31947/tcp
4. Nonaktifkan Login Root Langsung
User root adalah user dengan hak akses tertinggi di server. Peretas akan selalu mencoba login sebagai root terlebih dahulu. Tidak ada alasan teknis yang sah untuk login langsung sebagai root melalui SSH.
Cari baris PermitRootLogin pada file konfigurasi, ubah nilainya menjadi: PermitRootLogin no
Setelah konfigurasi ini aktif, kamu akan login sebagai user biasa terlebih dahulu, kemudian gunakan perintah sudo jika membutuhkan akses administrator.
5. Ganti Autentikasi Password Dengan Kunci SSH
Autentikasi menggunakan password adalah kelemahan terbesar SSH. Bahkan password 16 karakter yang kuat pun bisa dipecahkan dengan serangan brute force dalam waktu cukup. Autentikasi kunci SSH jauh lebih aman dan tidak bisa dipecahkan dengan cara biasa.
Langkah setup kunci SSH yang benar:
- Buat pasangan kunci modern di komputer lokal kamu:
ssh-keygen -t ed25519 - Salin kunci publik ke server:
ssh-copy-id -p 31947 namauser@alamat_server - Verifikasi kamu bisa login tanpa memasukkan password sama sekali
- Setelah berhasil 100%, nonaktifkan autentikasi password:
PasswordAuthentication no
6. Batasi Daftar User Yang Bisa Login SSH
Jangan biarkan semua user yang terdaftar di server bisa login melalui SSH. Tambahkan baris berikut di akhir file konfigurasi SSH untuk hanya mengizinkan user tertentu saja:
AllowUsers andi budi
Ganti andi dan budi dengan nama user yang benar-benar membutuhkan akses server. Semua user lain yang tidak tercantum akan otomatis ditolak meskipun memiliki password yang benar.
7. Tambahkan Proteksi Brute Force Dengan Fail2ban
Fail2ban adalah perangkat lunak open source yang secara otomatis memblokir alamat IP yang mencoba login berulang kali dengan salah. Ini adalah perlindungan standar wajib untuk semua server publik.
Instalasi dan konfigurasi di Ubuntu 24.04:
sudo apt install fail2ban -ysudo systemctl enable --now fail2ban- Secara default Fail2ban sudah otomatis melindungi layanan SSH
- Setelah 5 kali percobaan login salah, IP akan diblokir selama 1 jam
8. Konfigurasi Timeout Session Idle
Untuk menghindari sesi SSH yang ditinggal terbuka tanpa pengawasan, atur timeout otomatis untuk sesi yang tidak aktif. Tambahkan 2 baris berikut di konfigurasi SSH:
ClientAliveInterval 300
ClientAliveCountMax 2
Dengan konfigurasi ini, sesi SSH yang tidak aktif selama 10 menit akan ditutup secara otomatis oleh server.
9. Verifikasi Konfigurasi Dan Restart Layanan
SEBELUM merestart layanan SSH, selalu cek apakah konfigurasi yang kamu buat tidak ada kesalahan sintaks. Jalankan perintah verifikasi:
sudo sshd -t
Jika tidak ada output apapun, berarti konfigurasi sudah benar. Jika ada pesan error, perbaiki terlebih dahulu sebelum lanjut ke langkah berikutnya.
Setelah berhasil verifikasi, restart layanan SSH:
sudo systemctl restart ssh
Sekarang buka jendela terminal baru dan coba login ke server. Hanya jika login berhasil tanpa masalah, kamu boleh menutup jendela terminal lama.
Penutup
Dengan menerapkan semua langkah konfigurasi di atas, server SSH Ubuntu 24.04 kamu sudah memiliki tingkat keamanan yang sesuai standar industri. Sebagai tambahan, selalu update paket openssh-server secara berkala, periksa log autentikasi di /var/log/auth.log secara rutin, dan jangan pernah membagikan kunci privat SSH kepada siapapun.
Keamanan server bukanlah pekerjaan sekali selesai, namun kebiasaan baik yang dilakukan secara konsisten. Dengan konfigurasi SSH yang benar, kamu sudah menghilangkan 99% resiko serangan umum yang menargetkan server publik.