Каким образом можно запретить изменение полей From и Sender в Exim?

У меня настроены почтовые серверы Exim и Dovecot. Я заметил, что пользователи могут отправлять письма от имени других пользователей в пределах одного домена. Например, если [email protected] в почтовом клиенте указывает в поле "From" [email protected], письмо без проблем отправляется с этой подменой. Какое изменение необходимо внести в конфигурацию Exim для устранения этой проблемы? Можете также указать на соответствующую документацию?
  • 18 февраля 2025 г. 11:54
Ответы на вопрос 1
Чтобы запретить пользователям изменять поля "From" и "Sender" в Exim, вам нужно внести изменения в конфигурацию вашего почтового сервера. Exim имеет возможность проверять и ограничивать отправку писем от других адресов с помощью различных механизмов аутентификации и настройки политик.

Вот несколько шагов, которые можно предпринять:

1. **Настройка `sender_declaration`:** Убедитесь, что ваш Exim настроен так, чтобы проверять адреса `From` и `Sender` на соответствие адресам, которые могут отправлять почту. Вы можете добавить следующую логику в конфигурационный файл Exim (обычно это `exim.conf` или `config.txt`):

   ```exim
   acl_check_msg = acl_check_msg
   acl_check_auth = acl_check_auth

   acl_check_auth:
     accept authenticated = *
     deny   sender = !*@aaa.pro

   acl_check_msg:
     deny   message = "You are not allowed to send emails from this address."
            sender = !*@aaa.pro
   ```

   В `acl_check_auth` мы разрешаем отправку почты только аутентифицированным пользователям с домена `aaa.pro`, а в `acl_check_msg` мы запрещаем отправку сообщений от всех `From` или `Sender`, которые отличаются от адреса аутентифицированного пользователя.

2. **Использование `authenticated_sender`:** Если вы хотите разрешить аутентифицированным пользователям отправлять письма только от своего адреса, вы можете использовать ACL, чтобы проверить соответствие адреса `From` с адресом аутентифицированного отправителя.

   ```exim
   acl_check_auth:
     accept authenticated = *
     deny   message = "You can only send mail from your own address."
            !sender = authenticated_id
   ```

3. **Документация:** Для более подробного изучения конфигурации и возможностей, связанных с ACL в Exim, вы можете обратиться к официальной документации Exim:
   - [Exim documentation](https://www.exim.org/docs/)
   - [Exim ACL Tutorial](https://www.exim.org/exim-html-current/doc/html/spec_html/ch-correspondent.html)

После внесения изменений в конфигурацию не забудьте перезапустить Exim для применения новых настроек:

```bash
sudo systemctl restart exim
```

Также рекомендуется протестировать новую конфигурацию, чтобы убедиться, что она работает как ожидается.
Похожие вопросы