APF (Advanced Policy Firewall)

Достаточно известный firewall под названием APF (Advanced Policy Firewall)
APF - надстройка над iptables и распространяется по лицензии GNU GENERAL PUBLIC LICENSE.
Уверенно работает на следующих ОС:
Redhat Enterprise AS/ES 2+
CentOS Any
Fedora Core Any
Slackware 8.0+
Debian GNU/Linux 3.0+
Suse Linux 8.1+
Unbuntu Any
TurboLinux Server 9+
TurboLinux Fuji (Desktop)
RedHat Linux 7.3,8,9

APF достаточно прост в установке и использовании.
Итак:

# wget http://www.r-fx.ca/downloads/apf-current.tar.gz
# tar -xvf ./apf-current.tar.gz
# cd apf-9.6-5
# ./install.sh
Installing APF 9.6-5: Completed.

Installation Details:
Install path: /etc/apf/
Config path: /etc/apf/conf.apf
Executable path: /usr/local/sbin/apf

Далее, в конфигурационном файле /etc/apf/apf.conf необходимо сделать некоторые правки.
Каждый параметр в конфигурационном файле достаточно подробно расписан и разобраться за что он отвечает, думаю, не составит особого труда.
Некоторые моменты:
DEVEL_MODE="1"
включается для проверки работоспособности фаирвола. Если все настроено правильно, данный параметр нужно установить в "0", иначе фаирвол будет остановлен через 5 минут после старта.

Описываем входящие порты:
IG_TCP_CPORTS="20,21,25,53,80,110,143,443,587,2222,465,993,995"
# 2222 - для панели directAdmin
# 587 - дополнительный smtp порт для exim-a

Описываем исходящие порты:
EG_TCP_CPORTS="21,25,80,443,43,35000_35999"
# 35000_35999 порты для работы proftpd в пассивном режиме
# эти порты должны соответствовать тем, которые указаны в настройках proftpd

Старт:
apf -s
Остановка:
apf -f
Блокировать определённый IP адрес:
apf -d 123.123.123.123 comments
Разблокировать определённый IP адрес:
apf -u 123.123.123.123

Более подробно о командах и конфигурации описано в файле: /etc/apf/doc.README.apf

Довольно часто AFP используют совместно с BFD (Brute Force Detection)
BFD - это shell-скрипт, который сканирует логи (apache, sshd, ftp) на предмет несанкционированного доступа, подбора паролей и т.д. и при превышении заданных значений - блокирует IP с помощью APF.
Подробнее в README на сайте.

...... продолжение следует....