OpenSMTPd: Блокировка отправителя на основе домена «Получил»

OpenSMTPd: Блокировка отправителя на основе домена «Получил»

Для OpenSMTPd я хотел бы заблокировать сервер от отправки мне почты на основе доменного имени этого сервера. У него большое количество IP-адресов по всему миру, и блокировка каждого из них — слишком много работы, особенно с учетом огромного количества спама, который он рассылает. Я хотел бы просто полностью заблокировать сервер, есть ли способ просто молча отклонять всю почту, приходящую с почтовых серверов на "example.com" (в "Received" содержится это), например?

Спасибо!

решение1

Заголовки Receivedне следует использовать для определения источника электронной почты, поскольку их можно легко подделать. Вместо этого следует доверять только той информации, которую ваш почтовый сервер может получить сам, например, исходный адрес, HELOимя хоста и MAIL FROM(проверено по записи SPF домена отправителя). Последний, т. е. самый верхний Received:заголовок, добавляется вашим сервером, и эта информация поступает из HELOкоманды SMTP (в сочетании с IP-адресом и обратным адресом PTR).

Проверка содержимого заголовка возможна, например, с помощью Postfixheader_checks(действие REJECT), но, похоже, OpenSMTPd не реализовал ничего подобного. Кроме того, OpenSMTPd может только ретранслировать почту на внешние фильтры, делаяотклонение на этапе соединениядля неудавшегося SFP илиСписок блокировки на основе DNS(DNSBL) невозможно.

Что может сделать OpenSMTPd, чтобы помочь, описано в smtpd.conf(5),match параметры reject:

  • Вы говорите, что естьбольшое количество IP-адресов по всему миру, но они все могут фактически находиться в одном сетевом блоке. Используйте eg whois IP.ADD.RE.SSдля определения подсети как CIDR-нотации, поскольку OpenSMTPd может читать подсети, выраженные в CIDR-нотации, например, блок 192.0.2.0/24с:

    match from src 192.0.2.0/24 reject
    
  • Если вы хотитеотклонять всю почту, приходящую с почтовых серверовexample.comи этот домен действительно используется в HELOимени хоста, можно использовать эту информацию для отклонения. Аналогично, matchесть опция для этого, и вы можете использовать списокtable(5)файл:

    match helo <rejectHeloDomains> reject
    table rejectHeloDomains file:/etc/mail/rejectHeloDomains
    

    Файл списка, содержащий домены, разрешены подстановочные знаки:

    example.com
    *.example.com
    

Не молчиотказатьсяОпределенно спам, но используйтеотклонение на этапе соединения, как это делают эти примеры.

Связанный контент