Перейти к содержимому
Калькуляторы

PF и traffic mirror

Добрый день.

Есть машинка с

# uname -a
FreeBSD  8.0-STABLE-201001 amd64

 

на которой стоит snort для ловли атак, вируснобольных, и прочего безобразия из сети.

Для анализа трафика с роутеров сделан mirror на вторую сетевуху snort'а исходящего трафика от абонентов в инет.

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

Но, pf совсем не видит трафик, который миррориться на сетевуху.

Добавили в sysctl:

net.inet.ip.forwarding=1

Всё равно пусто.

Правила PF:

table <spammers> persist
table <web> persist
pass in quick on em0 proto tcp from 10.0.0.0/8 to any port 25 flags S/SA keep state \
        (max-src-conn 1, max-src-conn-rate 1/90, overload <spammers> flush global)
pass in quick on em0 proto tcp from 10.0.0.0/8 to any port 80 flags S/SA keep state \
        (max-src-conn 1, max-src-conn-rate 1/90, overload <spammers> flush global)

 

Сетевуха на которую трафик сыпется em0.

Для неё включен только promisc.

pftop показывает соответственно:

 
pfTop: Up Rule 1-2/2, View: rules, Cache: 10000                                                                      

RULE  ACTION   DIR LOG Q IF     PR        K     PKTS    BYTES   STATES   MAX INFO
   0  Pass     In      Q em0    tcp       K        0        0        0       inet from 10.0.0.0/8 to any port = smtp  flags S
   1  Pass     In      Q em0    tcp       K        0        0        0       inet from 10.0.0.0/8 to any port = http  flags S

 

Пробовали поставить сетевухе em0 MAC шлюза по умолчанию для пакетов, которые на неё миррорятся.

И всё равно PF ничего не видит.

Единственное что видит PF - это стейты по ssh порту к себе (только там сетевуха уже em1, для управления).

 

Соответственно вопрос, куда же всё таки копать, что бы pf мог обрабатывать зеркалируемый трафик на em0 ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ИМХО никак.

ПФ следит за сессиями через себя, в вашем случае он просто игнорит траффик, ибо стейтов в нём он создать не может.

Посмотрите как пф работает на машине-бридже, может там что то будет толковое по вашей ситуации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

"А ларчик просто открывался"

Когда смотрел трафик на em0 tcpdump'om, то никакие фильтры не применялись, например

tcpdump -ni em0 net 10.5

выводил пустоту, показывал только через grep.

Потом дошло, трафик то я зеркалирую теггированный, соотвественно:

tcpdump -ni vlan net 10.5

выдал что нужно.

Ну и в rc.conf:

cloned_interfaces="vlan999"
ifconfig_vlan999="ether MAC vlan 999 vlandev em0"

и в pf начали создаваться стейты зеркалируемого трафика.

Вроде всё круто, но тут следующая проблема:

правила:

pass in quick on vlan999 proto tcp from 10.0.0.0/8 to any port 25 flags S/SA keep state\
        (max-src-conn 1, max-src-conn-rate 1/90, overload <spammers> flush global)
pass in quick on vlan999 proto tcp from 10.0.0.0/8 to any port 80 flags S/SA keep state\
        (max-src-conn 1, max-src-conn-rate 1/90, overload <web> flush global)

не срабатывают (таблички spammers и web пустые).

Что собственно и не удивительно: опции max-src-conn и max-src-conn-rate только для соединений, прошедших тройное рукопожатие.

pfctl -sa | grep IP

....
IP -> 0.0.0.0 ( states 15, connections 0, rate 0.0/90s )
....

 

Остаётся только считать просто количество пакетов, но при этом нигде не нашёл как засовывать превышения в таблички :(

p.s. пробовал делать mirror не только исходящего трафика, а всего - результат тот же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.