šMenjalankan Protokol SSH Hardening (Advanced)
Berikut metode kami yang direkomendasikan untuk meningkatkan keamanan SSH:
1ļøā£ Gunakan Password yang Kuat (Dibarengi dengan SSH Key & 2FA)
Meskipun SSH Key Authentication lebih disarankan, jika password masih digunakan sebagai metode tambahan, pastikan password memiliki tingkat keamanan tinggi.
ā Panjang minimal 20 karakter ā Mengandung kombinasi angka, huruf besar-kecil, dan simbol ā Digunakan bersamaan dengan SSH Key dan 2FA untuk keamanan maksimal
Contoh Password Acak:
CCJ@xmn%$$lk2EaAnjAyZ@j%2x@W51DSA2Szy3
šØ Jangan gunakan password yang mudah ditebak seperti nama, tanggal lahir, atau kata umum.
š” Gunakan SSH Key Authentication + 2FA!
2ļøā£ Gunakan SSH Key Authentication (ed25519 - Algoritma Terkuat)
SSH Key Authentication lebih aman dibandingkan password karena menggunakan pasangan kunci privat dan publik. ed25519 direkomendasikan karena lebih cepat dan lebih aman dibandingkan RSA atau ECDSA.
Cara Membuat SSH Key dengan ed25519:
ssh-keygen -t ed25519 -C "[email protected]"
š¹ Kunci privat disimpan di ~/.ssh/id_ed25519 (jangan dibagikan!) š¹ Kunci publik ditambahkan ke server dalam ~/.ssh/authorized_keys
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
š Keuntungan: Lebih aman, lebih cepat, dan lebih kecil dibanding RSA.
3ļøā£ Aktifkan Two-Factor Authentication (2FA) dengan PAM
Menambahkan lapisan keamanan ekstra dengan Google Authenticator atau PAM 2FA.
Untuk cara pengaktifan 2FA ada disini
4ļøā£ Batasi Percobaan Login dengan Fail2Ban (Rate Limit)
Mencegah serangan brute force dengan memblokir IP yang mencoba login terlalu banyak dalam waktu singkat.
Cara install dan aktifkan Fail2Ban:
sudo apt install fail2ban -y
sudo systemctl enable fail2ban --now
Edit konfigurasi untuk SSH:
sudo nano /etc/fail2ban/jail.local
Tambahkan aturan berikut:
[sshd]
enabled = true
bantime = 1h
findtime = 10m
maxretry = 5
š” Jika ada lebih dari 5 percobaan gagal dalam 10 menit, IP akan diblokir selama 1 jam.
š Keuntungan: Mencegah bot atau hacker mencoba ribuan password secara otomatis.
5ļøā£ Nonaktifkan Root Login & Gunakan Port SSH yang Berbeda
Mencegah serangan langsung ke akun root dan mengurangi kemungkinan eksploitasi otomatis.
Edit file konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
Ubah:
PermitRootLogin no
Port 2222
Gantilah 2222 dengan port yang diinginkan (hindari port umum seperti 22, 80, atau 443).
Restart SSH untuk menerapkan perubahan:
sudo systemctl restart ssh
š Keamanan meningkat dengan memaksa login sebagai user biasa sebelum mendapatkan akses root (via
sudo
).
Disable Login Password dan SSH Key untuk root:
passwd -l root
rm -rf /root/.ssh/authorized_keys
š Catatan Tambahan:
Tanpa IP Whitelist pun, sistem sudah cukup aman dengan kombinasi SSH Key Authentication, 2FA, Fail2Ban, dan nonaktifkan root login.
Hacker tidak bisa menembus sistem jika semua metode di atas diterapkan dengan benar.
Ganti port SSH tidak meningkatkan keamanan secara signifikan, tetapi bisa mengurangi log spam dari bot otomatis.
Fail2Ban cukup efektif dalam menangkal brute force, tetapi tetap lebih baik menggunakan SSH Key dan 2FA sebagai perlindungan utama.
š Kesimpulan: Tanpa IP Whitelist pun, server tetap aman asalkan menerapkan SSH Key + 2FA + Fail2Ban + Nonaktifkan Root Login dengan benar.
Last updated
Was this helpful?