šŸ“–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?