Sshguard/ru

sshguard — это система предотвращения вторжений, которая разбирает логи сервера, определяет подозрительную активность и затем использует системный межсетевой экран, чтобы блокировать IP-адреса злонамеренных подключений. sshguard написан на C, поэтому он не нагружает систему.

Как это работает
sshguard является простой службой, которая постоянно отслеживает изменения в одном или нескольких файлах лога. Она разбирает события, которые демоны посылают в случае неудавшихся попыток входа в систему, а затем, с помощью обновлений правил межсетевого экрана, блокирует любые дальнейшие попытки от данных подключений.

Несмотря на название, sshguard разбирает не только логи SSH. Он также поддерживает многие почтовые системы, а также некоторые системы FTP. Полный список поддерживаемых устройств можно найти на сайте программы.

Emerge
Установите :

Также удостоверьтесь, что пакет установлен и используется в качестве системного межсетевого экрана. Во время написания данной статьи, sshguard еще не поддерживал.

Более детальная информация по использованию и настройке IPtable может быть найдена в соответствующей статье.

Подготовка межсетевого экрана
When sshguard blocks any malicious users (by blocking their IP addresses), it will use the chain.

Подготовьте цепочку и удостоверьтесь, что она вызывается при обнаружении новых входящих соединений:

Просмотр лог-файлов
Основная идея sshguard в том, что администратор указывает приложению отслеживаемые файлы логов через параметры командной строки. Как такового файла конфигурации для sshguard не существует.

В Gentoo параметры лучше всего определять в файле :

Убедитесь в том, что файлы логов доступны пользователю, от имени которого работает sshguard.

OpenRC
Чтобы sshguard запускался при старте системы, добавьте его в уровень запуска default, после чего запустите его:

Занесение хостов в черный список (blacklist)
Когда используется черный список, после серии неудачных попыток IP-адрес атакующего будет заблокирован перманентно. Черный список подгружается после каждой загрузки, а также будет расширятся новыми записями в процессе работы. добавляет туда новые адреса, после превышения порога "злоупотребления".

Адреса из черного списка никогда не выходят из него (не разрешаются) снова.

Опция командной строки  включает использование черного списка и требует указать имя файла, который будет использоваться для хранения заблокированных адресов. Порог "злонамерения" настраивается в этой же опции. Он указывается перед именем файла и разделяется от него.

Чтобы задействовать черный список, создайте соответствующий каталог и файл:

Добавьте файл blacklist в конфигурацию и измените переменную SSHGUARD_OPTS :

Перезапустите, чтобы изменения вступили в силу:

File '/var/log/auth.log' vanished while adding!
При запуске, sshguard показывает следующую ошибку:

Такая ошибка (путь до файл может быть различным) происходит, когда целевой файл не доступен в системе. Убедитесь, что он создан, или измените конфигурацию sshguard так, чтобы не следить за этим файлом.

На системах с OpenRC и syslog-ng, следующего дополнения к может хватить:

Перезагрузите конфигурацию, чтобы изменения вступили в силу:

Смотрите также

 * Iptables, информация по установке и настройке в Gentoo

Ссылки
Документация по sshguard дает всю необходимую информацию для дальнейшей настройки приложения.