The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Фильтрующий мост в FreeBSD"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Фильтрующий мост в FreeBSD"
Сообщение от Sergey_A emailИскать по авторуВ закладки(ok) on 06-Май-04, 18:25  (MSK)
Господа, как сделать фильтрующий мост в FreeBSD 4.9 с политикой фильтрации "разрешено только то что разрешено" ? Нужно пропускать только TCP и UDP траффик по определённым портам, ICMP, а так же arp запросы. Ничего большне не пропускать.

Собрал ядро с опциями :

options         IPFIREWALL              #firewall
options         IPFIREWALL_VERBOSE      #enable logging to syslogd(8)
options         IPFIREWALL_VERBOSE_LIMIT=100    #limit verbosity
options         IPFW2
options         BRIDGE


В /etc/sysctl.conf добавил строки :

net.link.ether.bridge=1
net.link.ether.bridge_cfg=rl0,rl1
net.link.ether.bridge_ipfw=1

Скрипт Firewall'а выглядит так :

#!/bin/sh
ipfw='/sbin/ipfw -q'

${ipfw} flush
${ipfw} add 100 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 300 allow all from any to any via lo0
${ipfw} add 400 deny ip from any to 127.0.0.0/8
${ipfw} add 500 deny ip from 127.0.0.0/8 to any
${ipfw} add 600 allow icmp from any to any

${ipfw} add 1000 allow tcp from any to any 22   keep-state
${ipfw} add 1050 allow udp from me  to any 53   keep-state
${ipfw} add 1100 allow tcp from any to any 135  keep-state
${ipfw} add 1200 allow tcp from any to any 1234 keep-state
${ipfw} add 1600 allow tcp from any to any 6000 keep-state


Так вот, при таких настройках ничего не даже не пингуется. Всё понятно из-за чего это происходит. Не проходят arp запросы/ответы.

Вычитал, что надо добавить правило

allow udp from 0.0.0.0 2054 to 0.0.0.0

Но это не помогает...

Если последним правилом в скрипте указать "allow all from any to any", то всё работает, но мне нужно строить firewall по принципу "разрешено только то, что разрешено", так что такое правило - не подходит.

Как же построить фильтрующий мост ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Фильтрующий мост в FreeBSD"
Сообщение от Alex emailИскать по авторуВ закладки(??) on 07-Май-04, 06:42  (MSK)
>Господа, как сделать фильтрующий мост в FreeBSD 4.9 с политикой фильтрации "разрешено
>только то что разрешено" ? Нужно пропускать только TCP и UDP
>траффик по определённым портам, ICMP, а так же arp запросы. Ничего
>большне не пропускать.
>
>Собрал ядро с опциями :
>
>options         IPFIREWALL  
>          
>#firewall
>options         IPFIREWALL_VERBOSE  
>   #enable logging to syslogd(8)
>options         IPFIREWALL_VERBOSE_LIMIT=100  
> #limit verbosity
>options         IPFW2
>options         BRIDGE
>
>
>В /etc/sysctl.conf добавил строки :
>
>net.link.ether.bridge=1
>net.link.ether.bridge_cfg=rl0,rl1
>net.link.ether.bridge_ipfw=1
>
>Скрипт Firewall'а выглядит так :
>
>#!/bin/sh
>ipfw='/sbin/ipfw -q'
>
>${ipfw} flush
>${ipfw} add 100 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
^^^^^^^^^^^^^^^^^^^^^^^
ты icmp закрыл... а дальше смотреть она не пойдет...

>${ipfw} add 300 allow all from any to any via lo0
>${ipfw} add 400 deny ip from any to 127.0.0.0/8
>${ipfw} add 500 deny ip from 127.0.0.0/8 to any
>${ipfw} add 600 allow icmp from any to any
>
>${ipfw} add 1000 allow tcp from any to any 22  
>keep-state
>${ipfw} add 1050 allow udp from me  to any 53  
> keep-state
>${ipfw} add 1100 allow tcp from any to any 135  keep-state
>
>${ipfw} add 1200 allow tcp from any to any 1234 keep-state
>${ipfw} add 1600 allow tcp from any to any 6000 keep-state
>
>
>Так вот, при таких настройках ничего не даже не пингуется. Всё понятно
>из-за чего это происходит. Не проходят arp запросы/ответы.
>
>Вычитал, что надо добавить правило
>
>allow udp from 0.0.0.0 2054 to 0.0.0.0
>
>Но это не помогает...
>
>Если последним правилом в скрипте указать "allow all from any to any",
>то всё работает, но мне нужно строить firewall по принципу "разрешено
>только то, что разрешено", так что такое правило - не подходит.
>
>
>Как же построить фильтрующий мост ?

а так все вроде норомально....

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Фильтрующий мост в FreeBSD"
Сообщение от Sergey_A emailИскать по авторуВ закладки(ok) on 07-Май-04, 19:03  (MSK)
>>${ipfw} flush
>>${ipfw} add 100 deny icmp from any to any in icmptype
> 5,9,13,14,15,16,17
>^^^^^^^^^^^^^^^^^^^^^^^
>ты icmp закрыл... а дальше смотреть она не пойдет...

Неправда ваша. Я закрыл только определённые типы ICMP. Пинг к этим типам не относится.

>${ipfw} add 600 allow icmp from any to any

Тут я открыл все ICMP, что не были запрещены в 100-м правиле.
Во всяком случае с такими правилами роутер работает на ура.
Такой пример фильтрации ICMP я взял отсюда (с опеннета).


>>Как же построить фильтрующий мост ?
>а так все вроде норомально....

Ну не работает. С такими правилами не работает:

allow icmp from any to any
allow tcp from any to any
allow udp from any to any
deny ip from any to any

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Фильтрующий мост в FreeBSD"
Сообщение от Alex emailИскать по авторуВ закладки(??) on 07-Май-04, 19:17  (MSK)
>>>${ipfw} flush
>>>${ipfw} add 100 deny icmp from any to any in icmptype
>> 5,9,13,14,15,16,17
>>^^^^^^^^^^^^^^^^^^^^^^^
>>ты icmp закрыл... а дальше смотреть она не пойдет...
>
>Неправда ваша. Я закрыл только определённые типы ICMP. Пинг к этим типам
>не относится.
извеняюсь не заметил... правда ваша...
>>${ipfw} add 600 allow icmp from any to any
>
>Тут я открыл все ICMP, что не были запрещены в 100-м правиле.
>
>Во всяком случае с такими правилами роутер работает на ура.
>Такой пример фильтрации ICMP я взял отсюда (с опеннета).
>
>
>>>Как же построить фильтрующий мост ?
>>а так все вроде норомально....
>
>Ну не работает. С такими правилами не работает:
>
>allow icmp from any to any
>allow tcp from any to any
>allow udp from any to any
>deny ip from any to any

а конекретнее что не работает??? ping-и какие-то приложения...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Фильтрующий мост в FreeBSD"
Сообщение от Sergey_A emailИскать по авторуВ закладки(ok) on 07-Май-04, 20:46  (MSK)
>а конекретнее что не работает??? ping-и какие-то приложения...

через мост не проходят arp запросы.
Вопрос в том, КАК разрешить прохождение только протоколов arp и IP.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Фильтрующий мост в FreeBSD"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 07-Май-04, 20:53  (MSK)
Тут на форуме точно был такой вопрос поищи по лучше, вопрос решился применением ipfw2
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Фильтрующий мост в FreeBSD"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 07-Май-04, 20:58  (MSK)
Вот
http://www.opennet.me/openforum/vsluhforumID1/41963.html

http://lists.freebsd.org/pipermail/freebsd-ipfw/2004-January/000793.html

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Фильтрующий мост в FreeBSD"
Сообщение от Sergey_A emailИскать по авторуВ закладки(ok) on 11-Май-04, 15:10  (MSK)
Спасибо. Всё заработало. Классно. Вот только где бы взять список "mac-type" ?


PS: Я и так пользовал ipfw2 из-за того что можно в одном правиле пользовать несколько IP.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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