MaLblsH Posted February 2, 2010 Posted February 2, 2010 Добрый день. Есть машинка с # 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 ? Вставить ник Quote
Ivan_83 Posted February 4, 2010 Posted February 4, 2010 ИМХО никак. ПФ следит за сессиями через себя, в вашем случае он просто игнорит траффик, ибо стейтов в нём он создать не может. Посмотрите как пф работает на машине-бридже, может там что то будет толковое по вашей ситуации. Вставить ник Quote
MaLblsH Posted February 5, 2010 Author Posted February 5, 2010 "А ларчик просто открывался" Когда смотрел трафик на 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 не только исходящего трафика, а всего - результат тот же. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.