Налаштування поштового сервера на базі Postfix, Dovecot та RoundCube. Зміст
Не шифрувати трафік на поштовому сервері досить небезпечно. Пов'язано це не з перехопленням листів, а, перш за все, з тим, що зловмисник може перехопити логін та пароль одного з користувачів і використати цю інформацію для розсилання спаму.
Для шифрування використовуються SSL-сертифікати. Якщо в нас є можливість купити сертифікат від якогось центру сертифікації — то купуємо, якщо ж ні, то згенеруємо самопідписаний сертифікат. Це робиться командою:
openssl req -new -nodes -x509 -out smtpd.pem -keyout smtpd.pem -days 3650
Команда req змушує OpenSSL створити сертифікат.
Параметри цієї команди:
-new - створення запиту на сертифікат,
-nodes - не шифрувати закритий ключ,
-x509 (спільно з -new) - створити самоподпісаний сертифікат,
-keyout - задає місцезнаходження закритого ключа,
-out - задає місцезнаходження самоподпісаного сертифіката,
-days - задає час дії сертифіката (365x10 днів, що приблизно дорівнює десяти рокам).
В процесі виконання команди на екран будуть видані запити про введення таких параметрів як: Country Name, State or Province Name; Locality Name; Organization Name; Organizational Unit Name; Common Name; Email Address. Найважливішим параметром є значення Common Name. У нашому випадку воно повинно збігатися з FQDN-ім'ям сервера, по якому клієнти звертатимуться до сервера для відправлення та отримання пошти.
Тепер налаштуємо роботу Postfix з сертифікатами
В файл /etc/postfix/main.cf додамо рядки
smtpd_tls_auth_only = yes
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_cert_file=/etc/postfix/smtpd.pem
smtpd_tls_key_file=/etc/postfix/smtpd.pem
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
smtp_tls_note_starttls_offer = yes
Якщо при купівлі сертифікату вам видали кореневий довірений сертифікат, до у файл main.cf дописуємо рядок:
smtpd_tls_CAfile = /etc/postfix/root.crt
Пояснення параметрів
smtp_use_tls — використовувати TLS, якщо віддалений сервер повідомляє про підтримку TLS,
smtpd_use_tls — повідомляти клієнтам про підтримку TLS,
smtpd_tls_auth_only — використовувати аутентифікацію SMTP тільки для TLS-з'єднань, smtpd_tls_key_file — місцезнаходження закритого ключа сервера,
smtpd_tls_cert_file — місцезнаходження сертифіката сервера,
smtpd_tls_session_cache_database — файл в якому зберігається кеш tls-сесії
smtp_tls_note_starttls_offer — фіксувати в логах імена серверів, що видають повідомлення STARTTLS, підтримка TLS для яких не ввімкнена.
smtpd_tls_CAfile — місцезнаходження довіреного сертифікату
Вмикаємо SMTP submission
У файлі /etc/postfix/master.cf допишемо (або розкоментуємо) наступні рядки:
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
Адміністратори сервера обирають самі, який порт використовуватимуть клієнти для ретрансляції вихідної пошти -— 25 або 587. Специфікації та багато серверів підтримують і той, і інший порти. Хоча деякі сервера підтримують порт 465 для безпечного SMTP, але краще використовувати стандартні порти та ESMTP-команди, у випадку коли необхідно встановити захищену сесія між клієнтом і сервером.
Відмінності портів 25, 465, 587. На 465 порті з'єднання відразу повинно відкриватися з шифруванням TLS/SSL. З портом 587 працюють так само як і з 25: з'єднання у відкритому вигляді, а для включення шифрування подається команда STARTTLS, якщо сервер заявив про таку можливість у відповідь на EHLO від клієнта. SMTPS (465 порт) більш старий стандарт, STARTTLS -— новіший і, зрозуміло, більш гнучкий.
Для Dovecot можемо згенерувати свій сертифікат і ключ, а можемо використовувати той самий, що і для Postfix. У випадку купівлі сертифікатів, скоріш за все сертифікати будуть однаковими.
У файлі /etc/dovecot/conf.d/10-ssl.conf прописуємо параметри
#Вмикаємо підтримку шифрування
ssl = yes
#Вказуємо шлях до файлів з закритим ключем та сертифікатом
ssl_cert = </etc/postfix/smtpd.pem
ssl_key = </etc/postfix/smtpd.pem
Після цих дій треба перезапустити Postfix та Dovecot
service postfix restart
service dovecot restart
Тепер наш поштовий сервер підтримує шифровані з'єднання і для клієнтів доступний порт 587 для відправлення електронних листів та порт 993 для шифрованого IMAP.
Налаштування поштового сервера на базі Postfix, Dovecot та RoundCube. Зміст
Copyright © 2010-2017 IT Stream
Работает на «1С-Битрикс: Управление сайтом»