MaLblsH Опубликовано 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 ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ivan_83 Опубликовано 4 февраля, 2010 · Жалоба ИМХО никак. ПФ следит за сессиями через себя, в вашем случае он просто игнорит траффик, ибо стейтов в нём он создать не может. Посмотрите как пф работает на машине-бридже, может там что то будет толковое по вашей ситуации. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MaLblsH Опубликовано 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 не только исходящего трафика, а всего - результат тот же. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...