Имеем почтовый сервер Postfix+Dovecot(IMAP)+RoundCube(на Apache) выведенный соответственно IMAP, SMTP и HTTP портами в интернет. Пользователи могут удобно работать в офисе и дома, используя одну и ту же почту с настроенными на сервере правилами сортировки писем и т.п.
Все радуются, прыгают, веселятся, и тут НЕОЖИДАННО нападет паранойя. Оказывается TCP пакеты очень легко перехватываются и расшифровываются, а пароли, письма и проч. летают туда-сюда в открытом виде! Паника! Большой брат слушает! Срочно надо что-то делать! И тут, весь в белом, на помощь к нам приходит SSL.
Для начала нам потребуется SSL сертификат. Для этого воспользуемся сайтом организации StartSSL. Подробная инструкция по получению сертификата лежит здесь: http://mrcat.ru/free-valid-ssl. В итоге, после получения сертификатов, у вас должна быть такая картина:
#ls /etc/postfix/
sub.class1.server.ca.pem
sysadmin-komi.ru.crt+ca
sysadmin-komi.ru.csr
sysadmin-komi.ru.crt
sysadmin-komi.ru.crt+ca+key
sysadmin-komi.ru.key
Едем далее:
Настройка Apache2 SSL для Roundcube.
Редактирум /etc/apache2/apache2.conf:
Listen 443
<virtualhost *:443>
SSLEngine on
SSLCertificateFile /etc/postfix/sysadmin-komi.ru.crt
SSLCertificateKeyFile /etc/postfix/sysadmin-komi.ru.key
SSLCertificateChainFile /etc/postfix/sysadmin-komi.ru.crt+ca
DocumentRoot /var/www/soft-komi.ru/mail
CacheNegotiatedDocs On
<directory "/var/www/sysadmin-komi.ru/mail">
Options FollowSymLinks -Indexes
AllowOverride AuthConfig Limit Options FileInfo
</directory>
</virtualhost>
Хочу отметить, что в такой конфигурации, по порту 443 (который в последствии и нужно выводить в интернет), будет доступна только каталог /var/www/sysadmin-komi.ru/mail с RoundCube
Настройка Postfix SMTP SSL
Редактируем etc/portfix/main.cf:
smtpd_tls_cert_file = /etc/postfix/sysadmin-komi.ru.crt
smtpd_tls_key_file = /etc/postfix/sysadmin-komi.ru.key
smtpd_tls_CAfile = /etc/postfix/sysadmin-komi.ru.crt+ca
smtpd_use_tls = yes
smtpd_tls_note_starttls_offer = yes
smtpd_tls_loglevel = 1
#Если нужно делать отбой всем неавторизированным по SSL пользователям
#smtpd_tls_auth_only = yes
#Если хотим, чтобы postfix при отправке письма на внешние почтовые сервера пытался соединяться по SSL
smtp_tls_security_level = may
Настройка Dovecot IMAP,POP3 SSL
Редактируем /etc/dovecot.conf:
protocols = imap <strong>imaps </strong>pop3 <strong>pop3s</strong>
ssl = yes
ssl_cert_file = /etc/postfix/sysadmin-komi.ru.crt
ssl_key_file = /etc/postfix/sysadmin-komi.ru.key
ssl_ca_file = /etc/postfix/sysadmin-komi.ru.crt+ca
protocol imap {
listen=*:143
ssl_listen=*:993
ssl_cert_file = /etc/postfix/sysadmin-komi.ru.crt
ssl_key_file = /etc/postfix/sysadmin-komi.ru.key
}
protocol pop3 {
listen=*:110
ssl_listen=*:995
ssl_cert_file = /etc/postfix/sysadmin-komi.ru.crt
ssl_key_file = /etc/postfix/sysadmin-komi.ru.key
}
После перезагружаем всех демонов, выводим новые порты наружу, перенастраиваем почтовых клиентов и все. Никаких сообщений о ненадежных сертификатах и проч. появляться более не должно
Если что то не понятно пишите, буду рад подсказать!