Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Vadim Guchenko                       2:5020/400     06 Dec 2004  11:45:35
 To : All
 Subject : Правильная настройка ipfw
 -------------------------------------------------------------------------------- 
 
 Hello, All!
 
 Hе сочтите опять за провокацию, но у меня складывается впечатление, что
 пример настройки файрвола в /etc/rc.firewall, который некоторые скорее всего
 используют в качестве эталона для создания собственных правил файрвола,
 написан по принципу "лишь бы сложнее было в нем разобраться". А для этого
 достаточно всего лишь не делить правила на входящие и исходящие. В итоге в
 эху периодически постят сообщения, в которых приводятся жалобы на
 неработоспособность NAT или непрохождение трафика через нужный интерфейс, и
 приводят конфигурацию файрвола, в которую вообще трудно вникнуть с ходу,
 потому что всегда приходится держать в голове, что через одни и те же
 правила будет проходить и входящий трафик, и исходящий. И чем больше правил,
 тем труднее контролировать какое правило сработает только на входящий
 трафик, какое только на исходящий, а какое на оба.
 
 Hа мой взгляд правильным подходом с точки зрения наглядности чтения и
 скорости обработки является отделение правил для входящего и исходящего
 трафика. Пример:
 
 #########################################################################
 ## Разделение трафика в зависимости от направления (нумерация с 100)
 #########################################################################
 
 # Трафик через интерфейс lo0
 $fwcmd add 100 allow ip from any to any via lo0
 
 # Исходящий трафик
 $fwcmd add 200 skipto 30000 ip from any to any out
 
 #########################################################################
 ## Входящий трафик (нумерация с 500)
 #########################################################################
 
 # Съем трафика для статистики
 $fwcmd add 500 divert 18000 ip from any to any recv $iface_inet
 
 # NAT-трансляция входящих пакетов
 $fwcmd add 600 divert 8668 ip from any to %ip.nat recv $iface_inet
 
 ##-----------------------------------------------------------------------
 ## Антиспуфинг (нумерация с 1000)
 ##-----------------------------------------------------------------------
 
 # Интерфейс Интернета
 $fwcmd add 1000 deny log ip from %group.internal to any recv $iface_inet
 
 ##-----------------------------------------------------------------------
 ## Разделение трафика в зависимости от получателя пакета (нумерация с 5000)
 ##-----------------------------------------------------------------------
 
 # Трафик, адресованный серверу
 $fwcmd add 5000 skipto 10000 ip from any to me
 
 # Броадкасты
 $fwcmd add 5100 skipto 20000 ip from any to 255.255.255.255
 
 # Мультикасты
 $fwcmd add 5200 skipto 25000 ip from any to 224.0.0.0/4
 
 ##-----------------------------------------------------------------------
 ## Трафик, идущий транзитом (нумерация с 6000)
 ##-----------------------------------------------------------------------
 
 # Запрещаем трафик на закрытые адреса магистрали
 $fwcmd add 6000 deny log ip from any to %group.backbone_private
 
 # Шейпинг трафика
 $fwcmd add 6100 pipe 1 ip from any to %group.shaping recv $iface_gvard
 $fwcmd add 6200 pipe 2 ip from any to %group.shaping recv $iface_schorsa
 
 # Разрешаем остальной трафик
 $fwcmd add 6300 allow ip from any to any
 
 ##-----------------------------------------------------------------------
 ## Трафик, адресованный серверу (нумерация с 10000)
 ##-----------------------------------------------------------------------
 
 # Разрешаем установленные TCP-соединения
 $fwcmd add 10000 allow tcp from any to any established
 
 # Разрешаем фрагменты IP-пакетов
 $fwcmd add 10100 allow ip from any to any frag
 
 # Разрешаем пакеты, удовлетворяющие динамическим правилам
 $fwcmd add 10200 check-state
 
 # Разрешаем OSPF-пакеты
 $fwcmd add 10300 allow ospf from %group.backbone to any
 
 # Разрешаем GRE-пакеты
 $fwcmd add 10400 allow gre from any to any
 
 ##-----------------------------------------------------------------------
 ## Службы сервера (нумерация с 12000)
 ##-----------------------------------------------------------------------
 
 # SSH
 $fwcmd add 12000 deny tcp from %deny.ssh to %ip.ssh 22
 $fwcmd add 12100 allow tcp from %allow.ssh to %ip.ssh 22
 
 ##-----------------------------------------------------------------------
 ## Завершающие правила для трафика, адресованного серверу (нумерация с
 18000)
 ##-----------------------------------------------------------------------
 
 # Разрешаем ICMP-пакеты
 $fwcmd add 18000 allow icmp from any to any
 
 # Разрешаем работу traceroute
 $fwcmd add 18100 unreach port udp from any to any 33434-33584
 
 # Запрещаем соединения на 113 порт (ident)
 $fwcmd add 18200 reset tcp from any to any 113
 
 # Запрещаем соединения на 1080 порт (socks check)
 $fwcmd add 18300 reset tcp from any to any 1080
 
 # Запрещаем остальной трафик
 $fwcmd add 18400 deny log ip from any to any
 
 ##-----------------------------------------------------------------------
 ## Броадкасты (нумерация с 20000)
 ##-----------------------------------------------------------------------
 
 # Разрешаем SNMP trap'ы от ИБП
 $fwcmd add 20000 allow udp from %group.backbone to any 162
 
 # Запрещаем остальной трафик
 $fwcmd add 20100 deny log ip from any to any
 
 ##-----------------------------------------------------------------------
 ## Мультикасты (нумерация с 25000)
 ##-----------------------------------------------------------------------
 
 # Разрешаем OSPF-пакеты
 $fwcmd add 25000 allow ospf from %group.backbone to { 224.0.0.5 or
 224.0.0.6 }
 
 # Запрещаем остальной трафик
 $fwcmd add 25100 deny log ip from any to any
 
 #########################################################################
 ## Исходящий трафик (нумерация с 30000)
 #########################################################################
 
 # Запрещаем отправку пакетов, предназначенных для внутрисетевых адресов,
 # на шлюз по умолчанию
 $fwcmd add 30000 deny ip from any to %group.internal xmit $iface_inet
 
 # Запрещаем отправку в Интернет пакетов Netbios
 $fwcmd add 30100 deny tcp from any to any 135,139,445 xmit $iface_inet
 
 # Запрещаем отправку пакетов в Интернет для клиентов, которые отключены
 # от Интернета
 $fwcmd add 30200 skipto 30400 ip from %allow.internet to any xmit
 $iface_inet
 $fwcmd add 30300 deny ip from any to any xmit $iface_inet
 
 # Съем трафика для статистики
 $fwcmd add 30400 divert 18001 ip from any to any xmit $iface_inet
 
 # NAT-трансляция исходящих пакетов
 $fwcmd add 30500 divert 8668 ip from 192.168.0.0/16 to any xmit $iface_inet
 $fwcmd add 30600 allow ip from %ip.nat to any xmit $iface_inet
 
 # Динамическое правило для доступа с данного сервера к внешним службам по
 UDP
 $fwcmd add 30700 allow udp from me to any keep-state
 
 # Шейпинг трафика
 $fwcmd add 30800 pipe 1 ip from %group.shaping to any xmit $iface_gvard
 $fwcmd add 30900 pipe 2 ip from %group.shaping to any xmit $iface_schorsa
 
 ##-----------------------------------------------------------------------
 ## Аккаунтинг трафика (нумерация с 40000)
 ##-----------------------------------------------------------------------
 
 # Трафик Интернета
 $fwcmd add 40000 skipto 40200 ip from %group.internal to %group.accounting
 $fwcmd add 40100 divert 17000 ip from any to %group.accounting
 Правило по умолчанию: allow ip from any to any.
 
 Т.е. принцип такой: весь трафик делим на входящий и исходящий (и отдельно
 через lo0). Входящий трафик делим на транзитный, адресованный серверу,
 броадкасты и мультикасты. И обрабатываем каждый блок отдельно.
 With best regards, Vadim Guchenko.  E-mail: s0lver@kraslan.ru
 
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Правильная настройка ipfw   Vadim Guchenko   06 Dec 2004 11:45:35 
 Правильная настройка ipfw   Makc Surkiz   06 Dec 2004 16:16:40 
 Re: Правильная настройка ipfw   Vadim Guchenko   06 Dec 2004 16:35:41 
 Правильная настройка ipfw   Vladimir Fisechko   06 Dec 2004 19:30:23 
 Re: Правильная настройка ipfw   Alexey A. Ukhov   08 Dec 2004 08:47:33 
 Re: Правильная настройка ipfw   Vadim Guchenko   08 Dec 2004 09:07:56 
Архивное /ru.unix.bsd/917916ef483e.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional