Sshguard/ru

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

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

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

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

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

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

Подготовка межсетевого экрана
Когда блокирует какого-либо злонамеренного пользователя (блокируя его IP-адрес), он будет использовать цепочку.

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

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

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

FILES="/var/log/messages /var/log/auth.log"
 * 1) Space-separated list of log files to monitor. (optional, no default)

THRESHOLD=10 BLOCKTIME=60480 DETECTION_TIME=60480
 * 1) How many problematic attempts trigger a block
 * 1) Blocks last at least 24 hours (60480 seconds)
 * 1) Track IP addresses for 24 hours (60480 seconds)

IPV6_SUBNET=64 IPV4_SUBNET=24
 * 1) IPv6 subnet size to block. Defaults to a single address, CIDR notation. (optional, default to 128)
 * 1) IPv4 subnet size to block. Defaults to a single address, CIDR notation. (optional, default to 32)

PID_FILE=/run/sshguard.pid }}
 * 1) Full path to PID file (optional, no default)

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

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

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

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

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

While defining a blacklist it is important to exclude trusted IP networks and hosts in a whitelist.

To enable whitelisting, create an appropriate directory and file:

The whitelist has to include the loopback interface, and should have at least 1 IP trusted network f.e. 192.0.2.0/24.

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

THRESHOLD=10 BLOCK_TIME=43200 DETECTION_TIME=604800

IPV4_SUBNET=24 IPV6_SUBNET=64

PID_FILE=/run/sshguard.pid

BLACKLIST_FILE=10:/var/lib/sshguard/blacklist.db WHITELIST_FILE=/etc/sshguard/whitelist }}
 * 1) Add following lines

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

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

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

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

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

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

 * Iptables — статья об установке и настройке в Gentoo

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