>Чудно, что появилась эта статья. Респекты!
>Как раз собирался занятья этим вопросом.
>Кстати как быть с spamlogd ? Удалось что-то сделать?
Пока нет. Проблема вот какая - spamd запускает tcpdump (более поздние версии - просто используют pcap()) на интерфейсе pflog, который создаёт PF. Суть проблемы в том, что там используется модификатор pass, который указывает на то, что трафик успешно прошёл через firewall. Снимать подобное с реального интерфейса бессмысленно, так как pcap на em0 будет работать _ДО_ IPFW. Пока я думаю, как можно это обойти.Варианты такие:
1) переписать spamlogd как плагин syslog и запихнуть его в syslog.conf (я такой фокус сделал в bruteblock). А в IPFW добавить правило log до pass. Вариант мне не нравится тем, что будет куча флуда от ipfw и не будет работать при выключенном логе. Из плюсов - быстрая скорость реализации, простота (хуже воровства ;-)). Можно даже сделать в режиме тейла на /var/log/security
2) Использовать divert сокеты и команду tee. Как по мне - вполне себе вариант. Минусы - я не работал с диверт сокетами и мне потребуется время чтобы переписать spamlogd для этой цели.
Кроме того, диверт не везде вкомпилен, но это, думаю, не проблема.
я думаю,. что если мейнтейнер не ответит - я заберу порт, обновлю его до latest cvs version (там много чего улучшили) и сделаю метапорты spamd-ipfw и spamd-pf. И в spamd-ipfw сделаю другой spamlogd. Если хватит времени, конечно. Помощь - приветствуется. как и идеи по поводу spamlogd, возможно есть более простое и красивое решение.