Типичные фильтры iptables

4 мая 2012, 12:00
http://www.rhd.ru/docs/manuals/enterprise/RHEL-4-Manual/security-guide/s1-firewall-ipt-basic.html

Не пустить удалённых злоумышленников в локальную сеть — одна из самых важных задач сетевой безопасности, если не самая важная. Целостность сети должна быть защищена от удалённых злоумышленников с помощью точных правил брандмауэра. Однако, так как политика по умолчанию блокирует все входящие, исходящие и пересылаемые пакеты, брандмауэр/шлюз и пользователи локальной сети не способны установить соединение друг с другом или с внешними ресурсами. Чтобы пользователи выполняли связанные с сетью функции и использовали сетевые приложения, администраторы должны открыть определённые порты.

Например, чтобы разрешить доступ к 80 порту брандмауэра, добавьте следующее правило:iptables -A INPUT -p tcp -m tcp —sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp —dport 80 -j ACCEPT


Это позволит просматривать веб-содержимое сайтов, работающих на порту 80. Чтобы открыть доступ к защищённым веб-сайтам (например, https://www.example.com/), вы также должны открыть порт 443.iptables -A INPUT -p tcp -m tcp —sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp —dport 443 -j ACCEPT

Важно

При добавлении правил iptables важно помнить о том, что их порядок имеет значение. Например, если одно правило отбрасывает все пакеты из локальной подсети 192.168.100.0/24, и добавляется (-A) ещё одно правило, пропускающее пакеты от узла 192.168.100.13 (расположенного в запрещённой локальной подсети), добавленное правило не будет работать. Сначала вы должны добавить правило, пропускающее 192.168.100.13, а затем правило, блокирующее подсеть.

Чтобы вставить правило в произвольное место существующей цепочки, укажите -I, затем название этой цепочки и позицию (1,2,3,...,n), в которой должно располагаться правило. Например:iptables -I INPUT 1 -i lo -p all -j ACCEPT


Это правило, пропускающее трафик устройства замыкания на себя, оказывается в цепочке INPUT первым правилом.


Иногда вам нужно организовывать удалённый доступ к локальной сети снаружи. Для шифрования соединения с удалённой сетью могут использоваться защищённые службы, например, SSH. Администраторы сетей с PPP-ресурами (например, с модемным пулом) могут безопасно организовать модемные подключения в обход барьеров брандмауэра, так как это прямые соединения. Однако для пользователей, подключающихся из открытой внешней сети, следует принять специальные меры. Вы можете разрешить в iptables подключения удалённых клиентов SSH. Например, чтобы разрешить удалённый доступ SSH, можно использовать следующие правила:iptables -A INPUT -p tcp —dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp —sport 22 -j ACCEPT


Вам может понадобиться определять правила и для других служб. За исчерпывающей информацией о службе iptables и её различных параметрах обратитесь к Справочному руководству по Red Hat Enterprise Linux.

Эти правила разрешают входящий и исходящий доступ отдельному компьютеру, например, компьютеру, подключённому к Интернету или шлюзу/брандмауэру. Однако они не позволяют узлам по другую сторону шлюза/брандмауэру обращаться к его службам. Чтобы открыть доступ к этим службам из внутренней сети, вы можете использовать NAT в сочетании с правилами iptables.
Популярное