Anti-SSH Brute Force

(1) melakukan konfigurasi di /etc/ssh/sshd_config
MaxStartups 3:50:10
AllowUsers nama_user
Protocol 2
Port 222
(2) tidak menggunakan nama user yang sering di target ataupun memiliki password dengan kombinasi yang sering menjadi target:
qwerty; admin; passwd; system; 123; 1234; 12345; 123456
ataupun kombinasi nama host, tahun, nama lembaga, maupun nama latin dari hewan/tumbuhan.

(3a) alternatif 1: menggunakan TCP Wrapper, mengedit file /etc/hosts.deny
sshd: ALL except blok_IP_1 blok_IP_2 blok_IP_3
contoh:
sshd: ALL except 192.168.10. <-- 192.168.0.0="" 192.168.10.0="" 192.168.10.254="" 192.168.254.254="" 192.168.="" all="" artiya="" bit="" blockquote="" except="" hingga="" sshd:="">(3b) alternatif 2: memblokir IP-IP yang suka melakukan SSH brute-force, masukkan sebagai cron:

crontab -e

59 * * * ssh-deny.sh
isi dari ssh-deny.sh adalah
#!/bin/bash
wget -c http://www.sshbl.org/lists/hosts.deny
cat hosts.deny > /etc/hosts.deny
(4) lebih paranoid lagi, gunakan tools yang akan memblokir secara otomatis sebuah IP apabila terlalu banyak kesalahan dalam login:

denyhosts
fail2ban

(5) secara manual melakukan populasi terhadap IP-IP yang mencoba melakukan brute force:
awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $3}' /var/log/secure* | sort | uniq -c | sort -rn | head -5

awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $1}' /var/log/secure* | sort | uniq -c | sort -rn | head -5
(6) membuat jebakan batman:

manual:
iptables -A INPUT -p tcp --dport 22 (atau 222) -j LOG --log-prefix "SSH Connect "
dengan program bantu:

portsentrysnort

(7) belum puas, mari kita bermain man-in-the-middle-attack alias sniffing.

dsniff

Comments

Popular posts from this blog

Merakit Destilator Bioetanol Sederhana (1)

DHT11 incubator with I2C LCD (part 1)

LM35 Incubator with LCD 16x2 on Arduino