Сб. Дек 21st, 2024

Данная статья идет как дополнение к предыдущим статьям посвященным настройке SMTP: вот и вот. В данном случае я опишу как сделать наше соединение защищенным на транспортном уровне — то есть все данные между клиентом и сервером будут передаваться зашифрованными,что исключает их перехват.А точнее сводит на нет смысл такого действия.Внутри же соединения клиент передает серверу пароль в открытом виде.Но мы то не боимся показать пароль серверу?Главное что его по дороге не перехватят.Настройка довольно проста.

1)В любой удобной папке сгенерируем сертификат.Пусть будет /etc/postfix/ssl/. Переходим(или создаем и переходим) в эту папку и выполняем:

openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509

Сертификат создаётся на год, о чём говорит цифра 365.

На экран будет выведен диалог ввода информации о ключе:

Country Name (2 letter code) [US]: UA
State or Province Name (full name) [Some-State]: Your state
Locality Name (eg, city) []: Your city name
Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany, LLC
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:  myserver.com
Email Address []: [email protected]

Готово.Теперь ограничим чтение сертификатов левыми лицами(читать сможет только владелец — root):

chmod 600 *

2)Добавляем в конфиг Postfix /etc/postfix/main.cf такие строчки:

smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.cert
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

и так же находим(если нет,то добавляем строчку) что б было вот так:

smtp_use_tls = yes

smtpd_use_tls = yes

Сохраняем и перезапускаем Postfix.

3)Настраиваем почтовый клиент:

Порт SMTP: 25

Защита соединения: STARTTLS

Метод аутентификации: обычный пароль

Пробуем что то отправить.Первый раз должно появиться окно с вопросом о принятии сертификата.Надо его принять и попробовать отправить заново.Теперь должно отправляться без ошибок.

от RUSUA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA