Комментарии

Галерея

Опрос

Из каких стран идет больше всего спама, попыток взлома на ваши серверы?:

Обзор arno-iptables-firewall. Настройка фаервола через скрипт arno-iptables.

Аватар пользователя maximum
     

В этой статье я хочу познакомить вас с arno-iptables-firewall - это надстройка над всем известным межсетевым экраном iptables, отличается своей простотой в настройке, множеством плагинов и гибкостью конфигурирования, сама настройка собственно говоря производится через debconf. Разрабатывается этот скрипт человеком по имени Arno van Amersfoort аж с лохматых нулевых и изначально предназначался для быстрой настройки DSL/ADSL интернет-соединений. Давайте приступим к установке, замечу, что сейчас мы рассматриваем установку и первоначальную настройку, плюс я попытаюсь рассказать, для чего предназначен каждый из плагинов, который идет в дефолтной установке.
Устанавливаем:

# apt-get install arno-iptables-firewall
 
# dpkg -l | grep arno-iptables
ii  arno-iptables-firewall                     1.8.8.o-2                  all          single- and multi-homed firewall script with DSL/ADSL support

Сразу после установки, перед нами появляется окно debconf с приветствием и вопросом хотим ли мы продолжить настройку с помощью debconf, отвечаем утвердительно “Да”:

Далее скрипт попросит нас перечислить все внешние (external) интерфейсы с которыми мы будем работать, заметьте, если в системе будут присутствовать соединения по протоколу Point-to-Point или проще говоря ppp, то можно указать ppp+:

Следующим шагом мы скажем скрипту какие TCP-порты мы хотим открыть на внешних интерфейсах. Будьте осторожны, если настройка производится удаленно, например через ssh, советую вам на этом этапе настройки указать порт вашего ssh-сервера, чтобы избежать неприятностей с случайным обрывом соединения. Порты указываются через пробел, либо диапазонами, например 1024:1048

И то же самое для UDP:

Далее, этот шаг предназначен для настройки внутренних (internal) интерфейсов, необходимо если система работает как интернет-шлюз, иначе оставляем поле пустым и пропускаем этот шаг

Мы подошли к финальному этапу настройки, настройки arno-iptables-firewall не применяются автоматически, вы можете еще раз проверить правильность настроек в конфигурационных файлах фаервола, которые находятся в /etc/arno-iptables-firewall, если же вы уверены в настройках, то соглашайтесь с применением конфигурации и жмите “YES”, фаервол перзагрузится и начнет работать.

В дальнейшем, если вам понадобится что-то изменить в правилах фаервола, включить плагины или изменить базовые настройки, то для применения настроек необходимо запустить команду:

invoke-rc.d arno-iptables-firewall restart

Для просмотра счетчиков правил, открытых портов, правил для цепочек INPUT/OUTPUT/FORWARD существует команда:
invoke-rc.d arno-iptables-firewall status, это аналог команды iptables -L

Теперь давайте быстро пробежимся по файлам:

# ls -l /etc/arno-iptables-firewall/
total 68
-rw-r--r-- 1 root root   785 2012-12-14 10:51 custom-rules
-rw-r--r-- 1 root root   827 2012-12-05 13:28 debconf.cfg
-rw-r--r-- 1 root root 52010 2012-11-16 09:47 firewall.conf
drwxr-xr-x 2 root root  4096 2010-11-28 20:53 plugins

custom-rules - файл с главными правилами, имеется ввиду, что правила указанные в этом файле не будут меняться время от времени, загружаются автоматически, синтаксис правил такой же как и iptables, например вот содержимое файла с одного из моих серверов:

# Put any custom (iptables) rules here down below:
##################################################
iptables -A FORWARD -i venet0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o venet0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 85.25.***.***

debconf.cfg - в этом файле хранятся все наши базовые настройки, которые мы указывали в debconf
firewall.conf - настройки фаервола, в этом конфиге все замечательно описано в комментариях, настройка всего, логи, размер пакетов, время жизни, форвардинг и т.п.
plugins - директория с плагинами, по умолчанию здесь находятся самые важные, если же нужны еще какие-то, всегда можно найти на сайте разработчика.
Итак, перейдем к описанию плагинов, содержимое директории следующее:

# ls -l /etc/arno-iptables-firewall/plugins/
total 28
-rw-r--r-- 1 root root  582 2007-12-18 07:47 ipv6-over-ipv4.conf
-rw-r--r-- 1 root root  529 2007-10-11 06:17 linuxigd.conf
-rw-r--r-- 1 root root 1261 2008-02-14 07:42 multiroute.conf
-rw-r--r-- 1 root root  787 2007-05-25 22:45 racoon-ipsec-vpn.conf
-rw-r--r-- 1 root root  569 2008-02-13 15:36 sip-voip.conf
-rw-r--r-- 1 root root 1247 2008-02-13 15:51 ssh-brute-force-protection.conf
-rw-r--r-- 1 root root 1021 2007-11-15 10:19 transparent-dnat.conf

Для того, чтобы включить плагин, необходимо в его .conf файле изменить значение ENABLED=0 на 1 и перезапустить фаервол
ipv6-over-ipv4.conf - заварачивает ipv6 трафик через туннель ipv4, служит для поддержки режима работы с версиями межсетевого протокола
linuxigd.conf - UPnP, думаю не нуждается в комментарии, поддержка сетевых протоколов для подключения устройств через сеть
multiroute.conf - обеспечивает поддержку мультироутинга, несколько таблиц маршрутизации, маркировка пакетов и т.д.
racoon-ipsec-vpn.conf - обеспечение связи между хостами средствами IPsec
sip-voip.conf - все просто, телефония, voice over IP
ssh-brute-force-protection.conf - плагин для защиты от брутфорса ssh сервера, можно установить лимиты срабатывания, исключения и т.д.
transparent-dnat.conf - плагин для прозрачного форвардинга пакетов

Вот и все, думаю для ознакомления с arno-iptables данная статья пригодится.

Полезные ссылки:
http://rocky.eld.leidenuniv.nl/joomla/
http://tdkare.ru/sysadmin/index.php/Arno-iptables-firewall
http://www.noah.org/wiki/Iptables