ЖУРНАЛ ХАКЕР

Firewall под Юниксами - настройка и использование

Спецвыпуск Хакера, номер #005, стр. 005-088-4


block in log quick on ppp0 from any to 195.34.1.0/32

block in log quick on ppp0 from any to 195.34.1.255/32

Если после внесения изменений в файл правил IPFilter'a потребуется активировать новые правила, юзай следующую команду: ipf -Fa -f /etc/ipf.rules.

Для полного описания использования и возможностей IPFilter рекомендую тебе прочитать IPF-HowTo на http://www.obfuscation.org/ipf/

IPChains

Chain по-английски значит "цепочка". Этот firewall по умолчанию присутствует в Linux-системах с ядром 2.1.102+ и 2.2.*. Он пришел на смену ipfwadm, который сидит в Линуксах с ядрами серии 2.0.*. В свою очередь, ipfwadm являлся переписанной версией ipfw с FreeBSD.

Для работы IPChains в конфигурации ядра должны быть обязательно отмечены следующие опции:

Networking Options:

-Packet Socket

-Network firewalls

-IP: firewalling

Новые правила в ipchains добавляются из командной строки, но существует возможность сохранения внесенных правил в файл и затем их загрузки при необходимости. Это делается следующим образом:

# ipchains-save > /etc/ipchains.rules

Правила сохранены в файле etc/ipchains.rules. Для того чтобы загрузить их снова - например, после перезагрузки, набери:

# ipchains-restore < /etc/ipchains.rules

В IPChains есть три встроенные цепочки: input (входящие пакеты), ouput (исходящие пакеты) и forward. Я опишу основные опции, используемые для конфигурации ipchains:

-N создание новой цепочки

-X удаление пользовательской цепочки

-P изменение параметров встроенной цепочки

-L вывод списка всех используемых цепочек и правил

-F удаление правил из всех цепочек

-A добавление правила к цепочке

-D удаление заданного правила из цепочки или заданного номера правила

-R замена заданного номера правила в цепочке

-I вставить новое правило в определенную позицию цепочки

-p протокол может быть задан как словом, так и по номеру

-s исходящие адрес пакета и порт

-d адресат пакета и порт

-icmp-type типа ICMP пакета может быть задан как словом, так и номером

-i сетевой интерфейс

-j действие фильтра (ACCEPT, DENY, REDIRECT (порт), MASQ)

-l запись пакета в лог

-y TCP пакеты с флагом SYN

-v вывод детальной информации

Фильтровка по IP-адресам, портам и протоколам

Для фильтровки по адресам используются флаги: -s (исходящие адрес/порты) и -d (адресованные адрес/порты). Чтобы задать любой возможный IP-адрес, используется маска 0/0. Например, запретим все подключения на порт 514 (syslog) по протоколу udp (для задания любого протокола используется слово all):

# ipchains -A input -j DENY -p udp -s 0/0 -d 0/0 514

Или, например, разрешим использование только WWW сервиса из нашей локальной сети:

# ipchains -A output -j DENY -p tcp -s 192.168.0.0/24 -d 0/0 ! www

Фильтровка по интерфейсам

Предположим, что наша машина имеет два сетевых интерфейса: eth0 и eth1. Один смотрит в сторону локальной сети, а другой - в сторону Интернета. Нам требуется запретить ICMP пакеты типа 8, идущие с интерфейса eth1:

Назад на стр. 005-088-3  Содержание  Вперед на стр. 005-088-5