Городской форум Удомли
http://second.udomlya.ru/forum/YaBB.pl
Hard&Soft >> Свободное ПО >> Firewall
http://second.udomlya.ru/forum/YaBB.pl?num=1145909212

Сообщение написано grumbler 25.04.06 :: 00:06:52

Заголовок: Firewall
Создано grumbler 25.04.06 :: 00:06:52


Vulzscht wrote:
6) немного бы узнать о IPtables  и работе с ним.
Вероятно, все уже так или иначе имели дело с файерволом -- не буду особо заострять внимание на некоторых моментах...
Однако кое-что из азов уточнить хотелось бы, а именно то, как ведёт себя пакетный фильтр в ОС Linux (ipchains, iptables) и *BSD (ipfw) и в чём состоит главное отличие в его поведении от *BSD (IPFilter, pf).
В Linux,  все входящие пакеты попадают в  цепочку INPUT, а исходящие -- в OUTPUT (это утверждение справедливо только для нетранзитных пакетов, то есть предназначенной данной машине).
В *BSD системах -- это in и out.

Отличие в следующем: в Linux (ipchains и iptables) и *BSD (ipfw) прграмма фильтрации вызывается по одному разу для каждого правила фильтрации. Этот единственный раз соответствует первому подходящему для пакета правилу.
То есть если мы укажем несколько правил
Code:
iptables -A INPUT -m stare --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 10.0.0.0/17 -d 10.0.75.5 -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -s 10.0.0.0/17 -d 10.0.75.5 -p tcp -m tcp --dport 21 -j REJECT
iptables -A INPUT -s 10.0.0.0/17 -d 10.0.75.5 -p tcp -m tcp -m multiport --dports 137,139 -j ACCEPT
iptables -A INPUT -j REJECT
iptables -A OUTPUT -j ACCEPT
то третье по счёту правило _никогда_ не будет выполняться!!!
Это обусловлено тем, что для всех пакетов, соответсвующих требованиям:
- исходящий адрес из диапазона 10.0.0.0/17
- адрес назначения 10.0.75.5
- TCP протокол
- порт назначения 21
уже обработаны -- к ним применено ПЕРВОЕ правило, которому они соответствовали. а именно -- ACCEPT!
То есть для Linux (ipchains, iptables) следует правила составлять в порядке от менее значимого к более значимому.
Вследствие обработки лишь первых правил, соответсвующих пакету, повышается производительность файерволов iptables и ipchains в сравнении с IPFilter и pf.

В *BSD системах (FreeBSD с IPFilter и OpenBSD с pf) -- всё с точностью до наоборот!!!
То есть файервол там работает по принципу "консервативного" файервола -- к пакету будет применено ПОСЛЕДНЕЕ правило, которому он будет соответствовать!
То есть, если мы напишем в /etc/pf.conf для OpenBSD
Code:
block in
pass out keep state
pass in on $ext_if proto tcp from 10.0.0.0/17 to 10.0.75.5 port 21 keep state
Всё будет работать правильно (а ведь первым правилом является 'block in' -- блокировать все входящие пакеты) -- доступ на FTP сервер разрешён (и никуда более!). А всё потому, что применяется последнее значимое правило.

Для более детального ознакомления с опциями программы iptables, рекоммендую обратиться к прочтению следующего документа: ftp://10.0.75.5/exch/linux-info/iptables-textbook.tgz


Quote:
FirewallBuilder - это просто графический интерфейс для iptables или я неправ?
Да.

Городской форум Удомли » Powered by YaBB!
YaBB © 2000-2005. All Rights Reserved.