The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Пример структурирования правил ipfw
Пример структурирования правил фильтра пакетов ipfw во FreeBSD 
с целью упрощения их восприятия и уменьшения  вероятности допущения ошибок.

Исторически так сложилось, что правила файрвола в rc.firewall написаны в плохом
и труднопонимаемом стиле:
входящие и исходящие пакеты проходят один и тот же набор правил. 
Многие используют этот скрипт как образец для написания собственного набора правил и
наступают на одни и те же грабли. Как минимум, с натом. На самом деле ipfw очень удобен, 
если писать список правил как некую программу - с разбиением на мелкие подпрограммы (блоки) 
и добавлением комментариев. При этом надо руководствоваться рядом
соглашений:


1. Весь трафик первым делом делится на входящий и исходящий. 
Каждый вид трафика обрабатывается в отдельном блоке. 
В качестве еще одного блока можно выделить трафик через интерфейс lo0. 
Слова in и out после первоначального разделения трафика не
используются.


2. Входящий трафик делится на а) трафик, адресованный данному серверу; 
б) броадкасты; в) мультикасты; г) трафик, идущий транзитом. Каждый из видов трафика 
обрабатывается в отдельном блоке. Слово me после разделения трафика не используется.


3. Ветвление на блоки происходит по ip-адресам. Имена интерфейсов используются по возможности 
как можно реже и только тогда, когда без них не обойтись. В частности, при написании 
правил антиспуфинга. При использовании имен интерфейсов крайне не
рекомендуется 
использовать слово via. В зависимости от блока (входящий или исходящий трафик) рекомендуется 
использовать слова xmit или recv. Это повышает читабельность.


4. Все строки с правилами нумеруются (там где это допустимо). 
Нумерация строго возрастающая. Рекомендуемый шаг между соседними номерами 100.


5. Блок занимает строго фиксированный диапазон номеров строк ipfw. 
Номер строки, с которой начинается блок, указывается в комментарии в начале этого блока. 
Переход на блок происходит только на его начало. Переход в середину блока недопустим.


6. Блок всегда заканчивается строкой allow ip from any to any или deny ip from any to any. 
Исключение составляет ситуация, когда один блок должен выполняться следом за другим. 
Даже если блок пустой (например, броадкасты или мультикасты не используются),
все равно лучше поместить в него это единственное правило, чем удалять блок целиком. 
Возможно в будущем туда что-нибудь допишется.



Пример я как-то уже приводил несколько лет назад. 
Приведу еще раз для трех разных серверов. Макросы, начинающиеся с %, заменятся
на блоки ip-адресов.
На всех серверах дефолтное 65535 правило: allow ip from any to any.

Правила на центральном роутере/шлюзе в инет:


#!/bin/sh -e

fwcmd="echo"

# Интерфейсы, подключенные к Интернету
xmit_iface_inet="{ xmit fxp1 or xmit fxp2 }"
recv_iface_inet="{ recv fxp1 or recv fxp2 }"

# Ограничение количества ping-пакетов, уходящих на аплинка
$fwcmd pipe 10 config bw 5Kbit/s

######################################################################
## Разделение трафика в зависимости от направления (нумерация с 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 700 divert 8668 ip from any to %ip.nat $recv_iface_inet

##-----------------------------------------------------------------------------
## Антиспуфинг (нумерация с 1000)
##-----------------------------------------------------------------------------

# Интерфейсы Интернета
$fwcmd add 1000 deny log ip from %global.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 %global.backbone.private

# Разрешаем остальной трафик
$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 %global.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

# BGP
$fwcmd add 12200 deny tcp from %deny.bgp to %ip.bgp 179
$fwcmd add 12300 allow tcp from %allow.bgp to %ip.bgp 179

# SNMP
$fwcmd add 12400 allow udp from %allow.snmp to %ip.snmp 161,1161

##-----------------------------------------------------------------------------
## Завершающие правила для трафика, адресованного серверу (нумерация с 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 %global.backbone to any 162

# Разрешаем NTP-пакеты
$fwcmd add 20100 allow udp from %global.backbone to %global.backbone.broadcast 123

# Запрещаем остальной трафик
$fwcmd add 20200 deny log ip from any to any

##-----------------------------------------------------------------------------
## Мультикасты (нумерация с 25000)
##-----------------------------------------------------------------------------

# Разрешаем OSPF-пакеты
$fwcmd add 25000 allow ospf from %global.backbone to 224.0.0.0/24{5,6}

# Разрешаем общие IGMP и DVMRP-пакеты
$fwcmd add 25100 allow igmp from %global.backbone to 224.0.0.0/24{1,2,4}
$fwcmd add 25200 allow igmp from %ip.link.iskranet-gw to 224.0.0.0/24{1,2}

# Разрешаем трафик TVoIP
$fwcmd add 25300 allow ip from %ip.ext.tvoip to 224.2.153.173

# Запрещаем остальной трафик
$fwcmd add 25400 deny log ip from any to any

######################################################################
## Исходящий трафик (нумерация с 30000)
######################################################################
# Запрещаем отправку пакетов, предназначенных для внутрисетевых адресов,
# на шлюз по умолчанию
$fwcmd add 30000 deny ip from any to %global.internal $xmit_iface_inet

# Запрещаем отправку в Интернет пакетов Netbios
$fwcmd add 30100 deny tcp from any to any 135,139,445 $xmit_iface_inet

# Запрещаем отправку пакетов в Интернет для клиентов, которые отключены
# от Интернета
$fwcmd add 30200 skipto 30350 ip from %allow.internet to any $xmit_iface_inet
$fwcmd add 30300 deny ip from any to any $xmit_iface_inet

# Шейпинг ping-пакетов
$fwcmd add 30350 skipto 30400 icmp from %group.ping-shaping to any icmptypes 8 $xmit_iface_inet
$fwcmd add 30351 pipe 10 icmp from any to any icmptypes 8 $xmit_iface_inet

# Съем трафика для статистики
$fwcmd add 30400 divert 18001 ip from any to any $xmit_iface_inet

# NAT-трансляция исходящих пакетов
$fwcmd add 30800 divert 8668 ip from 192.168.0.0/16 to any $xmit_iface_inet
#$fwcmd add 30900 allow ip from %ip.nat to any $xmit_iface_inet

# Направляем пакеты в нужные интерфейсы аплинков в зависимости от их src-адреса
$fwcmd add 31000 fwd %ip.link.krastelecom-gw ip from %ip.link.krastelecom to any $xmit_iface_inet
$fwcmd add 31100 fwd %ip.link.iskranet-gw ip from %ip.link.iskranet to any $xmit_iface_inet

# Динамическое правило для доступа с данного сервера к внешним службам по UDP
$fwcmd add 31200 allow udp from me to any keep-state

##-----------------------------------------------------------------------------
## Аккаунтинг трафика (нумерация с 40000)
##-----------------------------------------------------------------------------

# Трафик Интернета
$fwcmd add 40000 skipto 40200 ip from %global.internal to %group.accounting
$fwcmd add 40100 divert 17000 ip from any to %group.accounting

######################################################################




Правила на сервере доступа:


#!/bin/sh -e

fwcmd="echo"

# Интерфейс, подключенный к клиентскому сегменту
iface_clients=fxp0

# Интерфейсы VPN
iface_vpns=ng*

######################################################################
## Разделение трафика в зависимости от направления (нумерация с 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)
######################################################################
# Открываем доступ к DHCP-серверу с незарегистрированных адресов, запрещаем
# с них любой другой трафик
$fwcmd add 500 allow udp from %clients.unreg to %srv.dhcp 67
$fwcmd add 600 allow udp from %clients.unreg to 255.255.255.255 67
$fwcmd add 700 deny ip from %clients.unreg to any

##-----------------------------------------------------------------------------
## Антиспуфинг (нумерация с 1000)
##-----------------------------------------------------------------------------

# Интерфейс клиентов
$fwcmd add 1000 skipto 5000 ip from 0.0.0.0 to any recv $iface_clients
$fwcmd add 1100 skipto 5000 ip from %clients to any recv $iface_clients
$fwcmd add 1200 deny log ip from any to any recv $iface_clients

# Интерфейсы VPN
$fwcmd add 1300 skipto 5000 ip from %clients to any recv $iface_vpns
$fwcmd add 1400 skipto 5000 ip from any to any verrevpath recv $iface_vpns
$fwcmd add 1500 deny log ip from any to any recv $iface_vpns

##-----------------------------------------------------------------------------
## Разделение трафика в зависимости от получателя пакета (нумерация с 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 20000 ip from any to %global.backbone.broadcast
$fwcmd add 5300 skipto 20000 ip from any to %clients.broadcast

# Мультикасты
$fwcmd add 5400 skipto 25000 ip from any to 224.0.0.0/4

##-----------------------------------------------------------------------------
## Трафик, идущий транзитом (нумерация с 6000)
##-----------------------------------------------------------------------------

# Запрещаем трафик на закрытые адреса магистрали
$fwcmd add 6000 deny log ip from any to %global.backbone.private

# Разрешаем любой трафик, идущий c VPN-адресов клиентов, которым открыт доступ
# к услугам сети, и обратно
$fwcmd add 6100 allow ip from %access.allow to any
$fwcmd add 6200 allow ip from any to %access.allow

# Разрешаем трафик, идущий от клиентов на DNS-резолвер и обратно
$fwcmd add 6300 allow ip from any to %global.srv.resolver
$fwcmd add 6400 allow ip from %global.srv.resolver to any

# Разрешаем трафик, идущий от клиентов на веб-сервер сети и обратно
$fwcmd add 6500 allow ip from any to %global.srv.http
$fwcmd add 6600 allow ip from %global.srv.http to any

# Разрешаем эхо-запросы, идущие на локальные адреса клиентов, и эхо-ответы
# c этих адресов
$fwcmd add 6700 allow icmp from any to %clients icmptypes 8
$fwcmd add 6800 allow icmp from %clients to any icmptypes 0

# Запрещаем остальной трафик
$fwcmd add 6900 deny log 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 %global.backbone to any

# Разрешаем GRE-пакеты
$fwcmd add 10400 allow gre from any to any

##-----------------------------------------------------------------------------
## Службы сервера (нумерация с 12000)
##-----------------------------------------------------------------------------

# SSH
$fwcmd add 12000 allow tcp from %srv.ssh.allow to %srv.ssh 22

# DHCP
$fwcmd add 12100 allow udp from %srv.dhcp.allow to %srv.dhcp 67

# PPTP
$fwcmd add 12200 allow tcp from %srv.pptp.allow to %srv.pptp 1723

# SNMP
$fwcmd add 12300 allow udp from %srv.snmp.allow to %srv.snmp 161,1161

##-----------------------------------------------------------------------------
## Завершающие правила для трафика, адресованного серверу (нумерация с 18000)
##-----------------------------------------------------------------------------

# Разрешаем ICMP-пакеты
$fwcmd add 18000 allow icmp from any to any

# Разрешаем работу traceroute
$fwcmd add 18100 unreach port udp from any to any 33434-33584

# Запрещаем соединения на 80 порт (samba)
$fwcmd add 18200 reset tcp from any to any 80

# Запрещаем соединения на 113 порт (ident)
$fwcmd add 18300 reset tcp from any to any 113

# Запрещаем соединения на 1080 порт (socks check)
$fwcmd add 18400 reset tcp from any to any 1080

# Запрещаем остальной трафик
$fwcmd add 18500 deny log ip from any to any

##-----------------------------------------------------------------------------
## Броадкасты (нумерация с 20000)
##-----------------------------------------------------------------------------

# Разрешаем SNMP trap'ы от ИБП
$fwcmd add 20000 allow udp from %global.backbone to any 162

# Разрешаем NTP-пакеты
$fwcmd add 20100 allow udp from %global.backbone to %global.backbone.broadcast 123

# Разрешаем поиск DHCP-сервера
$fwcmd add 20200 allow udp from %srv.dhcp.allow to any 67

# Запрещаем остальной трафик
$fwcmd add 20300 deny log ip from any to any

##-----------------------------------------------------------------------------
## Мультикасты (нумерация с 25000)
##-----------------------------------------------------------------------------

# Разрешаем OSPF-пакеты
$fwcmd add 25000 allow ospf from %global.backbone to 224.0.0.0/24{5,6}

# Разрешаем общие IGMP и DVMRP-пакеты
$fwcmd add 25100 allow igmp from %global.backbone to 224.0.0.0/24{1,2,4}
$fwcmd add 25200 allow igmp from %clients to 224.0.0.0/24{1,2}

# Разрешаем подписку на группы TVoIP
$fwcmd add 25300 allow igmp from %clients to %global.srv.tvoip.groups

# Разрешаем трафик TVoIP
$fwcmd add 25400 allow ip from %global.srv.tvoip to %global.srv.tvoip.groups

# Запрещаем остальной трафик
$fwcmd add 25500 deny log ip from any to any

######################################################################
## Исходящий трафик (нумерация с 30000)
######################################################################
# Динамическое правило для доступа с данного сервера к внешним службам по UDP
$fwcmd add 30000 allow udp from me to any keep-state

######################################################################





Правила на сервере служб:


#!/bin/sh -e

fwcmd="echo"

######################################################################
## Разделение трафика в зависимости от направления (нумерация с 100)
######################################################################
# Трафик через интерфейс lo0
$fwcmd add 100 allow ip from any to any via lo0

# Исходящий трафик
$fwcmd add 200 skipto 30000 ip from any to any out

######################################################################
## Входящий трафик (нумерация с 1000)
######################################################################
##-----------------------------------------------------------------------------
## Разделение трафика в зависимости от получателя пакета (нумерация с 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 5150 skipto 20000 ip from any to %group.backbone_broadcast

# Мультикасты
$fwcmd add 5200 skipto 25000 ip from any to 224.0.0.0/4

##-----------------------------------------------------------------------------
## Трафик, идущий транзитом (нумерация с 6000)
##-----------------------------------------------------------------------------

# Запрещаем весь трафик
$fwcmd add 6000 deny log ip from any to any

##-----------------------------------------------------------------------------
## Трафик, адресованный серверу (нумерация с 10000)
##-----------------------------------------------------------------------------

# Преобразовываем запросы к DNS-резолверу
$fwcmd add 10000 divert 8669 ip from %allow.resolver_internet to %ip.resolver

# Разрешаем установленные TCP-соединения
$fwcmd add 10100 allow tcp from any to any established

# Разрешаем фрагменты IP-пакетов
$fwcmd add 10200 allow ip from any to any frag

# Разрешаем пакеты, удовлетворяющие динамическим правилам
$fwcmd add 10300 check-state

# Разрешаем OSPF-пакеты
$fwcmd add 10400 allow ospf from %group.backbone 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

# DNS-резолвер
$fwcmd add 12200 deny { tcp or udp } from %deny.resolver to %ip.resolver 53
$fwcmd add 12300 allow { tcp or udp } from %allow.resolver to %ip.resolver 53

# DNS-сервер
$fwcmd add 12400 deny { tcp or udp } from %deny.dns to %ip.dns 53
$fwcmd add 12500 allow { tcp or udp } from %allow.dns to %ip.dns 53

# DNS-кэш
$fwcmd add 12600 deny { tcp or udp } from %deny.dnscache to %ip.dnscache 53
$fwcmd add 12700 allow { tcp or udp } from %allow.dnscache to %ip.dnscache 53

# NTP-сервер
$fwcmd add 12800 deny udp from %deny.ntp to %ip.ntp 123
$fwcmd add 12900 allow udp from %allow.ntp to %ip.ntp 123

# IRC
$fwcmd add 13000 deny tcp from %deny.irc to %ip.irc 6667-6669
$fwcmd add 13100 allow tcp from %allow.irc to %ip.irc 6667-6669
$fwcmd add 13200 deny icmp from any to %ip.irc icmptypes 8

# HTTP
$fwcmd add 13700 deny tcp from %deny.http to %ip.http 80,443
$fwcmd add 13800 allow tcp from %allow.http to %ip.http 80,443

# SMTP
$fwcmd add 13900 deny tcp from %deny.smtp to %ip.smtp 25
$fwcmd add 14000 allow tcp from %allow.smtp to %ip.smtp 25
$fwcmd add 14100 deny tcp from %group.internal to %ip.smtp 25
$fwcmd add 14200 allow tcp from any to %ip.smtp 25

# POP
$fwcmd add 14300 deny tcp from %deny.pop to %ip.pop 110
$fwcmd add 14400 allow tcp from %allow.pop to %ip.pop 110

# SNMP
$fwcmd add 14500 allow udp from %allow.snmp to %ip.snmp 161,1161

##-----------------------------------------------------------------------------
## Завершающие правила для трафика, адресованного серверу (нумерация с 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.0/24{5,6}

# Запрещаем остальной трафик
$fwcmd add 25100 deny log ip from any to any

######################################################################
## Исходящий трафик (нумерация с 30000)
######################################################################
# Преобразовываем ответы DNS-резолвера
$fwcmd add 30000 divert 8669 ip from %ip.dnscache to %allow.resolver_internet

# Динамическое правило для доступа с данного сервера к внешним службам по UDP
$fwcmd add 30100 allow udp from me to any keep-state

##-----------------------------------------------------------------------------
## Аккаунтинг трафика (нумерация с 40000)
##-----------------------------------------------------------------------------

# Трафик почтового сервера (POP)
$fwcmd add 40000 divert 17000 tcp from %ip.pop to %group.accounting 
 
24.07.2007 , Автор: Vadim Guchenko , Источник: http://groups.google.com/group/fido...
Ключи: ipfw, freebsd, firewall
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетный фильтр в FreeBSD: ipfw, IP-Filter

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (-), 12:54, 25/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Четкое следование этим правилам поможет вам написать большой и трудно читаемый свод правил, вместо компактного и эффективно выполняющегося.
     
     
  • 2.2, Аноним (-), 14:12, 25/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    поддерживаю. Не всегда есть гуд раздувать правила. Сами же потом и запутаетесь.
     

  • 1.3, XRay (??), 08:46, 27/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чтобы все было четко, понятно и прозрачно можно просто использовать pf =)
     
     
  • 2.12, Zont (?), 13:02, 28/08/2007 [^] [^^] [^^^] [ответить]  
  • +/
    pf-nat доточи до natd - тогда и пользовать начнём pf.
     

  • 1.4, dravor (ok), 09:25, 27/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ipfw можно настроить не хуже pf в большинстве задач.
    А если дать в руки pf этому человеку, то он и тут "научно" подойдет к вопросу
     
     
  • 2.6, Колян (?), 10:40, 30/07/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А вот бы кто-то толково предоставил конфиг PF было б вообще супер
     

  • 1.5, dimka__ (?), 13:27, 27/07/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    спасибо за статью
     
  • 1.8, LehaRoller (?), 12:11, 07/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Супер!!! :)
    Вот это работа!
     
  • 1.9, gremlin19 (ok), 12:29, 07/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ># NAT-трансляция входящих пакетов
    >$fwcmd add 700 divert 8668 ip from any to # NAT-трансляция входящих пакетов

    $fwcmd add 700 divert 8668 ip from any to %ip.nat $recv_iface_inet $recv_iface_inet
    >
    >##-----------------------------------------------------------------------------
    >## Антиспуфинг (нумерация с 1000)
    >##-----------------------------------------------------------------------------
    >
    ># Интерфейсы Интернета
    >$fwcmd add 1000 deny log ip from %global.internal to any $recv_iface_inet

    Что есть %ip.nat и %global.internal в этих правилах?

     
  • 1.10, Эта пять (?), 15:38, 10/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    # Запрещаем соединения на 80 порт (samba)
     
  • 1.11, GiNeR (?), 23:33, 26/08/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Много красивее использовать для этой задачи что-нибудь вроде hlfl.
     
  • 1.13, greenwar (ok), 15:45, 15/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    там надо бы добавочку внести по-поводу НАТа ДО антиспуфинга во входящем трафе
    если вписать вместо %global.internal такие вещи (их не должно быть на внешнем интерфейсе. если есть, значит атака на сервер с подменой адресов):
    192.168.0.0/16
    0.0.0.0/8
    172.16.0.0/12
    224.0.0.0/4
    240.0.0.0/4
    192.168.0.0/24

    то получим:
    приходит пакет из инета с адресом нашего внешнего интерфейса к васе пупкину, преобразуется за просто так в адрес васи (192.168.15.10 с маской 255.255.255.0), при этом всё ещё остаётся на внешнем интерфейсе. потом делает тук-тук об фаерволл и втыкает в правило deny 192.168.0.0/24 на внешнем интерфейсе. а это, между прочим, адрес нашей локалки.
    в результате вася сидит - балдеет, потому что "не работает", а админ ловит шишки.

    сдаётся мне, правильнее было бы запрет на появление на внешнем интерфейсе входящего трафа с зарезервированными адресами для локалок, ставить ДО НАТа и тогда можно было бы даже адрес родной локалки указать на запрет, потому что её до трансляции там тоже быть не должно во входящем трафе.

     
  • 1.14, greenwar (ok), 15:46, 15/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    правда справедливости ради надо заметить, что человек, скорее всего, и не планировал там адрес локалки ловить (что, вообщем-то, упущение), тогда действительно, сработает с трансляцией ДО
     
  • 1.15, Mariupolets (ok), 19:43, 02/01/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может немного не в тему, но у автора всё так просто с броадкастами. У меня на FreeBSD 6.1 не получается их обрабатывать вообще. Может быть, надо какую-то опцию, где-нить в ядре включить/отключить (может не IPFW виновен), но броадкасты, кроме ARP и DHCP не ходят. Файер их видит, но они никуда больше не попадают. Как, например, форвардить броадкаст-пакеты (ну скажем, NetBIOS) на какой-нибудь порт?

    Ещё лучше было бы, их просто маршрутизировать между подсетями. Кто знает, как это сделать (желательно без бриджинга и туннелинга), подскажите. Заранее благодарен.

    PS:  на ответы типа "эта тема стара как мир и полно ифы", "гугли и всё поймёшь" и т.д., сразу скажу, что так и не нашёл, где роутинг броадкастов описан, так сказать, "под ключ" (и желательно для чайника). Полемику типа "броадкасты нужны или не нужны", думаю тоже разводить не стоит.

     
  • 1.16, agape (?), 12:19, 13/08/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тема active ftp не раскрыта совершенно :(
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру