23 июня 2008 09:09 пп
Фильтрация почты на сервере Postfix при помощи postgrey

Количество спама на моем сервере последнее время немного увеличилось, что стало напрягать меня и заставило задуматься о способах фильтрации и изучения софта для этого. Изучив кучу рукописных скриптов на просторах рунета понял что это не лучшее решение, так как в коментах почему то множество нелестных отзывов… Наткнулся на описание софтинки greylistd который прикручивается к exim, но у меня установлен postfix и это решение меня не устроило, но была найдена альтернатива для моего дистрибутива почтовика, называется она postgrey. Все Функции данной софтинки сводятся к простому reject’y почты от неизвестных ей отправителей на 5 минут и сообщении об этом с ссылкой на страничку где это и сообщается. По прошествии пяти минут при повторном обращении письмо пропускается.
Установка и настройка займет у Вас не более 5 минут, пакет имеется в стандартных репозиториях Ubuntu, Debian, и в других дистрибутивах Linux.
Установим пакет
Код:
aptitude install postgrey
Проверим работает ли демон
Код:
netstat -pan |grep 60000
Если все хорошо то вы увидите примерно следующее:
Код:
tcp 0 0 127.0.0.1:60000 0.0.0.0:* LISTEN 20345/postgrey.pid
Далее вы можете отредактировать конфиг файлы postgrey, они находятся в каталоге /etc/postgrey , вы найдете там два файла whitelist_clients и whitelist_recipients в первом файле содержится список хостов которым разрешено присылать вам почту без пятиминутной задержки, во втором файле хранятся ящики на которые письма будут так же приходить без всяких задержек. В принципе программа готова к работе сразу после установки, настроить дополнительные разрешенные сети можно позже.
Для объединения postfix и postgrey необходимо добавить одну строку в конфигурационный файл postfix Отредактируйте файл /etc/postfix/main.cf откройте его в редакторе, найдите строку smtpd_recipient_restrictions = и добавьте в ее конец запятую и check_policy_service inet:127.0.0.1:60000 что бы в результате у вас вышло примерно так
Код:
[....]
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,check_policy_service inet:127.0.0.1:60000
[....]
Теперь перезапустим postfix и postgrey
Код:
/etc/init.d/postfix reload
/etc/init.d/postgrey restart
После этого заглянем в логи, там видны результаты работы postgrey
Код:
Jun 23 21:25:43 main-server postfix/smtpd[25432]: connect from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]
Jun 23 21:25:45 main-server postgrey[20345]: action=greylist, reason=new, client_name=ppp85-140-71-65.pppoe.mtu-net.ru, client_address=85.140.71.65, sender=pebbledt602@coe-co.com, recipient=XXXXXX@sudouser.com
Jun 23 21:25:45 main-server postfix/smtpd[25432]: NOQUEUE: reject: RCPT from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]: 450 4.2.0: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/sudouser.com.html; from= to= proto=ESMTP helo=<08a50730d9ad491>
Jun 23 21:25:48 main-server postfix/smtpd[25432]: lost connection after DATA (0 bytes) from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]
Jun 23 21:25:48 main-server postfix/smtpd[25432]: disconnect from ppp85-140-71-65.pppoe.mtu-net.ru[85.140.71.65]
На этом настройка окончена, можно наслаждаться отсутствием немалой доли спама, результат меня сильно поразил….
18 комментариев »
18 комментариев to “Фильтрация почты на сервере Postfix при помощи postgrey”
Leave a Reply
You must be logged in to post a comment.
Где можно поменять время, в течении которого письмо должно быть занесено в wite list после ожидания и повторной отправки? Другими словами изменить время ожидания.
Не задавался таким вопросом, да и зачем? Вроде 5 минут нормальное время.
не уверена что это так) хотя спасиб
всегда пожалуйста 🙂
Наконец-то удалось найти интересный блог, о волнующей меня теме.
А как добавить Вас в закладки, чтобы читать в програме fast reader?
Это я так подозреваю RSS reader? Тогда просто добавьте туда линкhttp://sudouser.com/?feed=rss2
согласен
Кто что думает по этому поводу?
Зачет, сенкс автору
У меня по поводу postfix есть несколько других идей, но я поковыряюсь ещё у себя и отпишу… Так как не уверен на 100 процентов, говорить пока не буду ))
Блин, уже вторая отличная статья)))) автору — ОГРОМНЫЙ РЕСПЕКТ!!!!!!! СПАСИБО!!!! БУДЕТЕ В ПЕРМИ — ПИШИТЕ, С МЕНЯ МИНИМУМ ПИВО!!!!:)
Спасибо, если буду, напишу. 🙂
Ммм, кстати вопорс — в whitelist он только с доменами работает? Т.е. вот есть допустим сервер бесплатной почты mail.ru, я добавляю в whitelistuser@mail.ru — и он все равно требует повторной отправки сообщения. Мне обязательно добавить весь сервер mail.ru? А то оттуда тоже много спама сыплется
Если помотрите тех заголовки, то увидите, что с майл ру спама нет, ну или еденичные письма.
[…] с sudouser.com Теги: Postfix, […]
[…] Небольшое howto на тему фильтрации спама при помощи RBL(DNSBL) и модификации конфига Postfix, по времени настройка занимает минут 5, результат вы сможете оценить незамедлительно. Эта статья может быть дополнением к способу фильтрации писем с помощью пакета Posrgrey который просто выставляет задержку в пять минут на прием входящей почты, почитать про него можно сдесь:http://sudouser.com/filtraciya-pochty-na-servere-postfix-pri-pomoshhi-postgrey.html . […]
[…] Взято с sudouser.com […]