Назад | Перейти на главную страницу

Как заблокировать доменное имя со случайными TLD в Postfix?

Кто-нибудь может сказать мне, как отклонить все домены с определенным именем, но независимо от TLD? Я хочу заблокировать всю почту, приходящую с доменов с именем bulksender, лайк bulksender.com, bulksender.org, bulksender.biz, bulksender.vn и т.п.

У меня есть файл postmap client_checks.postmap который я включил в main.cf как это:

check_client_access hash:/etc/postfix/client_checks.postmap

В этом файле я пробовал:

bulksender. REJECT 550 5.1.0 Go away!

Но не вышло.

Есть что-то вроде *@bulksender.* который заблокировал бы все домены с именем bulksender, независимо от того, какой у них окончание TLD?

Постфикс с Поддержка PCRE позволяет использовать регулярные выражения для проверки адреса отправителя.

smtpd_recipient_restrictions = check_sender_access pcre:/etc/postfix/sender_access 

Я используемый это для блокировки целых TLD

/\.icu$/ 554 https://blocked.icu/

но он также должен соответствовать вашим требованиям:

/@bulksender\./ 554 Go away!

/\100bulksender\./ 554 Go away!

Чтобы включить все поддомены этих доменов:

/@.*\.?bulksender\./ 554 Go away!

Заметь check_sender_access делает это ограничение отправителя, но я намеренно использую его в smtpd_recipient_restrictions заставляя его стрелять только после полного набора HELO, MAIL FROM и RCPT TO команды. Таким образом, в журналах не будет отсутствовать информация о получателях на случай, если что-то пойдет не так.

В check_client_access не проверяет адреса электронной почты, но клиент подключение к вашему SMTP-серверу:

check_sender_access type:table

Искать в указанномдоступ (5) база данных для MAIL FROM адрес, домен, родительские домены или localpart@, и выполните соответствующее действие.

check_client_access type:table

Найдите в указанной базе данных доступа имя хоста клиента, родительские домены, IP-адрес клиента или сети, полученные путем удаления наименее значимых октетов. Увидетьдоступ (5) страницу руководства для подробностей.