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

Как ограничить вход по SMTP собственным адресом в sasldb2?

Я использую sasldb2 (без saslauthd) для аутентификации SMTP с Postfix. Чтобы создать нового пользователя, я запускаю saslpasswd2 -u example.com mail который создает логин mail@example.com. Однако, используя эти учетные данные, я могу успешно подключиться и отправить как other@example.com. Как я могу ограничить пользователей отправкой сообщений только с их собственного почтового адреса?

Что я пробовал:

  1. Установлены postfix-pcre.
  2. Настроить файл /etc/postfix/login_map с содержанием /^(.*)$/ ${1}.
  3. Ссылка в конфиге Postfix: smtpd_sender_login_maps = pcre:/etc/postfix/login_map.
  4. Перезагрузите постфикс.

Почтовый сервер с радостью отправляет письма от имени других пользователей. В логах ничего особенного нет.

Как говорится в другом вопросе, есть две важные части, которые необходимо добавить к master.cf под портом подачи

-o smtpd_client_restrictions=permit_sasl_authenticated,reject
Это гарантирует, что отправку будут отправлять только люди, прошедшие проверку подлинности sasl.

-o smtpd_sender_login_maps=hash:/etc/postfix/virtual
Это карта вашей пользовательской БД, измените ее на ту, которую вы используете

-o smtpd_sender_restrictions=reject_sender_login_mismatch
Это позволит убедиться, что адрес отправителя совпадает с идентификатором входа.