После того, как количество ежедневно приходящего спама стало уже реально напрягать, я озаботился методами борьбы с ним. На сервере у меня стоит Postfix. В качестве экспериментального метода борьбы была избрана технология серых списков (grey lists). Почитать подробнее можно здесь. В двух словах: при использовании данного механизма в случае соединения с вашим почтовым сервером, он не будет принимать почту сразу, а занесет IP-адрес сервера-отправителя в серый список; самому же отправителю (серверу) вернется ошибка "сервис временно недоступен". Далее: если через некоторое время сервер-отправитель повторит попытку - он считается добропорядочным почтовым сервером, и его IP-адрес заносится в белый список, - а в дальнейшем письма от него будут приниматься уже сразу (минуя искусственную задержку).

Механизм серых списков на Postfix можно организовать разными вспомогательными средствами. Я для себя выбрал PostGrey. Выбор был быстрым и стремительным - скачал первое на что наткнулся, настроил - работает. Скачать данный плагин можно на странице автора: http://postgrey.schweikert.ch/

Сам PostGrey писан на Perl, и требует для своей работы такие модули:

Инсталляции скрипт не требует - все делается довольно просто и быстро. Вопреки рекомендациям, я не стал распаковывать его в отдельный каталог, а закинул прямо в /etc/postfix - где располагаются конфиги самого Postfix.

Конфигурируем  PostGrey: тут всего два файла. Это postgrey_whitelist_clients и postgrey_whitelist_recipients. В первом файле нужно указать домены, которые мы априори считаем "чистыми" - белый список отправителей. Во втором файле нужно указать домены (ящики), на которые к нам приходит почта. Дальше нужно открыть сам скрипт и указать куда складировать результаты его работы - например, /var/spool/postfix/postgrey - права и владельца на него нужно указать таким образом, чтобы postgrey имел туда полный доступ. Запуск скрипта осуществляется примерно таким образом

/etc/postfix/postgrey --inet=127.0.0.1:10023 --group=postdrop --user=postfix --daemonize

Конфигурирование Postfix: тут надо сходить в файл /etc/postfix/main.cf и добавить там в параметр smtpd_recipient_restrictions после фразы reject_unauth_destination фразу check_policy_service inet:127.0.0.1:10023  - после чего рестартовать Postfix.

После упомянутых манипуляций мы получим слушающий на порту 10023 скрипт Postgrey, и перенаправление входящей почты Postfix'ом на него. Точнее, - применения политики серых списков.

Эффективность такого метода меня приятно удивила - спама не стало практически вовсе. Если раньше за сутки сыпалось до нескольких сотен единиц всякого мусора, то теперь это 1-2 за несколько дней.