The OpenNET Project / Index page

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

Совместная работа spamd и IPFW V2 в режиме грейлистинга.

02.02.2007 12:14

Alex Samorukov поделился техникой использования spamd совместно с пакетным фильтром IPFW2 во FreeBSD.

  1. Главная ссылка к новости (http://www.opennet.me/base/net...)
  2. Поднятие spamd на FreeBSD в связке с IPFW v1
  3. OpenNews: Барьер для спама на основе PF и spamd под FreeBSD
  4. Укрощаем спам или PF и spamd против спамеров
  5. OpenNews: Настройка OpenBSD Spamd
  6. OpenNews: Пример прозрачного переброса SMTP трафика к spamd, используя pf
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/9704-spam
Ключевые слова: spam, spamd, mail, ipfw, freebsd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (21) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, aim (??), 16:34, 02/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    интересно -- а что-нибудь похожее есть для Linux+iptables?
     
  • 1.2, Radeon (?), 00:01, 03/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вопрос не в тему несколько:
    Есть ли для Постфикса greylisting сервера написанные на С и не использующие для хранения информация всякие БД ?
     
     
  • 2.3, yarodin (ok), 08:44, 03/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Вопрос не в тему несколько:
    >Есть ли для Постфикса greylisting сервера написанные на С и не использующие
    >для хранения информация всякие БД ?


    Есть /usr/ports/mail/gld/, только там база в mysql

     
  • 2.4, gennady (??), 11:54, 03/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    А почему именно на C? И как использовать грейлист без БД?
     
     
  • 3.5, GateKeeper (??), 12:02, 03/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Имелось ввиду СУБД. Как, собственно, у spamd: СУБД не используется, хотя база есть.
     

  • 1.6, Аноним (-), 19:57, 03/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    спасибо за статью. Все заработало на ура. Единственное, что надо бы добавить, это собрать ядро с options IPFIREWALL_FORWARD а то пришлось немного повозиться.
     
  • 1.7, _Ale_ (??), 09:37, 04/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    читаю и думаю...
    автору конечно спасибо за статью и его верность фре вызывает уважение, но мысль не покидает - насколько все проще это делается в родной операционке - опенке...
     
     
  • 2.8, GateKeeper (??), 11:19, 04/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Оно и на фре с pf делается просто до безобразия: make install clean
     
  • 2.9, Samm (?), 12:17, 04/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Я не совсем понимаю к чему это. Во первых оно и во freebsd с pf делается "проще". Во вторых - верность фре тут ни при чём - просто даже день подобных разборов полётов был бы несравним с миграцией ipfw -> pf. А держать 2 firewall ради spamd  я считаю некорректным. А то, что в open оно проще - естественно, там оно в  source tree, а тут - (пока ещё) кривой порт.
     
     
  • 3.10, GateKeeper (??), 19:48, 04/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Кривой он только в случае, когда его пытаются использовать не по прямому назначению. Т.е. - в связке с ipfw. Тео и Ко изначально писали его для pf. И в связке с pf он у меня, например, даже на FreeBSD работает без нареканий с того самого момента, как я написал make install clean и прописал spamd_enable="YES" в /etc/rc.conf
     
     
  • 4.17, Samm (?), 09:53, 05/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Кривой он только в случае, когда его пытаются использовать не по прямому
    >назначению. Т.е. - в связке с ipfw. Тео и Ко изначально
    >писали его для pf. И в связке с pf он у
    >меня, например, даже на FreeBSD работает без нареканий с того самого
    >момента, как я написал make install clean и прописал spamd_enable="YES" в
    >/etc/rc.conf
    Нет. Он просто кривой. О чём я и написал уже 3PR.
    По пунктам:
    1) Там есть WITH_IPFW=yes. Которую, вероятно, даже не проверяли. Если у нас есть фича которая заявлена, но не работает - это криво.
    2) Он конфликтует с spamassasin.
    3) Даже в вашем варианте он не поставил spamlogd.
    4) Порт уже сильно outdated. В текущем code base openbsd spamd произошло множество полезных улучшений.

    Назовите мне, где же тут "прямой" порт? Кстати, если вы просто сделали make install clean и прописали spamd_enable="yes" - то вы получили непонятно что ;-) Без правил firewall (хоть для ipfw, хоть для pf)  оно не работает )

     
     
  • 5.22, GateKeeper (??), 00:20, 06/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно, spamd.conf я тоже правил и pf.conf - тоже. Более того, я после некоторого времени правил pf.conf еще раз и дописывал авто-whitelist в качестве фильтра к своему почтовому серверу. Но, верно, Вы пытаетесь зацепиться за соломинку и высасываете аргументы из пальца, хотя сильно сомневаюсь, что Вы не поняли, что речь шла о том, что патчить и издеваться над портом для того, чтобы он заработал, мне не пришлось.
     
  • 3.11, GateKeeper (??), 19:50, 04/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    PS. Тут не раз пробегало, что одновременно вполне себе успешно работают и ipf, и ipfw, и pf. Потому вообще не вижу никаких особых причин, кроме религиозных, чтобы упорно пытаться использовать spamd с неродным для него ipfw.
     
     
  • 4.15, Samm (?), 09:39, 05/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >PS. Тут не раз пробегало, что одновременно вполне себе успешно работают и
    >ipf, и ipfw, и pf. Потому вообще не вижу никаких особых
    >причин, кроме религиозных, чтобы упорно пытаться использовать spamd с неродным для
    >него ipfw.
    Вы, вероятно, так и не прочитали статью. Работают? Да, работают. Дома, кстати, у меня именно такая конфигурация - PF + IPFW. Но есть такая штука как производительность стека. Что для сервера, вобщем-то, критично. И ради spamlogd добавлять в packet flow ещё 1 firewall - это несколько неразумно. По поводу "с неродным для него". Родными, простите, могут быть папа или мама. В spamd была поддержка IPFW, которую я проверил, и, в меру сил, довёл до работоспособного состояния. Код, который в spamd общается с FW - это максимум 5% от проекта. После выполнения действий указанных в статье - всё великолепно работает, кроме того результатом стали патчи, которые позволят в будущем не наступать на подобные грабли. А что до религии - не стоит, на мой взгляд, столь глупо бросаться словами, да, уж простите.

     

  • 1.13, YuryD (??), 07:54, 05/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А собственно зачем мучить pf/ipfw ? Существует масса грейлистов для sendmail, использующих milter . В чем великая сермяжная правда ?
     
     
  • 2.16, Samm (?), 09:47, 05/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >А собственно зачем мучить pf/ipfw ? Существует масса грейлистов для sendmail, использующих
    >milter . В чем великая сермяжная правда ?

    Пытайтесь читать текст до его комментирования. Помогает избегать подобных вопросов.

    Поехали:
    1) На разных серверах в силу разных причин стоят разные почтовики. И везде, кстати, не sendmail ;-) Несомненно есть решения как для exim, так и для postfix. Но они получились бы менее универсальные и переносимые.
    2) BSD Spamd мне понравился тем, что написан на C и использует минимальное количество ресурсов, не просит внешней СУБД, поддерживает DNSBL, красиво написан. Кроме того, подобный подход позволяет сильно экономить ресурсы своего почтовика и пожирать ресурсы MTA спамера )
    3) Идея использовать forwarding и таблицы fw для грейлистинга мне показалась забавной и занимательной. Если использовать только тривиальные решения - работа, как по мне, становится скучной и неинтересной.

     

  • 1.18, YuryD (??), 10:24, 05/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Идея использовать forwarding и таблицы fw для грейлистинга мне показалась >забавной и занимательной. Если использовать только тривиальные решения - работа, >как по мне, становится скучной и неинтересной.

    Поясняю, при падении по какой-либо причине spamd вы останетесь без почты вообще,
    с милтером этого не происходит. И если сей продукт без рашпиля даже не собирается,
    то как его в продакшен ставить ? И костыли с рутовыми полномочиями для установки правил pf/ipfw это просто опасно.

     
     
  • 2.19, Samm (?), 11:41, 05/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >>Идея использовать forwarding и таблицы fw для грейлистинга мне показалась >забавной и занимательной. Если использовать только тривиальные решения - работа, >как по мне, становится скучной и неинтересной.
    >
    > Поясняю, при падении по какой-либо причине spamd вы останетесь без почты
    >вообще,
    1) Я не останусь. Для экспериментов был выбран малозагруженный сервер с терпеливыми пользователями ;-)
    2) Nagios НИКТО не отменял. И минут через 10 я узнаю о проблеме и смогу её устранить. Пока, впрочем, ничего подобного не происходило. По поводу милтера - ещё раз - нет там сендмейла. и не будет.
    >с милтером этого не происходит. И если сей продукт без рашпиля даже
    >не собирается,
    >то как его в продакшен ставить ?
    Почитайте статью. Я в конце ясно написал - что для production оно НЕ совсем готово.
    В моих планах - дописать полноценную поддержку PF и добавить chroot. Что же насчёт  production и рашпиля - тоже спорный вопрос. На многих моих production серверах весьма долго жил патченый nagios на предмет работы с unix sockets. Патчи, которые я сделал, nagios team интегрировал в проект ~через месяц после отправки. А новая версия вышла вообще  через месяца 3. Или другой пример - это clamav + libunrar. Поддержка rar3  в clamav до сих пор оставляет желать, а патчи от McCС + мои правки libubrar (которые, кстати, принял Рошаль) успешно интегрированы в порт clamav и работают у меня на достаточно загруженных серверах.

    >И костыли с рутовыми полномочиями
    >для установки правил pf/ipfw это просто опасно.
    Очень спорный вопрос.  Хотя опять же - в моих планах понижение полномочий сразу после открытия сокета IPFW. Кстати, был ещё патч для управления IPFW через файл (/dev/ipfw), а не через raw_sockets, но к сожалению, эта идея не была поддержана. Я думаю, что если за 2 недели мейнтейнер не раздуплится -  я просто заберу порт себе и сделаю нормальный патчсет для IPFW. Может быть даже сделаю форк проекта для более удобной работы с.


     
     
  • 3.20, YuryD (??), 14:49, 05/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Идея использовать forwarding и таблицы fw для грейлистинга мне показалась >забавной и занимательной. Если использовать только тривиальные решения - работа, >как по мне, становится скучной и неинтересной.

    Идея бесспорно интересна.

    >2) Nagios НИКТО не отменял. И минут через 10 я узнаю о
    >проблеме и смогу её устранить. Пока, впрочем, ничего подобного не происходило.

    Вы не спите, не едите, личной жизни не ведете :) (Ничего личного)

    >себе и сделаю нормальный патчсет для IPFW. Может быть даже сделаю
    >форк проекта для более удобной работы с.

    Вот за это - тремя руками за!

     

  • 1.21, Radeon (?), 23:01, 05/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >себе и сделаю нормальный патчсет для IPFW. Может быть даже сделаю
    >форк проекта для более удобной работы с.
    Да, за это будет просто куча народу, ЗА!!
     
  • 1.23, necotyan (??), 16:29, 06/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поставил тут на, как Вы там говорите "продакшен", сервер. Через сутки наблюдаю результат:

    /var/log > spamdb > /dev/null
    Segmentation fault (core dumped)

    /var/log > spamdb | wc
       21966   21967 2134016
    Segmentation fault (core dumped)

    /var/log > spamdb | grep GREY | wc
       19651   19651 1995509
    Segmentation fault (core dumped)

    /var/log > spamdb | grep WHITE | wc
        2278    2278  134412
    Segmentation fault (core dumped)

    /var/log > ipfw table 1 list | wc
        2301    4602   43474

    В логе запись "Feb  6 17:10:30 proxy2 spamd[82108]: whitelisting 81.18.128.252 in /var/db/spamd", а "ipfw table 1 list | grep 81.18.128.252" дает пустую строку.
    Наверное неработает уже :( ):

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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