пятница, 26 сентября 2008 г.

Установка APF на сервера с панелью управления cPanel/WHM

В этой статье расскажу об установке APF фаервола на сервера под управлением Linux (тестировал на RHEL 4/5, cPanel), с панелью управления cPanel/WHM.

Довольно таки интересный продукт от RfxNetWorks.

APF (от англ. Advanced Policy Firewall) - продвинутый фаервол политик (брендмауер), основан на политиках разрешения и запрета на базе iptables(netfilter).


[ad#ad-5]

Официальный сайт - rfxnetworks.com

Документация - http://www.rfxnetworks.com/appdocs/README.apf

История версий - http://www.rfxnetworks.com/appdocs/CHANGELOG.apf

Итак, приступим к установке и настройке. Повторюсь, что настройки сделаны для серверов с панелью управления cPanel / WHM (web host manager). Для остальных серверов, просто заменить разрешённые порты в конфиге APF.

Переходим в директорию для исходников, чтоб не засорять систему, а чтоб все было на своих местах (привыкаем к порядку в системе) :) :

cd /usr/src

Качаем последнюю версию APF:

wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz

Распаковуем скачанный архив:

tar -xvzf apf-current.tar.gz

Входим в распакованную директорию (вставить ветку скаченного релиза):

cd apf-версия

Собственно запускаем установщик:

./install.sh

Закончилась установка. Заходим в конфигурационный файл APF (т.е. конфиг :))

vi /etc/apf/conf.apf

Ищем:
USE_DS="0"

Заменяем на: USE_DS="1"

Сравниваем конфиг с кодом ниже:

Common ingress (inbound) ports
# Common ingress (inbound) TCP ports -3000_3500 = passive port range for Pure FTPD
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2082,2083, 2086,2087, 2095, 2096,3000_3500"
#
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="53"

Common egress (outbound) ports
# Egress filtering [0 = Disabled / 1 = Enabled]
EGF="1"

# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,25,80,443,43,2089"
#
# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53"


Нашел в инете конфиг для Ensim серверов (не тестировал):


Common ingress (inbound) ports
# Common ingress (inbound) TCP ports
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,19638"
#
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="53"

Common egress (outbound) ports
# Egress filtering [0 = Disabled / 1 = Enabled]
EGF="1"

# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,25,80,443,43"
#
# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53"


[ad#ad-5]

Итак, пробуем запустить APF со следующим ключом:

/usr/local/sbin/apf -s

если все в порядке (не вывело ошибок вида ERROR, WARNING), тогда снова правим конфиг и переводим APF в боевой режим:

vi /etc/apf/conf.apf

Находим: DEVM="1"
Меняем на: DEVM="0"

Это мы выключили демо-режим, т.е. когда фаервол работает, но ничего не блокирует. Т.е. "Режим отладки".

Также есть полезная функция в APF, это отправка сообщений администратору при Дос атаках.

Заходим в конфиг conf.antidos

vi /etc/apf/ad/conf.antidos

Вот его содержание:

# [E-Mail Alerts]

# Имя организации, которое вставляется в поле "от кого"
CONAME="valroot.com"

# Отправлять ли пользователям сообщения об атаке [0=выкл.,1=вкл.]
USR_ALERT="1"

# Почтовый адрес, на который будут идти сообщения об атаке
USR="val@valroot.com"


Сохранить изменения!

[ad#ad-5]

Перезагрузим APF:

/usr/local/sbin/apf -r


Просмотр логов:

tail -f /var/log/apf_log

например:

Aug 23 01:25:55 ocean apf(31448): (insert) deny all to/from 185.14.422.123
Aug 23 01:39:43 ocean apf(32172): (insert) allow all to/from 185.14.422.1


значит, что все в порядке!

Теперь нам нужно сделать автозагрузку APF при старте системы:

chkconfig --level 2345 apf on

Как же блокировать и разрешать входящие и исходящие соединения?

Блокирование ИП:

apf -d 185.14.422.1 TESTING, где:

-d : команда моментального блокирование IP-адреса

185.14.422.1: IP-адрес, который нужно заблокировать

TESTING: комментарий к блокировке, например: Hacker

Разрешить ИП:

apf -a 185.14.422.1, где:

-a: команда моментального блокирование IP-адреса

185.14.422.1: IP-адреса, который нужно заблокировать

Комментариев нет:

Отправить комментарий