Защита от подбора паролей по ssh

Достал поток записей в логах о попытке подбора пароля по ssh.
Решено было побороться с этим. Вариант прикрыть порт паролем не подходит, поскольку приходится часто заходить на сервера с разных IP чужих провайдеров.
Вариант перевесить демон на другой порт тоже не подходил.
Решено было использовать для защиты sshit — причина — наиболее частое упоминание для таких вещей в поисковиках.

Итак обновляем порты (если не делаете это регулярно)

Устанавливаем sshit

#cd /usr/ports/security/sshit
#make && make install && make clean

Правим если нужно файл конфигурации
# cat /usr/local/etc/sshit.conf
FIREWALL_TYPE = ipfw2 # Указываете тот фаервол который используете
MAX_COUNT = 5 # Количество неудачных попыток за промежуток времени который указываете ниже
WITHIN_TIME = 300 # промежуток времени для неудачных попыток в секундах
RESET_IP = 2400 # На какое количество секунд блокируется IP адрес атакующего
IPFW_CMD2 = /sbin/ipfw # Исполняемая команда
IPFW2_TABLE_NO = 2 # Номер таблицы в ipfw куда будут заносится заблокированные IP

# Эти две переменные нужно заремить если используете вариант с таблицами
#IPFW_RULE_START
#IPFW_RULE_END
# Это тоже можно за комментировать если используете ipfw, а не pf
#PFCTL_CMD
#PF_TABLE

в /etc/syslog.conf добавляем следующую строчку
после:
auth.info;authpriv.info /var/log/auth.log
добавляем:
auth.info;authpriv.info |exec /usr/local/sbin/sshit

Перестартовываем syslogd
# sh /etc/rc.d/syslogd restart

В rc.local добавляем строчку:
/sbin/ipfw add 150 deny ip from ‘table(2)’ to any
дабы правило автоматически создавалось при перезагрузки сервера
и применяем это же правило

На этом настройка закончена.

sshit не единственный способ защиты. В статье «Защита от подбора паролей по ssh часть 2» рассказывается как можно сделать то же
самое при помощи bruteblock