Бесплатный ssl-сертификат для интернет магазина на Битрикс и коробки Битрикс24
9 февраля 2017
Описание
Как широко известно, с 1 января 2017 года наступает три важных события в жизни интернет-магазинов.
План работ
SSL-сертификат используется для шифрования трафика между сервером интернет-магазина и браузером пользователя. В большинстве случаев он гарантирует, что никто не "подслушивает" и не подменяет данные.
Итак, нам нужно перевести интернет-магазин на HTTPS. Эта задача решается в несколько крупных шагов:
Шаг 1. Покупаем или устанавливаем бесплатный SSL-сертификат
Базовый ssl-сертификат (domain validation - DV)
Обычно ssl-сертификат покупают на 1 год или более (далее его надо снова покупать). Минимальная стоимость ssl-сертификата - 600 рублей, эту цену легко найти через поисковик. За 600 рублей можно купить базовый ssl-сертификат компании Comodo на 1 год для одного доменного имени, например, magazin.ru и www.magazin.ru.
Сертификаты такого уровня дают нормальную базовую защиту (проверяется лишь факт принадлежности вам домена), признаются большинством браузеров, но не имеют дополнительного подтверждения: имя вашей компании не покажется при проверке сертификата. Заветная иконка замочка будет показана на сайте, но большинство браузеров отобразят его в сером цвете. Как, например, у нас :
Если вам нужен сертификат на несколько доменов, его стоимость возрастет. Wildcard-сертификаты, которые можно устанавливать на любое число поддоменов, например, test.magazin.ru, piter.magazin.ru, ufa.magazin.ru, стоят от 7 тысяч рублей и выше. Для крупных магазинов, может быть, это не является проблемой, но средние и небольшие магазины лучше потратят эти деньги на развитие сайта.
Подведем итог. Базовый ssl-сертификат:
Отличается от базового процедурой проверки компании, которая покупает сертификат, по ЕГРЮЛ. Имя компании, адрес ее местонахождения будут отображены в подробной информации о сертификате. Но при этом "заветный замочек" все еще будет серым. Начинается стоимость таких сертификатов от 5000 р. Для кириллических доменов, есть сведения, дешевле.
Характеристики делового ssl-сертификата:
Дает максимальную уверенность пользователям, но нужен только для крупных интернет-магазинов. Для получения сертификата надо пройти расширенную проверку телефона компании, юридического лица, должностного лица, подающего заявку. Процедура ускоряется, если у компании уже есть регистрация в реестрах.
Платим от 13 000 рублей и, наконец, искатели заветного зеленого замочка достигают своей мечты:
Характеристики расширенного ssl-сертификата:
Чтобы сделать интернет безопаснее, крупные западные корпорации совместно с фондом Electronic Frontier Foundation основали первый некоммерческий авторизационный центр Let's Encrypt. Подробнее - см. по ссылке (на английском). Сервис разработан и поддерживается компанией Internet Security Research Group (ISRG).
Суть этого сервиса в том, что теперь любой сайт может бесплатно получить ssl-сертификат и продлять его без ограничения срока.
Получить бесплатный ssl-сертификат можно двумя способами:
Если Вы решили получить сертификат вручную, а затем установить его на свою Виртуальную машину Bitrix VM, воспользуйтесь готовой инструкцией по установке ssl-сертификата на виртуальную машину Битрикс.
Шаг 2. Установка ssl-сертификата на сервер
Если ваш интернет-магазин, сайт или портал Битрикс24 в коробке работает на виртуальной машине Битрикс, вы сможете установить и настроить ssl-сертификат от Let's Encrypt при наличии у вас базовых знаний по администрированию серверов на Unix. Если вы не хотите тратить свое время или не обладаете такими навыками, пожалуйста, обращайтесь в нашу компанию, мы поможем перевести ваш сайт на HTTPS.
Если сайт работает на shared-хостинге, стоит обратиться к хостинг-провайдеру для установки ssl-сертификата. Процедура установки сертификата Let's Encrypt на сервера без виртуальной машины принципиально не отличаются. В помощь Вам будет этот мастер на сайте Certbot - https://certbot.eff.org.
Стоит заметить, что для большинства веб-серверов Certbot работает в автоматическом режиме: он получает, устанавливает и продляет сертификаты самостоятельно. Например, Apache на Ubuntu Server 16.10. А вот для Nginx на CentOS 6 не содержит в своем репозитории Certbot и работает только в ручном режиме. Подробнее - см. https://certbot.eff.org
Установка ssl-сертификата Let's Encrypt на Виртуальную машину Битрикс
Как мы помним, за работу по HTTPS в виртуальной машине Битрикс отвечает NGINX. Мы вернемся к нему, как только получим сертификат.
1. Для начала зайдем установим Certbot
Зайдем на сервер с интернет-магазином по ssh с правами root и установим Certbot в папку /usr/local/sbin напрямую в с сайта EFF.
2. Приступим к получению сертификата.
Для получения сертификата необходимо выполнить команду с вызовом Certbot'a с определенными параметрами:
--webroot — специальный ключ, повышающий надежность работы Certbot под Nginx;
--agree-tos — автоматическое согласие с Условиями предоставления услуг (Terms of Services;
--email myemail@domen.ru — Ваш e-mail. Будьте внимательны, его нельзя изменить, он потребуется, например, для восстановления доступа к домену и для его продления;
-w /home/bitrix/www — указываем корневую директорию сайта основного сайта; если у вас несколько многосайтовая конфигурация, укажите путь к доп. сайту - /home/bitrix/ext_www/
-d domen.ru — через ключ -d мы указываем, для каких доменов мы запрашиваем сертификат. Начинать надо c домена второго уровня domen.ru и через такой же ключ указывать поддомены, например, -d www.domen.ru -d opt.domen.ru
Скрипт Certbot начнем свою работу, предложит установить дополнительные пакеты, соглашайтесь и ждите окончания работы.
При успешном завершении работы Certbot поздравляет Вас с генерацией сертификата и выдает следующее сообщение:
* - если вместо этого сообщения появляется ошибка "Failed to connect to host for DVSNI challenge ", то вам необходимо настроить ваш Firewall так, чтобы был разрешен TCP-трафик на портах 80 и 443.
** - если вы используете сервисы типа Cloudflare для вашего домена, предварительно отключите их на время генерации сертификата.
3. Настройка Nginx
Ура! Мы получили бесплатный ssl-сертификат на 3 месяца. Нам осталось только настроить Nginx и поставить автоматическое продление сертификата на cron.
Но сначала давайте повысим уровень безопасности и сгенерируем группу Диффи — Хеллмана. Это повысит уровень шифрования и поможет нам в дальнейшем получить оценку А+ при проверке сертификата.
Ждем примерно 2-4 минуты и переходим к конфигурированию Nginx.
Открываем файл /etc/nginx/bx/conf/ssl.conf и прописываем в нем пути к только что полученным сертификатам.
И идем проверять свежеустановленный сертификат на сервисе SSL Analyzer - https://www.ssllabs.com/ssltest/.
Если вы все сделали правильно, то должны увидеть приятную картинку — как эта:
Для автоматического продления сертификата необходимо добавить в крон команды запуска certbot:
Вручную же можно продлить сертификаты следующей командой:
Если теперь вы хотите переключить весь трафик на HTTPS, то в ВМ Битрикс это делается согласно инструкции.
Итог
Спасибо всем, кто дочитал до конца.
Оригинал статьи доступен: https://www.infospice.ru/blog/?page=post&blog=blogs&post_id=67
- Google и Mozilla выпускают новые версии популярных браузеров Google Chrome и Firefox, которые начнут помечать сайты, работающие без ssl-сертификата, как небезопасные. И предупреждать об этом пользователей. Ничего ужасного, но доверие к таким сайтам упадет.
- Поисковые системы начнут приоритетно ранжировать сайты, работающие по HTTPS, с ssl-сертификатом
- Начинается подготовка к передаче данных об онлайн-оплатах в интернет-магазинах в ФНС через операторов фискальных данных. Обязательное подключение интернет-касс начнется с 01 июля 2017. Для передачи потребуется SSL-сертификат. Настроить ваш интернет-магазин на Битриксе вы сможете после выхода 17-й версии.
План работ
SSL-сертификат используется для шифрования трафика между сервером интернет-магазина и браузером пользователя. В большинстве случаев он гарантирует, что никто не "подслушивает" и не подменяет данные.
Итак, нам нужно перевести интернет-магазин на HTTPS. Эта задача решается в несколько крупных шагов:
- Достать ssl-сертификат.
- Установить ssl-сертификат на хостинг.
- Настроить сайт.
- Оповестить поисковые системы о переходе на HTTPS.
Шаг 1. Покупаем или устанавливаем бесплатный SSL-сертификат
Базовый ssl-сертификат (domain validation - DV)
Обычно ssl-сертификат покупают на 1 год или более (далее его надо снова покупать). Минимальная стоимость ssl-сертификата - 600 рублей, эту цену легко найти через поисковик. За 600 рублей можно купить базовый ssl-сертификат компании Comodo на 1 год для одного доменного имени, например, magazin.ru и www.magazin.ru.
Сертификаты такого уровня дают нормальную базовую защиту (проверяется лишь факт принадлежности вам домена), признаются большинством браузеров, но не имеют дополнительного подтверждения: имя вашей компании не покажется при проверке сертификата. Заветная иконка замочка будет показана на сайте, но большинство браузеров отобразят его в сером цвете. Как, например, у нас :
Подведем итог. Базовый ssl-сертификат:
- шифрует трафик;
- повышает доверие клиентов к сайту;
- подтверждает только доменное имя сайта.
- добавляет заветный замочек в браузере к адресу сайта;
- можно купить на один или несколько поддоменов;
- доступен физическим или юридическим лицам;
- дешев и сердит).
Отличается от базового процедурой проверки компании, которая покупает сертификат, по ЕГРЮЛ. Имя компании, адрес ее местонахождения будут отображены в подробной информации о сертификате. Но при этом "заветный замочек" все еще будет серым. Начинается стоимость таких сертификатов от 5000 р. Для кириллических доменов, есть сведения, дешевле.
- шифрует трафик;
- повышает доверие клиентов к сайту;
- подтверждает доменное имя, название и адрес компании;
- добавляет серый замочек к адресу сайта в браузере;
- можно купить на один или несколько поддоменов;
- доступен только юридическим лицам;
- добавляет компанию в реестр на dnb.ru или yp.ru
- не столь дешевый, но и менее сердитый .
Дает максимальную уверенность пользователям, но нужен только для крупных интернет-магазинов. Для получения сертификата надо пройти расширенную проверку телефона компании, юридического лица, должностного лица, подающего заявку. Процедура ускоряется, если у компании уже есть регистрация в реестрах.
Платим от 13 000 рублей и, наконец, искатели заветного зеленого замочка достигают своей мечты:
- шифрует трафик также, как и другие типы сертификатов;
- дает максимальное доверие клиентов к сайту;
- выводит имя компании рядом с адресом сайта.
- добавляет зеленый замочек в браузере к адресу сайта;
- можно купить только на один домен;
- доступен только юридическим лицам;
- добавляет компанию в реестр на dnb.ru или yp.ru
- Самый дорогой вариант.
Чтобы сделать интернет безопаснее, крупные западные корпорации совместно с фондом Electronic Frontier Foundation основали первый некоммерческий авторизационный центр Let's Encrypt. Подробнее - см. по ссылке (на английском). Сервис разработан и поддерживается компанией Internet Security Research Group (ISRG).
Получить бесплатный ssl-сертификат можно двумя способами:
- Вручную на сайте https://letsencrypt.org/getting-started/ и далее через раздел Ручной режим - manual mode
- Полуавтоматически или автоматически (в зависимости от ПО вашего сервера, на котором работает интернет-магазин, сайт или Битрикс24) через бота Certbot
Шаг 2. Установка ssl-сертификата на сервер
Если ваш интернет-магазин, сайт или портал Битрикс24 в коробке работает на виртуальной машине Битрикс, вы сможете установить и настроить ssl-сертификат от Let's Encrypt при наличии у вас базовых знаний по администрированию серверов на Unix. Если вы не хотите тратить свое время или не обладаете такими навыками, пожалуйста, обращайтесь в нашу компанию, мы поможем перевести ваш сайт на HTTPS.
Если сайт работает на shared-хостинге, стоит обратиться к хостинг-провайдеру для установки ssl-сертификата. Процедура установки сертификата Let's Encrypt на сервера без виртуальной машины принципиально не отличаются. В помощь Вам будет этот мастер на сайте Certbot - https://certbot.eff.org.
Стоит заметить, что для большинства веб-серверов Certbot работает в автоматическом режиме: он получает, устанавливает и продляет сертификаты самостоятельно. Например, Apache на Ubuntu Server 16.10. А вот для Nginx на CentOS 6 не содержит в своем репозитории Certbot и работает только в ручном режиме. Подробнее - см. https://certbot.eff.org
Установка ssl-сертификата Let's Encrypt на Виртуальную машину Битрикс
Как мы помним, за работу по HTTPS в виртуальной машине Битрикс отвечает NGINX. Мы вернемся к нему, как только получим сертификат.
1. Для начала зайдем установим Certbot
Зайдем на сервер с интернет-магазином по ssh с правами root и установим Certbot в папку /usr/local/sbin напрямую в с сайта EFF.
$ cd /usr/local/sbin $ sudo wget
https://dl.eff.org/certbot-auto
Получить последнюю версию Certbot можно также с Github (убедитесь, что у вас есть git):
$ cd /tmp
$ git clone
https://github.com/certbot/certbot
Далее переходим в директорию со свежескаченным Certbot-ом и дадим боту права на исполнение:
$ sudo chmod a+x /usr/local/sbin/certbot-auto
2. Приступим к получению сертификата.
Для получения сертификата необходимо выполнить команду с вызовом Certbot'a с определенными параметрами:
$ certbot-auto certonly --webroot --agree-tos --email myemail@domen.ru -w /home/bitrix/www/ -d domen.ru -d
www.domen.ru
где, --webroot — специальный ключ, повышающий надежность работы Certbot под Nginx;
--agree-tos — автоматическое согласие с Условиями предоставления услуг (Terms of Services;
--email myemail@domen.ru — Ваш e-mail. Будьте внимательны, его нельзя изменить, он потребуется, например, для восстановления доступа к домену и для его продления;
-w /home/bitrix/www — указываем корневую директорию сайта основного сайта; если у вас несколько многосайтовая конфигурация, укажите путь к доп. сайту - /home/bitrix/ext_www/
-d domen.ru — через ключ -d мы указываем, для каких доменов мы запрашиваем сертификат. Начинать надо c домена второго уровня domen.ru и через такой же ключ указывать поддомены, например, -d www.domen.ru -d opt.domen.ru
Скрипт Certbot начнем свою работу, предложит установить дополнительные пакеты, соглашайтесь и ждите окончания работы.
При успешном завершении работы Certbot поздравляет Вас с генерацией сертификата и выдает следующее сообщение:
IMPORTANT NOTES: - If you lose your account credentials, you can recover through e-mails sent to sammy@digitalocean.com
- Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/domen.com/fullchain.pem. Your cert will expire on 2017-03-12. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - Your account credentials have been saved in your Let's Encrypt configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Let's Encrypt so making regular backups of this folder is ideal. - If like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
* - если вместо этого сообщения появляется ошибка "Failed to connect to host for DVSNI challenge ", то вам необходимо настроить ваш Firewall так, чтобы был разрешен TCP-трафик на портах 80 и 443.
** - если вы используете сервисы типа Cloudflare для вашего домена, предварительно отключите их на время генерации сертификата.
3. Настройка Nginx
Ура! Мы получили бесплатный ssl-сертификат на 3 месяца. Нам осталось только настроить Nginx и поставить автоматическое продление сертификата на cron.
Но сначала давайте повысим уровень безопасности и сгенерируем группу Диффи — Хеллмана. Это повысит уровень шифрования и поможет нам в дальнейшем получить оценку А+ при проверке сертификата.
$ openssl dhparam -out /etc/nginx/ssl/c/dhparam.pem 2048
Ждем примерно 2-4 минуты и переходим к конфигурированию Nginx.
Открываем файл /etc/nginx/bx/conf/ssl.conf и прописываем в нем пути к только что полученным сертификатам.
ssl_certificate /etc/letsencrypt/live/infospice.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/infospice.ru/privkey.pem;
Ниже вы найдете дополнительные директивы Nginx, которые позволяет получить вам оценку А+ при проверке сертификата на sslanalyzer:
# SSL encryption parameters ssl on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECD$ ssl_prefer_server_ciphers on; # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months) add_header Strict-Transport-Security max-age=15768000; # OCSP Stapling --- # fetch OCSP records from URL in ssl_certificate and cache them ssl_stapling on; resolver 8.8.4.4 8.8.8.8 valid=600s; ssl_stapling_verify on; ssl_dhparam /etc/nginx/ssl/dhparam.pem; ssl_certificate /etc/letsencrypt/live/domen.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domen.ru/privkey.pem; # performance ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m;
Сохраняем изменения, тестируем конфигурацию Nginx:
$ nginx -t
Если никаких ошибок нет, перезапускаем Nginx:
$ service nginx reload
И идем проверять свежеустановленный сертификат на сервисе SSL Analyzer - https://www.ssllabs.com/ssltest/.
Если вы все сделали правильно, то должны увидеть приятную картинку — как эта:
$ nano /etc/crontab
И добавляем строки
30 2 * * 1 /usr/local/sbin/certbot-auto renew >> /var/log/le-renew.log 35 2 * * 1 /etc/init.d/nginx reload
Теперь каждый понедельник в 2-30 наш сертификат(ы) будет продляться автоматически, результат запишется в лог. В 2-35, после продления сертификата, перезагрузится конфигурация Nginx. Вручную же можно продлить сертификаты следующей командой:
$ certbot-auto renew
Так как наши сертификаты уже сгенерированы, Certbot их просто продлит. Если теперь вы хотите переключить весь трафик на HTTPS, то в ВМ Битрикс это делается согласно инструкции.
Итог
- Мы узнали, зачем нужен ssl-сертификат, какие виды сертификатов бывают.
- Получили бесплатный ssl-сертификат или купили его.
- Установили ssl-сертификат на сайт и проверили, что теперь сайт работает по HTTPS, как того добивался великий Google и иже с ними.
Спасибо всем, кто дочитал до конца.
Оригинал статьи доступен: https://www.infospice.ru/blog/?page=post&blog=blogs&post_id=67
Вам нужна консультация?
Можете связаться с нами удобным удобным способом
- позвонить по номеру +7-778-003-002-0
- написать на почту sale@ready.kz
- заказать звонок
- заполнить форму обратной связи