Читаем Linux-сервер своими руками полностью

ipchains –A inet-net2 –p tcp –d 192.168.2.98 smtp –j ACCEPT

ipchains –A inet-net2 –p udp –d 192.168.2.99 domain –j ACCEPT

ipchains –A inet-net2 –p tcp –d 192.168.2.99 domain –j ACCEPT

ipchains –A inet-net2 –p tcp –d 192.168.2.97 www –j ACCEPT

ipchains –A inet-net2 –p icmp –j icmp ipchains –A inet-net2 –j DENY

Далее задаем правила цепочки net1-inet. Пользователи внутренней сети могут получать доступ к сервисам WWW, FTP внешней сети, использовать traceroute во внешнюю сеть. Нужно разрешить доступ к почтовому серверу, серверу имен, Web-серверу. Модуль masq обеспечит пассивный доступ к серверу FTP. Возможные нарушения будут регистрироваться. Пользователи внутренней сети также смогут использовать программу ssh для доступа к внешним узлам, и программу ping.

ipchains –A net1-inet –p tcp www –j MASQ

ipchains –A net1-inet –p tcp ssh –j MASQ

ipchains –A net1-inet –p udp –dport 33434:33500 –j MASQ

ipchains –A net1-inet –p tcp –dport ftp –j MASQ

ipchains -A net1-inet -p icmp -icmp-type ping -j MASQ

ipchains -A net1-inet -j REJECT -l

Сейчас займемся определением правил для цепочки net2-net1. Пользователи могут получать доступ к серверам Web, SMTP, DNS, POPS. Как и для предыдущего случая, мы будем использовать модуль masq для пассивного режима работы FTP-сервера и будем регистрировать нарушения. Правила для этой цепочки будут таковыми:

ipchains -A net2-net1 -р tcp i -y -s 192.84.219.128 smtp -j ACCEPT

ipchains -A net2-net1 -р udp -s 192.84.219.129 domain -j ACCEPT

ipchains -A net2-net1 -р tcp i -y -s 192.84.219.129 domain -j ACCEPT

ipchains -A net2-net1 -р tcp i -y -s 192.84.218.130 www -j ACCEPT

ipchains -A net2-net1 -р tcp i -y -s 192.84.218.130 rsync -j ACCEPT

ipchains -A net2-net1 -р icmp -j icmp

ipchains -A net2-inet -j DENY -l

Правила для цепочки net2-inet выглядят так:

ipchains -A net2-inet -p tcp -s 192.84.219.128 smtp -j ACCEPT

ipchains -A net2-inet -p udp -s 192.84.219.129 domain -j ACCEPT

ipchains -A net2-inet -p tcp -s 192.84.219.129 domain -j ACCEPT

ipchains -A net2-inet -p tcp ! -y -s 192.84.218.130 www -j ACCEPT

ipchains –A net2-inet –p icmp

ipchains –A net2-inet –j DENY

Эти правила разрешают отправлять почту во внешнюю сеть, принимать почту из внешней и внутренней сети, получать почту только пользователям внутренней сети. Сервер DNS имеет право посылать запросы во внешнюю сеть, принимать запросы от внутренней и внешней сетей, а также от шлюза. Сервер WWW принимает запросы от пользователей внутренней и внешней сетей. Доступ rsync разрешен пользователям внутренней сети.

Следующая цепочка — это inet-net1. В этом случае мы не разрешаем никакого доступа из внешней сети к машинам внутренней сети.

ipchains –A inet-net1 –j REJECT

Основные правила уже определены, осталось установить правила для цепочки input шлюза. Создадим три цепочки input для каждого возможного адресата:

ipchains –N inet-if

ipchains –N net2-if

ipchains –N net1-if

По первой цепочке будут приходить пакеты от внешней сети, а по второй и третьей — от внутренних сетей. Правила для этих цепочек выглядят так:

ipchains –A input –d 192.84.219.1 –j inet-if

ipchains –A input –d 192.84.219.250 –j net2-if

ipchains –A input –d 192.168.1.250 –j net1-if

Непосредственно для цепочки inet-if определим такие правила:

ipchains –A inet-if –i ! ppp0 –j DENY –1

ipchains –A inet-if –p TCP –dport 61000:65096 –j ACCEPT

ipchains –A inet-if –p UDP –dport 61000:65096 –j accept

Перейти на страницу:

Все книги серии Секреты мастерства

Похожие книги