Книга: Linux-сервер своими руками

17.1.3. Конфигурирование IpChains

17.1.3. Конфигурирование IpChains

Теперь приступим к настройке IPChains. Создайте цепочку, через которую пойдет весь трафик от провайдера:

ipchains –N prov
ipchains –A input –i eth0 –j prov

Запретите ip-spoofing:

ipchains –A prov –s 192.168.1.1/16 –1 –j DENY
ipchains –A prov –s 127.0.0.1/8 –1 –j

DENY Запретите Telnet снаружи:

ipchains –A prov –p tcp –destination-port 23 –j REJECT

Если вы не хотите, чтобы samba «светилась» наружу, запретите порты 137-139:

ipchains –A prov –p tcp –destination-port 137 –j REJECT
ipchains –A prov –p udp –destination-port 137 –j REJECT

To же самое проделайте для портов 138 и 129.

О настройке samba вы можете прочитать в Samba-HOWTO.

Создайте цепочку для подсчета трафика:

ipchains –N trafin
ipchains –I input –i eth0 –s ! 123.123.123.0/24 –p all –j trafin
ipchains –A trafin –d 123.123.123.123

Для того, чтобы ваши правила были постоянными (при перезагрузке машины правила IpChains теряются), используйте скрипты ipchains-save и ipchains-restore. Настройте свои правила, а затем выполните команду:

# ipchains-save > /etc/ipchains.rules

Далее создайте скрипт, подобный тому, что приведен в листинге 17.1.

Листинг 17.1. Скрипт управления пакетной фильтрацией

#!/bin/sh
# Скрипт управления пакетной фильтрацией.
# Если правил нет, то ничего не делать.
[-f /etc/ipchains. rules] || exit 0
case "$1" in
start)
 echo –n "Включение пакетной фильтрации:"
 /sbin/ipchains-restore </etc/ipchains.rules || exit 1
 echo 1 > /proc/sys/net/ipv4/ip_forward
 echo "." ;;
stop)
 echo –n "Отключение пакетной фильтрации:"
 echo 0 >/proc/sys/net/ipv4/ip_forward
 /sbin/ipchains –X
 /sbin/ipchains –F
 /sbin/ipchains –P input ACCEPT
 /sbin/ipchains –P output ACCEPT
 /sbin/ipchains –P forward ACCEPT
 echo "." ;;
*)
 echo "Использование: /etc/init.d/packetfilter {start|stop}"
 exit 1 ;;
esac
exit 0

Этот скрипт добавьте в сценарии загрузки системы.

Оглавление книги


Генерация: 1.632. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз