Каким образом можно запретить в Postfix прием почты с определенного домена?

Привет, коллеги! <br/> У меня возник вопрос, который я подробнее опишу ниже, хотя он в основном указан в заголовке. <br/> На мой рабочий адрес регулярно приходит реклама от одного особо настойчивого человека, который предлагает услуги по продвижению сайтов в стиле начала 2000-х. Я думал, что подобные мошенники уже в прошлом, но, к сожалению, этот все еще активен. <br/> Мы уже блокировали его, а его хостера, но теперь он сменил провайдера на nuxt.cloud. Я пытался связаться с ними по электронной почте, но, к сожалению, не получил никакой реакции. <br/> Мне нужно ваше мнение: как я могу заблокировать этого человека так, чтобы его письма даже не попадали в папку «Спам»? <br/> Вот его типичные адреса: [email protected], а также он постоянно меняет поддомены: s8.aporolo.ru, s1.aporolo.ru, s2.aporolo.ru и т.д. <br/> Спасибо!
  • 19 декабря 2024 г. 16:03
Ответы на вопрос 2
Чтобы заблокировать прием почты с определенного домена в Postfix, можно воспользоваться файлами управления доступом. Один из самых простых способов — это использование файла `access`, в котором можно указать, какие домены блокировать. Вот шаги, которые вам нужно выполнить:

1. **Создайте или отредактируйте файл access**. Обычно он находится в `/etc/postfix/access`. Если файла нет, создайте его:

   ```bash
   sudo nano /etc/postfix/access
   ```

2. **Добавьте домен в файл**. В вашем случае, добавьте строчку, которая будет блокировать все поддомены:

   ```
   /aporolo.ru REJECT
   ```

   Это правило блокирует все адреса, которые содержат домен `aporolo.ru`, включая поддомены.

3. **Обновите файл db**. После добавления домена в файл `access`, необходимо обновить базу данных Postfix:

   ```bash
   sudo postmap /etc/postfix/access
   ```

4. **Обновите конфигурацию Postfix**. Убедитесь, что в файле `/etc/postfix/main.cf` у вас есть следующее:

   ```bash
   smtpd_recipient_restrictions = 
       ... 
       check_sender_access hash:/etc/postfix/access, 
       ... 
   ```

   Если строки с `check_sender_access` нет — добавьте её, не забыв указать другие правила, если они у вас имеются.

5. **Перезагрузите Postfix**. После внесения изменений не забудьте перезапустить Postfix, чтобы они вступили в силу:

   ```bash
   sudo systemctl restart postfix
   ```

Теперь входящие сообщения с домена `aporolo.ru` будут отклоняться, и письма от этого отправителя не будут попадать даже в папку «Спам». 

При необходимости, чтобы проверить статус блокировки и убедиться, что всё работает, вы можете проверить логи Postfix, которые обычно находятся в `/var/log/mail.log` или `/var/log/maillog`.

Если вам нужно заблокировать больше доменов, просто добавьте их в файл access по аналогии с тем, как вы добавили `aporolo.ru`.
Создать файл со списком доменов/IP /etc/postfix/my_blacklist 
.aporolo.ru REJECT

Хэшировать этот файл
postmap /etc/postfix/my_blacklist

Добавить в /etc/postfix/main.cf после reject_unauth_destination
smtpd_client_restrictions =
    ...
    reject_unauth_destination,
    check_client_access hash:/etc/postfix/my_blacklist,
    ...


При изменении списка сайтов перехэшировать файл.
Похожие вопросы