Настройка SMTP-авторизации в Postfix

Обновлено Обновлено: Опубликовано Опубликовано:

Тематические термины: Postfix, SMTP, Dovecot.

Данная настройка позволит запрашивать логин с паролем при отправке сообщений. В данном примере аутентификация реализована при помощи dovecot.

Без шифрования

Устанавливаем dovecot:

yum install dovecot

Открываем конфигурационный файл Postfix:

vi /etc/postfix/main.cf

И добавляем:

smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Открываем настройки аутентификации в dovecot:

vi /etc/dovecot/conf.d/10-master.conf

и приводим опцию service auth к следующему виду:

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

Отключаем требование ssl для аутентификации:

vi /etc/dovecot/conf.d/10-ssl.conf

ssl = no

Настройки аутентификации приводим к следующему виду:

vi /etc/dovecot/conf.d/10-auth.conf

auth_mechanisms = plain login

В этом же файле проверяем, что снят комментарий со следующей строки:

!include auth-system.conf.ext

Перезапускаем сервисы:

systemctl restart postfix

systemctl restart dovecot

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

Настройка SSL-шифрования

В конфигурационный файл postfix добавляем:

vi /etc/postfix/main.cf

smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
smtpd_tls_key_file = /etc/ssl/private/dovecot.pem
smtpd_use_tls = yes
smtpd_tls_auth_only = yes

Добавляем в master.cf:

vi /etc/postfix/master.cf

smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Настраиваем требование сертификата:

vi /etc/dovecot/conf.d/10-ssl.conf

ssl = required

Генерируем сертификат:

mkdir -p /etc/ssl/certs

mkdir /etc/ssl/private

cd /usr/share/doc/dovecot-*

vi mkcert.sh

SSLDIR=${SSLDIR-/etc/ssl}

sh mkcert.sh

Перезапускаем postfix и dovecot:

systemctl restart postfix

systemctl restart dovecot

Готово. Аутентификация будет требовать шифрованного подключения по порту 25 (STARTTLS) или 465 (SSL/TLS).

# Сервера # Почта # Безопасность # Linux
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет