+380(66)433-69-36 | |
+380(66)433-69-36 | |
+380(66)433-69-36 |
- BitLocker с GUI под linux
- Ищем вирус elTest
- Работаем с бесплатным SSL сертификатом Letsencrypt с помощью certbot
- Синхронизация ресурсов с удаленного сервера локально
- Применение нестандартного SEO и статус 404
- MySQL синхронизируем права с разных серверов
- IPSec VPN соединение между офисами.
- "Зеркало" сайта на стороне. Донастраиваем nginx
- Дефрагментация таблиц всех баз MySQL
- Месяц в родительном падеже strftime PHP
- INIT скрипт для Dropbox
- osCommerce VAM Edition 226. Ошибки
- PositiveSSL порядок сертификатов
- osCommerce. Создаем модуль доставки
- Восстановление mySQL баз данных
- osCommerce.Перенос магазина в другой домен
- osCommerce.Прячем адмику
- osCommerce. Продление жизни сессий
- osCommerce. Создаем платежный модуль
- 10 причин выбрать нас
- GRUB2 восстановление
- osCommerce не пересчитывает общую сумму заказа
- Список потенциально опасных скриптов
- Отправка файлов из Dropbox по e-mail
- "Черный список" почтовых доменов
- Боремся с назойливыми иностранцами
- Яндекс-Диск, и стоит ли им пользоваться.
- Обновление модуля Интеркассы для osCommerce
- Веб-почта на сайте хостинга
- Подключение Outlook Express к хостингу
Работаем с бесплатным SSL сертификатом Letsencrypt с помощью certbot
Вот уже с год и более для всех пользователей интернета доступна возможность получить и работать с бесплатным SSLсертификатом, предоставляемым Letencrypt. Поддержку этого проекта осуществляет целый ряд компаний среди которых Cisco, Google, Facebook и др. Заинтересованность компаний в общем-то только в одном - чтобы как можно больше появилось сайтов, использующих защищенное SSL соединение. Поскольку центр сертификации и подтверждения подлинности сертификатов обслуживается под их тщательным присмотром есть вероятность того, что на самом деле соединение не будет тщательно защищено от спецслужб. Но на самом деле - много ли есть контента, который мы хотим от них скрыть? Кому нужно, те могут обратиться к первоисточникам и сами решить, будут ли они использовать этот центр сертификации или нет. Для всех других, в том числе и для меня эта статья будет содержать ряд моментов, которые хотелось бы иметь под рукой.
Итак, во-первых сертификат действительно бесплатный но выдается он на срок примерно 90 дней (во всяком случае сейчас). Длина ключа по-умолчанию составляет 2048 бит, для желающих может быть увеличена до 4096.(опционально ключами). Для работы по получению сертификата можно применять разные утилиты, но здесь будет рассмотрена Certbot. Для получения самой по себе утилиты, используется метод, описанный на сайте, но скрипт приведем ниже:
#!/bin/sh wget https://dl.eff.org/certbot-auto chmod 700 certbot-auto wget -N https://dl.eff.org/certbot-auto.asc gpg --recv-key A2CFB51FA275A7286234E7B24D17C995CD9775F2 gpg --trusted-key 4D17C995CD9775F2 --verify certbot-auto.asc certbot-auto
Итак, утилита лежит на диске и ее можно использовать. Важное замечание - используется Python 2.7 и выше - так что не пугайтесь если все это нужно будет установить, что в общем-то не проблема.
Для создания нового сертификата его нужно получить с центра сертификации, что естественно. Для того, чтобы нельзя было получать фиктивные сертификаты, центр сертификации требует подтверждения владения сайтом, на который получаются сертификаты. В простейшем случае, если использовать метод webroot в корневом каталоге сайта создается каталог .well-known и там создаются короткие файлы, которые центр сертификации пробует получить - как гарантию того, что сайт принадлежит Вам. Поэтому нужно позаботится о том, чтобы с сайта можно было получить эти файлы без авторизации.
Запрос и формирование сертификата для домена sample.com в простейшем случае может выглядеть следующим образом:
#!/bin/sh ./certbot-auto certonly --webroot --webroot-path /home/myuser/data/www/sample.com -d sample.com \ -d www.sample.com -d mail.sample.com -d pop.sample.com
Да, да. В сертификате может быть больше чем один домен - и это подкупает. Однако, как было сказано выше для всех этих доменов в корневом каталоге должна быть возможность создания скриптом файлов и их чтение извне. Ну и корневой каталог для этих доменов тоже должен быть один и тот же. Все, глядя на вывод скрипта можно найти, куда все складывается и как называется. Обычно это /etc/letsencrypt\live\sample.com\*.pem. Еще несколько ключей к этому скрипту. Во-первых --no-self-upgrade - ключ который говорит скрипту не обновлять собственную версию при выполнении. Без этого ключа скрипт сначала проверит свое обновление, обновит себя и библиотеки и только потом уже выполнится. В общем как правило полезно, но не для всех. Кроме того, как писалось ранее есть еще один ключ: --rsa-key-size - он задает размер ключа. По-умолчанию это 2048.
Теперь рассмотрим, как использовать эти сертификаты для. например почтовых программ. Так, для exim4 как сертификат tls_certificate будет использоваться файл /etc/letsencrypt/live/sample.com/fullchain.pem и в качестве секретного или ключ tls_privatekey
шифрования etc/letsencrypt/live/sample.com/privkey.pem.
Для dovecot:
ssl_key=</etc/letsencrypt/live/sample.com/privkey.pem
ssl_cert=</etc/letsencrypt/live/sample.com/cert.pem
ssl_ca=</etc/letsencrypt/live/sample.com/fullchain.pem
Для proftpd:
TLSRSACertificateKeyFile /etc/letsencrypt/live/sample.com/privkey.pem
TLSRSACertificateFile /etc/letsencrypt/live/sample.com/fullchain.pem
Итак, файлы разложены, службы запущены все хорошо. Одно плохо - через 90 дней нужно сертификаты получить заново. Делается это все просто, например так::
#!/bin/sh ./certbot-auto renew --no-self-upgrade
Скрипт сам проверит срок действия сертификатов, и если до их истечения осталось меньше 14 дней - то обновит их. Останется только перезапустить службы, и положить сертификаты по корректным путям, используемым службами. Скрипт можно выполнять когда угодно и сколько угодно раз - сроки действия сертификатов будут проверятся обязательно, ну и не забываем про доступность файлов из каталога well-known в корне этих сайтов.