SSL-сертификаты можно создавать самому, это так называемые самоподписанные сертификаты. В некоторых сферах использования разницы по сравнению с покупными нет. Примером такой сферы может быть настройка использования SSH без пароля, а с авторизацией с помощью асинхронного шифрования.
Проверяемые (валидные) сертификаты выдаются специальным поставщиком и им же верифицируются. Если установить такой сертификат для веб-сервера, то в адресной строке будет красивый зелёный замочек. Если же точно так же установить самоподписанный сертификат, то вместо входа на сайт, браузеры (по крайней мере некоторые браузеры) покажут страшные надписи о разных страшных вещах. Такой сертификат может только отпугнуть потенциальных посетителей, да и защиты никакой он не несёт, поскольку специализирующиеся по перехвату трафика программы могут генерировать на лету любое количество подобных сертификатов.
Аналогично и при отправке почты. Вот такой вид будет иметь письмо, если оно поступило без шифрования:
Вот так выглядит письмо с шифрованием:
Сейчас некоторые поставщики сертификатов предоставляют валидные сертификаты на три месяца с автоматическим проодлением совершенно бесплатно! О том, как получить их бесплатно я описывал в статье «Для чего нужны SSL-сертификаты и как получить бесплатно валидный сертификат». Самое важное то, что хостер разрешает выгружать частный ключ и все другие необходимые данные. Т.е. вы можете бесплатно получить сертификат здесь, а использовать его на любом своём сервере.
Теперь, когда мы разобрались где их брать, давайте рассмотрим, как их использовать.
Один и тот же сертификат можно использовать и для почтового сервера, и для веб-сервера!
Поскольку сертификаты нам дают бесплатно, то они являются самыми простыми, без субдоменов (точнее, с одним поддоменом www.), то это нужно учитывать при настройке postfix. Например, для домена suip.biz у меня в файле
vim /etc/postfix/main.cf
было прописано:
myhostname = mail.suip.biz mydomain = suip.biz
Поскольку на поддомен mail. сертификат не распространяется, то я подправил файл, чтобы получилось так:
myhostname = suip.biz mydomain = suip.biz
Функциональность почты из-за этого не изменилась.
С валидными сертификатами поставляется файл ca-bundle.crt (это корневые сертификаты CAcertificates). Поскольку для самоподписанных нет нужды их прописывать, то некоторые забывают добавить соответствующие настройки. К примеру, в файле (для настройки postfix)
vim /etc/postfix/main.cf
теперь должно быть три строки, связанные с сертификатом (добавилась информация о корневых сертификатах):
smtpd_tls_CAfile = /etc/ssl/certs/ca-bundle.crt smtpd_tls_cert_file = /etc/ssl/certs/server.crt smtpd_tls_key_file = /etc/ssl/private/server.key
При настройке dovecot также должно быть три строки:
vim /etc/dovecot/dovecot.conf
ssl_ca = </etc/ssl/certs/ca-bundle.crt ssl_cert = </etc/ssl/certs/server.crt ssl_key = </etc/ssl/private/server.key
И это же касается веб-сервера (виртуальных хостов):
SSLCertificateFile "/etc/ssl/certs/fullchain.crt" SSLCertificateKeyFile "/etc/ssl/private/server.key"
Здесь fullchain.crt это server.crt + ca-bundle.crt (смотрите "Решение проблемы Failed to configure CA certificate chain!, Fatal error initialising mod_ssl, exiting.").
Вы можете бесплатно получить действительный (валидный) SSL-сертификат, а также настроить автоматическое продление с помощью программы acme-tiny. Инструкция по использованию программы acme-tiny здесь.
Близкие статьи
- Решение проблемы Failed to configure CA certificate chain!, Fatal error initialising mod_ssl, exiting. (68.2%)
- Решение проблемы Unable to load dynamic library 'mcrypt.so' (tried: /usr/lib/php/modules/mcrypt.so (60.1%)
- PHP Warning: PHP Startup: imap: Unable to initialize module (РЕШЕНО). Как установить imap модуль для PHP в Arch Linux (56.7%)
- Привязка доменного имени к серверу на VDS (53.1%)
- Ошибка phpMyAdmin «Error: Undefined constant "SODIUM_CRYPTO_SECRETBOX_KEYBYTES"» (РЕШЕНО) (53.1%)
- Практические примеры использования pacman (RANDOM - 50%)