Серый список · 2 min read · Oct 24, 2025
Серый список - борьба со спамом с помощью Postgrey и Postfix на Debian и Ubuntu
Когда-нибудь слышали о сером списке?
Существует множество способов предотвратить попадание спама в ваш почтовый ящик, самым популярным из которых, вероятно, является SpamAssassin. Серый список не заменит программное обеспечение для фильтрации спама, такое как SA, но он станет мощным первым барьером для спама, тем самым уменьшая количество спама, попадающего в систему. Его следует рассматривать как дополнение ко всем другим функциям антиспама Postfix.
Помимо очевидной выгоды в снижении количества спама в вашем почтовом ящике, это даст вашему антивирусу и SpamAssassin меньше работы. Как фильтрация спама, так и сканирование вирусов являются ресурсоемкими процессами, и предотвращение спама на входе потенциально сэкономит вам деньги за счет снижения требований к оборудованию.
Серый список в кратце означает, что когда кто-то хочет доставить почту на ваш почтовый сервер, он просто отвечает - “Пожалуйста, вернитесь позже”. Это то, что делают все почтовые серверы, соответствующие RFC, и когда они возвращаются, почта принимается. Большинство спамеров и программного обеспечения для спама не соответствуют стандартам и недостаточно терпеливы, чтобы попробовать снова. Вы будете удивлены, насколько это эффективно. В любом случае, следуйте ссылкам ниже, чтобы действительно узнать об этом. Как всегда, есть плюсы и минусы, поэтому сделайте свою домашнюю работу, прежде чем устанавливать это на производственный сервер.
Greylisting.org Серый список на Википедии
Существует несколько реализаций серого списка, и это можно сделать на большинстве серверов. Я покажу вам, как это сделать на Debian с работающим Postfix в качестве MTA с Postgrey. Шаги из этого руководства будут работать для всех версий Debian с 3.1 (sarge) до 8 (jessie).
Установка Postgrey
Я предполагаю, что у вас есть работающая установка Postfix.
Если вы используете apt-get для установки Postgrey, требования будут обработаны автоматически. Однако, если вы устанавливаете из исходников, вам придется проверить это вручную.
Требования для Postgrey:
- Perl >= 5.6.0
- Net::Server (модуль Perl)
- IO::Multiplex (модуль Perl)
- BerkeleyDB (модуль Perl)
- Berkeley DB >= 4.1 (библиотека)
Я рекомендую установить пакет Postgrey с помощью apt.
Сначала установим пакет Postgrey с помощью:
apt-get -y install postgreyЭто установит сервер Postgrey на вашем компьютере. Возможно, вы захотите изменить некоторые настройки. Самое раздражающее в сером списке - это то, что он накладывает задержку на доставку почты. Если вы считаете, что 5-минутная задержка, которая является значением по умолчанию, слишком велика, вы можете установить ее на 1 минуту. Вы можете изменить это, отредактировав /etc/default/postgrey. Измените значение по умолчанию:
POSTGREY_OPTS="--inet=127.0.0.1:10023"на:
POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=60"Тем не менее, я бы предложил изменять значения по умолчанию только после того, как вы убедитесь, что все работает как ожидалось. Также стоит отметить, что более короткая задержка снизит эффективность серого списка. Увеличение задержки до часа будет сложнее для спама, но также сложнее для терпения ваших пользователей. :)
Теперь запустите сервер политик Postgrey с помощью:
service postgrey startСлужба политик Postgrey теперь должна работать на порту 10023.
Теперь давайте настроим Postfix для использования Postgrey.
Настройка Postfix
Конфигурационные файлы Postfix находятся в /etc/postfix. Отредактируйте /etc/postfix/main.cf и добавьте check_policy_service inet:127.0.0.1:10023 в smtpd_recipient_restrictions. Это должно выглядеть примерно так:
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023Теперь все, что нам нужно сделать, это перезагрузить конфигурацию Postfix с помощью:
postfix reloadПросто и приятно. Расслабьтесь и наслаждайтесь отсутствием спама :)
//Erk
Get new posts in your inbox
No spam. Unsubscribe anytime.