Безкоштовний ssl сертифікат для postfix
Днями дізнався про цікавий сервіс, який дозволяє отримати безкоштовно сертифікат ssl з підтвердженням доменного імені. Його можна використовувати або в поштовому сервісі або на сайті для підтвердження його автентичності. У цій статті я розповім про використання SSL сертифіката в поштовому сервері postfix.
З цієї статті ви дізнаєтесь:
Отримання безкоштовного SSL сертифіката
Безкоштовно отримати сертифікат можна на веб-сайті startssl.com. Для цього потрібно зареєструватися, зайти до панелі керування. Послідовність дії така:
- Спочатку підтверджуємо право володіння доменом
- Потім випускаємо сертифікат для домену терміном на рік
Для підтвердження володіння доменом достатньо отримати код перевірки на одну з скриньок: postmaster, hostmaster або webmaster. Якщо ви маєте доступ до однієї з цих скриньок, ви зможете випустити сертифікат для свого сайту.
Отже, підтверджуємо право володіння у пункті менюValidations Wizard. Там досить просто пройти кроками, не буду на цьому зупинятися докладно. Важливіше правильно випустити SSL сертифікат, щоб потім не було проблем. Після того, як підтвердили, що ваш домен, приступайте до генерації сертифіката. Для цього вибираємо пунктCertificates Wizard.
У списку вказуємо тип сертифіката — web server SSL/TLS Сertificate. Далі потрібно сформуватиPrivate Key. Зробити це можна як тут-таки, на сайті, або завантажити свій. Візард на сайті не дозволяє створити приватний ключ без пароля, але якщо його створити з паролем, то postfix не працюватиме з ним. Тож генеруватимемо приватний ключ самі.
Для цього йдемо на сервер, на якому має бути встановлений OpenSSL, і виконуємо команди:
Приватний ключвиглядає приблизно так:
Потім створюємо CSR ключ. Обережно відповідаємо на всі запитання. Змінити введену інформацію не можна, доведеться перевипускати сертифікат. Цей сервіс перевипустити сертифікат безкоштовно не дозволить. Тож робимо все акуратно:
Жирним я наголосив на тих пунктах, що вводив сам, решту залишив як було. На виході маємо файл запиту на сертифікат:
Запит на сертифікат сформували, тепер ідемо знову на сайт. Ми перебували на першому етапі запиту сертифіката, коли потрібно було сформувати pravate key. Оскільки ми його створили самі, натискаємо наSkip. У формі, що відкрилася, вводимо наш Certificate Request. На наступному кроці вибираємо підтверджений домен і вводимо один піддомен, який хочемо додати сертифікат. У безкоштовній версії можна випустити сертифікат на домен та один піддомен.
На завершальному етапі отримуємо сформований сертифікат. Копіюємо його до себе і зберігаємо, попутно завантажуємо кореневий сертифікат, він нам пізніше знадобиться.
На цьому отримання безкоштовного сертифіката закінчено. Нам знадобляться у майбутньому 3 файли: zeroxzed.key, zeroxzed.crt, sub.class1.server.ca.pem.
Налаштовуємо postfix на використання SSL сертифіката
Тепер налаштуємо postfix для підтримки ним SSL/TLS з'єднань. Для цього потрібно спочатку підготувати файл, що включає 2 сертифікати: наш для домену і кореневий.
Змінюємо конфіг postfix main.cf. Додаємо туди наступні рядки:
Для застосування змін перезапускаємо postfix та перевіряємо. Не забудьте відкрити порти на фаєрволі для роботи захищених з'єднань. Перевірити роботу ssl з'єднання постфікс можна так:
Якщо у вас такий висновок, все гаразд. Якщо ж у вас щось подібне:
То треба йти до поштових логів і дивитися, вніж проблема.
Якщо в логах щось подібне:
Це означає, що ваш приватний ключ зашифровано. Postfix не вміє працювати із зашифрованими ключами. Private key можна розшифрувати наступною командою:
Я спочатку не знав про це і згенерував private key із паролем за допомогою сайту startssl.com, випустив сертифікат на його основі. А потім зіткнувся з помилкою postfix. Спробував створити сертифікат наново, але це вже неможливо, на домен можна випустити лише один безкоштовний сертифікат. Щоб створити новий, потрібно відкликати існуюче, а відкликання сертифіката — платна послуга. Але виявилося, що перевипускати сертифікат не обов'язково, достатньо було зняти пароль із приватного ключа, що я й зробив.
Налаштовуємо dovecot на використання SSL сертифіката
Якщо ви використовуєте на поштовому сервері dovecot, можна додати захищені з'єднання на основі нашого безкоштовного сертифіката і в ньому. Зробити це дуже просто. Відкриваємо конфіг dovecot і додаємо туди наступні рядки:
Зміни набудуть чинності після перезапуску сервера. Знову ж таки, не забуваємо про фаєрвол. SSL/TLS з'єднання працюють іншими портами, ніж відкриті підключення.
За ідеєю, тепер у вас все має працювати. Мої приклади з працюючих серверів.