28 Jun 2017 
Тех. и админ поддержка » База знаний » Установка APF (Advanced Policy Firewall) на выделенный сервер
 Установка APF (Advanced Policy Firewall) на выделенный сервер
Решение Страница разработчиков APF (Advanced Policy Firewall) находится по адресу http://rfxnetworks.com/apf.php . Топаем туды и тянем свежую версию пакета:
cd /usr/src
wget http://www.r-fx.ca/downloads/apf-current.tar.gz
tar zxvf apf-current.tar.gz

Переходим в папку apf-0.9.6-1 и запускаем инсталляцию скрипта:
cd apf-0.9.6-1
./install.sh

Теперь переходим в директорию /etc/apf/ и открываем на редактирование файл conf.apf
cd /etc/apf
vi conf.apf
Ищем строку
# Common ingress (inbound) TCP ports
IG_TCP_CPORTS=”22″
Здесь нужно перечислить все входящие TCP порты, которые должны быть открыты для доступа из сети. Как правило, для выделенного сревера достаточно таких правил:
IG_TCP_CPORTS=”20,21,22,25,53,80,443,110,143″

Дальше ищем:
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS=”53,1194″
Здесь прописываем входящие UDP порты. В нашем случае - разрешаем порт ДНС и порт OpenVPN.

Далее обратите внимание на строки:
# Egress filtering [0 = Disabled / 1 = Enabled]
EGF=”0″
Это значит что фильтр на исходящие TCP и UDP пакеты по умолчанию отключен. В общем-то, можно оставить все как есть и на этом закончить правку, а можно исправить EGF=”0″ на EGF=”1″ и продолжить:
# Common egress (outbound) TCP ports
EG_TCP_CPORTS=”22″
Меняем на:
EG_TCP_CPORTS=”21,22,25,53,80,443,110,143″
Это у нас разрешенные исходящие порты TCP.

# Common egress (outbound) UDP ports
EG_UDP_CPORTS=”20,21,53,1194″ - исходящие UDP порты.

Все остальное оставляем так, как было. Сохраняем.

Теперь пара слов о других файлах в каталоге /etc/apf.
postroute.rules В нем можно прописать правила пакетного фильтра для цепочки POSTROUTE.
Например,
deny_hosts.rules - в этот файл можно вставить ip адреса - которые нам надо забанить.
allow_hosts.rules - тут безусловно разрешаем определенные ip адреса. Например, тот ip от которого мы заходим на сервер.
Ну, и так далее по аналогии. Вообще-то сам файл conf.apf очень грамотно документирован и в нем все это описано.

Запускаем наш скрипт.
service apf start и в течение пяти минут проверяем, как что работает. Если доступ к серверу потерян, либо произошли еще какие-нибудь неполадки связанные с файрволом, то отчаиваться не обязательно. Дело в том, что если в нашем конфигурационном файле прописана строка
DEVEL_MODE=”1″ (а она по умолчанию прописана именно так), то это значит, что скрипт отключится через пять минут, и мы вновь вернемся к состоянию сервера без файрвола.
Таким образом, когда мы проверим работоспособность файрвола, то строку DEVEL_MODE=”1″ нужно подредактировать в
DEVEL_MODE=”0″. Сохраняемся и перезапускаем наш скрипт:
service apf restart

Вот и все. Теперь выделенный сервер более защищен от посягательств.

P.S. Пару слов о файлах allow_hosts.rules и deny_hosts.rules. В эти файлы можно добавлять не только ip адреса, но и конструкции вида:

# proto:flow:[s/d]=port:[s/d]=ip(/mask)
где s - ip адрес(порт) источника , d - ip адрес (порт) приемника , flow - направление входящий/исходящий
Например, если нам нужно разрешить все входящие tcp пакеты, которые идут на порт 22 нашего сервера и имеют адрес приемника 192.168.2.1 то пишем:
tcp:in:d=22:s=192.168.2.1
Или например:
Разрешить все исходящие на порт 23 и на адрес 192.168.2.1
out:d=23:d=192.168.2.1
Или разрешить все входящие (если не указано in или out то используется in)пакеты которые приходят на порт 3306 из подсети 192.168.5.0/24.
d=3306:s=192.168.5.0/24


Подробности статьи
Cтатья №:90
Создано:31 May 2009 06:46 PM

 Этот ответ мне помог  Этот ответ мне не помог

 Назад
 Войти [Пароль утерян] 
Электронная почта:
Пароль:
Запомнить меня:
 
 Поиск
 Опции статьи
Главная | Регистрация | Отправить тикет | База знаний | Новости | Загрузки
Язык:

Support Service Ruskyhost.ru © 2004-2013