Anti-SSH Brute Force
(1) melakukan konfigurasi di /etc/ssh/sshd_config
(3a) alternatif 1: menggunakan TCP Wrapper, mengedit file /etc/hosts.deny
MaxStartups 3:50:10(2) tidak menggunakan nama user yang sering di target ataupun memiliki password dengan kombinasi yang sering menjadi target:
AllowUsers nama_user
Protocol 2
Port 222
qwerty; admin; passwd; system; 123; 1234; 12345; 123456ataupun 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_3contoh:
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.shisi dari ssh-deny.sh adalah#!/bin/bash(4) lebih paranoid lagi, gunakan tools yang akan memblokir secara otomatis sebuah IP apabila terlalu banyak kesalahan dalam login:
wget -c http://www.sshbl.org/lists/hosts.deny
cat hosts.deny > /etc/hosts.deny
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(6) membuat jebakan batman:
awk 'gsub(".*sshd.*Failed password for (invalid user )?", "") {print $1}' /var/log/secure* | sort | uniq -c | sort -rn | head -5
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