пятница, августа 14, 2009

Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF

Источник http://www.opennet.ru/tips/info/2140.shtml

Борьба с перебором паролей на FTP сервере при помощи пакетного фильтра PF

Для предотвращения bruteforce-атак по подбору паролей во FreeBSD или OpenBSD можно использовать
возможность пакетного фильтра PF по лимитированию числа соединений за единицу времени в сочетании с блокировкой по таблицам.

Добавляем в /etc/pf.conf

# Подключаем ранее составленный список заблокированных за излишнее число коннектов IP
table <ftp-attacks> persist file "/etc/pf.ftp.block.list"

# Блокируем все входящие соединения с IP, которые присутствуют в черном списке
block in quick on $ext_if from <ftp-attacks>

# Выявляем IP с которых было более 5 обращений за 40 секунд
# и добавляем этот IP в ранее созданную таблицу блокировки
pass in quick on $ext_if inet proto tcp from any to ($ext_if) port 21 keep state (max-src-conn-rate 5/40, overload flush global)

Перечитываем конфигурацию PF:
/etc/rc.d/pf reload
или
/sbin/pfctl -f /etc/pf.conf

Далее, чтобы сохранить созданную таблицу блокировки между перезагрузками, необходимо добавить
в /etc/rc.shutdown код для сброса в файл состояния таблицы перед завершением работы:
/sbin/pfctl -t ftp-attacks -T show > /etc/pf.ftp.block.list

Для удаления определенного IP (например, 192.168.1.1) из таблицы:
/sbin/pfctl -t ftp-attacks -T delete 192.168.1.1

Для добавления IP или подсети вручную:
/sbin/pfctl -t ftp-attacks -T add 192.168.1.1
/sbin/pfctl -t ftp-attacks -T add 192.168.1.0/24

Для полной очистки таблицы
/sbin/pfctl -t ftp-attacks -T flush

Для загрузки таблицы из файла:
/sbin/pfctl -t ftp-attacks -T replace -f /etc/pf.ftp.block.list

Для поиска IP в таблице
/sbin/pfctl -t ftp-attacks -T test 192.168.1.1

Для вывода более подробной статистики по каждому из IP в таблице:
/sbin/pfctl -t ftp-attacks -T show -v

Для очистки счетчиков срабатываний:
/sbin/pfctl -t ftp-attacks -T zero

1 комментарий:

Анонимный комментирует...

при перепечатке ошибка допущена, не указана таблица ftp-attacks