Table of Contents
Ngubah port SSH di Debian bisa mengurangi percobaan brute-force di port default 22 buat keamanan tambahan lah. Hati-hati bang, salah-salah bisa kekunci server lu awokwok. Disini w testing (ga testing sih, langsung di prod kok awokwok) nya make Debian 12, tapi alurnya masih sama lah untuk versi Debian lain atau distro turunan kek Ubuntu.
1) Cek konfigurasi SSH saat ini
sudo ss -tulpn | grep sshatau:
sudo grep -E '^(#)?Port' /etc/ssh/sshd_config2) Ubah port SSH
Edit file konfigurasi:
sudo nano /etc/ssh/sshd_configCari baris:
#Port 22Ubah menjadi, eee contoh:
Port 2222 # Ganti 2222 dengan port yang diinginkanGunakan port di atas 1024 dan hindari port umum lain atau gampang ketebak.
3) Pastikan konfigurasi valid
sudo sshd -tKalo gada output, konfigurasi valid.
4) Buka port baru di firewall
Kalo make UFW:
sudo ufw allow 2222/tcpsudo ufw statusKalo make iptables (contoh sederhana)
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT5) Restart layanan SSH
Pada Debian modern biasanya:
sudo systemctl restart sshsudo systemctl status ssh --no-pager6) Uji koneksi di terminal baru
Jangan tutup sesi lama. Uji dulu (takutnya salah konfigurasi awokwok):
ssh -p 2222 username@ip-serverJika berhasil login, perubahan aman.
7) (Opsional) Tutup port lama 22
Setelah port baru dipastikan berjalan:
UFW
sudo ufw delete allow 22/tcpiptables
Atur rule agar port 22 tidak lagi dibuka.
Hardening tambahan (disarankan)
Edit /etc/ssh/sshd_config:
PermitRootLogin no # Nonaktifkan login root langsung, sebaiknya jangan gegabahPasswordAuthentication no # Nonaktifkan login password, pakai SSH key saja, sebaiknya jangan gegabahPubkeyAuthentication yes # Pastikan SSH key diizinkanLalu reload/restart SSH:
sudo systemctl restart sshPastikan kunci SSH sudah terpasang sebelum menonaktifkan password login.
Troubleshooting
- Koneksi timeout: port baru belum dibuka di firewall/security group.
Connection refused: servicesshtidak aktif atau port belum diterapkan.- Salah konfigurasi: cek dengan
sudo sshd -tdan log:Terminal window sudo journalctl -u ssh -n 100 --no-pager
Rollback darurat
Jika gagal login lewat port baru, akses console VPS/lokal lalu kembalikan:
Port 22Restart service:
sudo systemctl restart sshDengan langkah di atas, port SSH di Debian dapat diganti dengan aman dan lebih rapi dari sisi keamanan dasar.
(Opsional) Aktifkan Fail2ban untuk SSH
Tambahkan Fail2ban untuk memblokir IP yang mencoba login berulang kali (brute-force) ke SSH.
Install paket:
sudo apt updatesudo apt install fail2ban -yBuat konfigurasi lokal agar tidak mengubah file bawaan:
sudo nano /etc/fail2ban/jail.localIsi minimal (sesuaikan port SSH baru):
[sshd]enabled = trueport = 2222logpath = %(sshd_log)sbackend = systemdmaxretry = 5findtime = 10mbantime = 1hAktifkan dan jalankan service:
sudo systemctl enable fail2bansudo systemctl restart fail2bansudo systemctl status fail2ban --no-pagerCek status jail SSH:
sudo fail2ban-client statussudo fail2ban-client status sshdAlur Fail2ban: Kalo ada IP yang gagal login lebih dari
maxretrydalamfindtime, IP itu bakal diblokir selamabantime. Jadi, ini nambah lapisan keamanan buat SSH lu.
Gitulah pokoknya, inii catetan w, jadi kalimatnya diasikin sendiri aja awokwok