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

Xeon LGA 771 di mobo LGA 775

Writing and reading float using Arduino EEPROM

LM35 Incubator with LCD 16x2 on Arduino