Где можно получить бесплатные SSL сертификаты

https_secure_websites_free_sslРассмотрим несколько вариантов получения бесплатного SSL сертификата для нашего сайта. Думаю многие читали новости и уже знают, что скоро сайты работающие по «http» будут считаться потенциально опасными и специфически обозначаться в браузерах (по крайней мере в Chrome точно). Кроме этого, уже с год (а возможно и более) наличие сертификата стало влиять на выдачу сайта. Сайты которые работают по «https» ранжируются немного лучше и держат чуть более высокие позиции. Стало быть, пора переводить ваш сайт на https!

Опишу 3 сервиса, двумя из которых пользуюсь сам:

  1. Let’s Encrypt
  2. StartSSL
  3. WoSign
lets_encrypt
Let’s Encrypt

На данный момент является наверное одним из самых новых, но в то же время и самых популярных сервисов по получению бесплатного SSL сертификата. Let’s Encrypt реализован совместно с компаниями  Cisco, Akamai, Mozilla, IdenTrust, а также исследователями из Мичиганского университета.

Я думаю многие понимают, что HTTP без шифрования трафика может создавать массу проблем для сайтов с конфиденциальной информацией: риски кражи аккаунтов, слежка со стороны гос. организаций и коммерческих компаний, инъекция вредоносных скриптов. С помощью Let’s Encrypt вы можете сделать сайт как более безопасным для ваших пользователей, так и немного улучшить ситуацию в плане SEO для себя.

Получения сертификата и его последующая установка в случае с Let’s Encrypt не требует каких-то специфических навыков и много времени, все делается при помощи пару консольных команд в Linux и возможной корректировкой файла конфигурации вашего веб-сервера.

Для автоматической установки нам рекомендуют использовать «Cert Bot«. В нашем примере мы рассмотрим установку для Apache под Debian 7.

Сразу качаем скрипт Certbot и даем ему нужные права:

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

Следующим шагом будет непосредственно запуск самого скрипта:

./certbot-auto --apache

Далее нам надо проверить возможность автоматического продления, т.к. сертификаты Let’s Encrypt действую только в течении 90 дней, их надо постояно продлевать, но это не проблема потому как есть такая возможность, это бесплатно и оно может работать по крону:

./certbot-auto renew --dry-run

Для автоматического обновления, в cron надо добавить следующую команду (если добавляете скрипт в крон, всегда надо указывать ПОЛНЫЙ путь):

./path/to/certbot-auto renew --quiet --no-self-upgrade

На этом и закачивается установка, далее остается лишь немного подправить файлик конфигурации нашего Apache:

<VirtualHost 192.168.1.1:443>
 #SSL Config
 SSLEngine on
 SSLProtocol All -SSLv2 -SSLv3 -TLSv1
 SSLHonorCipherOrder On
 SSLCertificateFile /etc/letsencrypt/live/www.website.com/cert.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/www.website.com/privkey.pem
 SSLCertificateChainFile /etc/letsencrypt/live/www.website.com/chain.pem

ServerAdmin webmaster@website.com
 Servername www.website.com
 ServerAlias website.com
 DocumentRoot /var/www/website/www/
 <Directory /var/www/website/www>
 Options -Indexes +FollowSymLinks +MultiViews +Includes
 AllowOverride All
 Order allow,deny
 allow from all
 </Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
 AllowOverride None
 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 Order allow,deny
 Allow from all
 </Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Как видите, сложного ничего нет, от стандартного файл конфигурации отличается не сильно. Надо не забыть только включить SSL Engine, указать путь до файлов-сертификатов, правильно указать путь к директории с вашим сайтом и отключить устаревшие протоколы SSL и TLSv1. Там где указан IP адрес 192.168.1.1 — надо заменить его на свой, ровно как и _website.com_

Смотрите так же   Обзор бесплатных онлаин сканеров: Проверяем наше веб приложение на уязвимости

Далее перезапускаем наш Apache и у нас все должно работать:

service apache2 restart

Поздравляю, теперь ваш сайт стал еще немного безопаснее и пользователи могут с чистой совестью заходить на него в два раза чаще 🙂

Давайте теперь перейдем к другим сервисам, следующим у нас будет StartSSL.

start_ssl
StartSSL

В отличии от Lets Encrypt, StartSSL на рынке присутствует уже давно. Они занимаюся выдачей как платных сертификатов, включая Wildcard, так и бесплатных, которые нас и интересуют.

Получение бесплатного сертификата в данном случае, процесс такой же простой, как его последующая установка. Нет, тут нету никакого бота, но и трудностей такая задача вызвать не должна даже у новичков.

Первым делом вам нужно зарегистрироваться на сайте StartSSL, далее зайти в личный кабинет и «Certificates Wizzard».

В визарде, требуется указать домен и саб-домен на который вы хотели бы получить сертификат, я советую сразу подумать, как вы хотели бы чтобы ваш сайт работал, с WWW или без и в зависимости от этого выбирать нужную очередность, наш сайт из примера будет работаеть как _website.com_, по этому в поле где надо указывать домены, сразу прописываем _website.com_ , а затем _www.website.com (без подчеркиваний указывать надо, как обычные домены). Учтите, чтобы вообще там указать хоть какие-то домены, их прежде надо валидировать, для этого удобнее всего использовать почтовый ящик с вашим доменом, к примеру webmaster@website.com создать

startssl_valid_domains

Далее, на втором этапе выбираем «Generated by myself», заходим на сервер и генерируем наш private key:

openssl req -newkey rsa:2048 -keyout websitecom.key -out websitecom.csr

Такие имена сертификатом, с именем сайта удобно создавать для того, чтоб потом не путать их.

Смотрите так же   Полезные команды и утилиты для отслеживания загрузки ресурсов в Linux

После того, как ваш приватный ключ сгенерирован, вам надо открыть файлик с расширением .csr и скопировать из него все в специальное поле на сайте StartSSL

startssl_cert_generation

Далее вы сможете скачать архив с вашими сертификатами.

После, этот архив надо распаковать и переместить сертификаты на сервер. Для этого очень удобно использовать WinSCP если работаете из под ОС Windows. Под каждый сайт лучше делать отдельные папки с сертификатами, чтоб их в последствии не путать. В самом конце остается лишь прописать пути к нашим сертификатам и как в случае с Lets Encrypt — перезапустить апач.

LoadModule ssl_module modules/mod_ssl.so

Listen 443


 DocumentRoot /home/httpd/private 
 ErrorLog /usr/local/apache/logs/error_log 
 TransferLog /usr/local/apache/logs/access_log 
 SSLEngine on
 SSLProtocol all -SSLv2 
 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM

 SSLCertificateFile /path/to/certs/2_website.com.crt
 SSLCertificateKeyFile /path/to/certs/websitecom.key
 SSLCertificateChainFile /path/to/certs/1_root_bundle.crt 
 CustomLog /usr/local/apache/logs/ssl_request_log \
 "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

По итогу должно получиться так

ssl_cert_works

На этом, все. Теперь ваш сайт будет доступен по https. В этом случае, опять же как и с предыдущим, лучше отключать SSL и TLSv1 протоколы. Кстати, в отличии от Let’s Encrypt, StartSSL выдает сертификаты сроком на 1 год, но у них нету возможности автоматического продления и по этому, каждый год они рассылают по почте напоминания за месяц до истечения срока действия актуального сертификата.

Ну и на последок быстренько заглянем к WoSign.

wosign_ssl_free
WoSign

Это китайский центр сертификации, они занимаются выдаче как платных, так и бесплатных сертификатов. Выдают они бесплатные сертификаты сроком на 3 года. Увы, но их услугами лично я не пользовался, про возможность продления точно не могу сказать. Единственное, что хотелось бы отметить — это удобство, простота и стабильность того, что уже было перечислено выше. Мой совет вообще — использовать платные сертификаты или Lets Encrypt.

Смотрите так же   Получаем доступ к localhost на удаленном сервере

На сайте WoSign есть очень неплохие мануалы по получению и установке сертификата для разных версий веб-сервера, так что, думаю разобраться там можно без проблем. В этой статье мы рассматривали работу с Apache, и вот для апача соответствующие ссылки на генирацию и конфигурацию сертификата. В остальном — все происходит ровно так же, как и с предыдущими центрами сертификации.

Ссылки на центры сертификации предоставлены в шапке статьи, так что — пользуйтесь на здоровье!

Отступление: Немного про безопасность

Если вы все же решили, что пора переходить на протокол https и хотите, чтоб в адресной строке браузера сияла зелененькая надпись, то стоит не забывать и по корректную конфигурацию вашего сервера, а так же выполнение последующией проверки.

Не забывайте, что в протоколе SSL за последнее время было найдено множество разных типвом уязвимостей и по этой причине они не рекомендуются к использованию, отключайте устаревшие протоколы и работайте с TLSv.1.2

Выполнить проверку вашего сайта на корректность конфигурации «https» можно очень быстро и просто при помощи сервиса _www.ssllabs.com/ssltest/_ от компании Qualys. После выполнения сканирования вы получите список возможных ошибок конфигурации и рекомендации по их устранению.

Может быть интересно:

Добавьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *