Недавно я установил почтовый сервер и использую серые списки как способ борьбы со спамом. Главный недостаток серых списков заключается в том, что они могут задерживать отправку вашей электронной почты. Однако я придумал, как это ускорить. Если хост X подключается и хочет отправить электронное письмо с user@example.com и запись MX для example.com, не заносите его в серый список, а просто позвольте ему немедленно.
Это должно предотвратить спам обычным способом и устранить задержку для некоторых хостов, верно?
Есть ли способ это сделать, или я ошибаюсь?
Я использую Postfix и postgrey.
Вы можете указать postgrey не заносить в серый список некоторые хосты (/etc/postgrey/whitelist_clients
), или вы можете добавить список доступа до того, как политика postgrey проверит, какие списки (и принимают) ваши MX. Все, что имеет для вас больше смысла.
Postgrey не собирается поддерживать это, однако ничто не мешает вам создать или найти сервер политик, который будет это делать. Если ваш первый сервер политики, назовем его dns-checker.sh, прошел успешно, почта будет доставлена. Если это не удается, Postfix переходит к следующей проверке в порядке smtpd_recipient_restrictions.
Для любого сервера серых списков я рекомендую установить максимальный возраст 63 дня, что составляет два полных месяца плюс день. Я предпочитаю время задержки 30 секунд. Задержка, как правило, представляет собой задержку, независимо от ее продолжительности, и многие крупные серверы веб-почты будут повторять попытку в течение одной минуты, поэтому общая задержка очень низкая. Вы также захотите использовать класс C как часть кортежа, а не конкретный IP-адрес, который должен быть по умолчанию. Я также использую автоматический белый список домена, если передано x писем, что довольно свободно. С такими настройками у меня редко возникают проблемы с длительной задержкой.
На веб-сайте Postfix под заголовком Сервер политики по этому URL-адресу указан ряд надстроек. http://www.postfix.org/addon.html Пакет smtpd-policy-template выглядит наиболее интересным, поскольку в основном это шаблон для создания вашего собственного сервера политик. Конечно, писать логику и собственно код все еще остается за вами. :-)
Я никогда не использовал Postfix и postgrey, но теория должна работать, если вы можете это реализовать.
Я также использую серые списки на нашем почтовом сервере и использую их уже пару лет. Он отлично работает, изначально блокирует 95 +% спама. И поскольку меня беспокоит то же самое, что и у вас, я делаю это только вне работы, например, выключаю в 18:00 и включаю снова в 7:00 утра следующего дня. .
Я сам использую Postgrey с Postfix, и у меня есть внешние MX-хосты, у которых установлен их приоритет, поэтому они должны получать почту только в том случае, если основной сервер недоступен. В некоторых случаях эти MX-серверы не администрируются мной, поэтому я не могу предположить, что исходящая от них почта не является спамом.
Как работает Postgrey, он смотрит на кортеж отправки IP, адреса отправителя и адреса получателя. Для почты, приходящей через MX, отправляющим IP всегда будет ваш MX. Хотя да, вы можете внести IP-адрес в белый список, это, в первую очередь, нарушит цель серого списка.
Если вы не уверены, что почта, отправляемая на ваш почтовый сервер с MX, не является спамом, я бы посоветовал не пытаться замкнуть процесс серого списка. Если почта обычная, то задержка будет происходить только тогда, когда будет виден новый кортеж, и после этого почта будет плавно проходить через него.
Спамеры догоняют, и серые списки могут быть не так эффективны, как раньше. Если можете, попробуйте использовать несколько RBL, я считаю, что они более эффективны. YMMV.
AFAIK, postgrey не может определить, соответствует ли IP удаленного сервера IP для записи MX домена отправителя. Некоторые другие инструменты могут быть более приспособлены к этой задаче, для этого взгляните на страницу надстроек postfix.
Кстати, какую бы технику вы ни использовали, она может иметь обратную сторону. RBL могут иногда блокировать некоторую законную почту (хотя я считаю, что это довольно редко с хорошими RBL и, как правило, стоит проблем), а создание серого списка дает вам задержку. Кроме того, что касается вашего плана, ящик отправителя может быть не той машиной, на которую указывает запись MX, поэтому он может быть неэффективным, если вы в основном имеете дело с почтой из больших доменов. Вам понадобится адрес отправителя, чтобы иметь возможность искать запись MX для домена, и, как мы знаем, это легко подделать. Серверы иногда обрабатывают почту для более чем одного домена.
С другой стороны, postgray реализует автоматический белый список клиентов, который неоднократно показывает, что может пройти через серый список. Так что, если вам действительно не нужно, возможно, вам не стоит сильно беспокоиться о задержке.