Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #58, ОКТЯБРЬ 2003 г.

Как за каменной стеной!

Докучаев Дмитрий aka Forb

Xakep, номер #058, стр. 058-066-4


# /sbin/iptables -A OUTPUT -m owner --cmd-owner eggdrop -j REJECT

Теперь процесс, содержащий слово eggdrop, не сможет отправлять пакеты в сеть.

Все на маскарад!

Iptables, как и ipchains, умеет организовывать маскарадинг (т.е. заменять локальный IP-адрес на глобальный). С помощью NAT ты можешь пропустить в инет через свой сервер все машины из локальной сети. За NAT'инг отвечает модуль iptables_nat.so. В нем содержатся три цепи: PREROUTING, OUTPUT и POSTROUTING. В POSTROUTING записываются адреса, которым разрешено маскарадиться. Это происходит следующим образом:

# /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.1 -j MASQUERADE

Вообще, для доступа к цепям NAT достаточно добавить к правилу параметр -t со значением nat. Чтобы осуществить редирект с одного порта на другой (допустим, насильно перенаправить пользователя с 80 на 3128 порт текущей машины), следует добавить в цепь PREROUTING следующую запись:

# /sbin/iptables -t nat -A PREROUTING -s 192.168.0.1 -p tcp --destination-port 80 -j REDIRECT --to-port 3128

После такой команды порт назначения 80 будет меняться на 3128, т.е. пользователи будут юзать WWW только через прокси-сервер (естественно, предварительно установленный на машине).

Считаем трафик

Весь трафик, прошедший через машину, фаервол записывает в контейнеры правил. Их можно просмотреть с помощью опции -v (verbose). Iptables покажет количество пакетов и суммарный трафик, обработанный каждым правилом.

Иногда возникает необходимость периодического обнуления контейнеров. Это реализуется командой:

# /sbin/iptables -Z цепь

Где "цепь" - имя цепочки, которую надо обнулить.

Сохраняем настройки

Чтобы корректно сохранить настройки фаервола, необходимо выполнить команду service iptables save. Все правила запишутся в файл /etc/sysconfig/iptables и подгрузятся при следующем запуске компьютера. Если ты сделал что-то неверно, команда service iptables reload загрузит старые правила из этого же файла.

Убедись, что iptables находится в автозапуске. Для этого выполни команду chkconfig --list | grep iptables. Если iptables отобразится, значит, все ок.

Как за каменной стеной!

Подведем итог. Цель достигнута - ты получил достаточно инфы, чтобы грамотно настроить фаервол iptables. Если хочешь продолжить изучение этого брандмауэра, то введи команду man iptables. Руководство на несколько страниц на английском языке опишет тебе все модули, правила и параметры фаервола.

Краткий список параметров iptables

Вот небольшой список базовых опций фаервола, который поможет тебе выполнить то или иное действие:

-P политика цепь - сменить политику указанной цепи.

-N цепь - создать новую пользовательскую цепочку.

-D цепь [правило] - удалить всю цепь или определенное правило в ней.

--line-numbers - посмотреть номера правил в цепи.

-n - не преобразовывать IP-адреса в хосты.

-L [цепь] - просмотреть правила в указанной цепи.

-F [цепь] - удалить все правила в цепи либо очистить все цепочки.

О классификации брандмауэров можно говорить часами. Помимо программных, бывают также аппаратные фаерволы - отдельные компьютеры, которые ставятся на входе в защищаемую сеть и имеют свое ПО. Как правило, никаких функций, кроме фильтрации данных, такие железяки не выполняют.

Назад на стр. 058-066-3  Содержание