Привет, есть сервер смотрящий в интернет и постоянно какие то мудаки брутят пороль на ssh. Мне это надоело и логи засирают и вообще ...=)))) решил с этим бороться, порылся в интернете, обнаружил вот такую не хитрую программку sshguard.
И так приступим, ставим из портов или из пакетов кому как удобнее=))
ставим с плугином под ipfw ( я пользуюсь ipfw) , хотя там есть порты и с другими firewall-ми.
| cd /usr/ports/security/sshguard-ipfw/ && make install clean |
После установке переходим к настройки sshguard, нужно добавить такую строчку в /etc/syslog.conf:
| auth.info;authpriv.info |/usr/local/sbin/sshguard -w 89.89.89.89 |
Опция -w это белый список, сюда можно добавить хосты или сети, которые нельзя блокировать. На каждую сеть или хост своя опция -w.
Дальше перезапускаем syslogd
| /etc/rc.d/syslogd reload |
По умолчанию после 4-х неудачных попыток sshguard считает брутфорс атакой, изменить это можно с помощью опции -а.
| #sshguard -a 3 |
После того как sshguard определит брутефорс, он добавит правило в файерволл deny ip from brute.ip.add.ress to me, а потом по истечении времени, по умолчанию это 420 секунд, правило удалится. При повторе атаки время блокировки выростет в 2 раза
Блокирующие правила располагаются после 55000 правила.
Есть еще кое какие опции их можно посмотреть набрав
| #sshguard -h sshguard [-a num] [-p sec] [-w -a Number of hits after which blocking an address (4) -p Seconds after which unblocking a blocked address (420) -w Whitelisting of addr/host/block, or take from file if starts with "/" or "." (repeatable) -s Seconds after which forgetting about a cracker candidate (1200) -f "authenticate" service's logs through its process pid, as in pidfile -d Run in debug mode, log everything to standard error (not syslog) |
Ну вот вобщем то все, радуемся жизни =)))