- План робіт
- Крок 1. Купуємо або встановлюємо безкоштовний SSL-сертифікат
- Крок 2. Встановлення ssl-сертифіката на сервер
- Для початку зайдемо встановимо Certbot
- Приступимо до отримання сертифіката
- Налаштування Nginx
- підсумок
З 1 січня 2017 року настало три важливих події в житті інтернет-магазинів.
Google і Mozilla випустили нові версії популярних браузерів Google Chrome і Firefox, які почали позначати сайти, що працюють без ssl-сертифікату, як небезпечні. І попереджають про це користувачів. Нічого жахливого, але довіру до таких сайтів знижується.
Пошукові системи почали пріоритетно ранжувати сайти, що працюють по HTTPS, з ssl-сертифікатом.
Почалася підготовка до передачі даних про онлайн-оплатах в інтернет-магазинах в ФНС через операторів фіскальних даних. Обов'язкове підключення інтернет-кас почнеться з 01 липня 2017. Для передачі потрібно SSL-сертифікат.
Як же отримати заповітний ssl-сертифікат, та ще й безкоштовно?
Необхідний сайт, мобільний додаток, послуги з SEO або контекстну рекламу? Тендерна майданчик
WORKSPACE допоможе вибрати оптимального виконавця. База проекту налічує більше 10 500 агентств . Сервіс БЕЗКОШТОВНИЙ для замовників.
План робіт
SSL-сертифікат використовується для шифрування трафіку між сервером інтернет-магазину і браузером користувача. У більшості випадків він гарантує, що ніхто не «підслуховує» і не підміняє дані.
Отже, нам потрібно перевести інтернет-магазин на HTTPS. Це завдання вирішується в кілька великих кроків:
Дістати ssl-сертифікат.
Встановити 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-сертифікат:
шифрує трафік;
підвищує довіру клієнтів до сайту;
підтверджує тільки доменне ім'я сайту.
додає заповітний замочок в браузері до Веб-сайт Топ;
можна купити на один або кілька піддоменів;
доступний фізичним або юридичним особам;
дешевий і сердитий).
Діловий ssl-сертифікат (Company / Organization validation)
Відрізняється від базового процедурою перевірки компанії, яка купує сертифікат, по ЕГРЮЛ. Ім'я компанії, адреса її місцезнаходження будуть відображені в докладної інформації про сертифікат. Але при цьому «заповітний замочок» все ще буде сірим. Починається вартість таких сертифікатів від 5000 р. Для кириличних доменів, є відомості, дешевше.
Характеристики ділового ssl-сертифікату:
шифрує трафік;
підвищує довіру клієнтів до сайту;
підтверджує доменне ім'я, назву та адресу компанії;
додає сірий замочок до адресою сайту в браузері;
можна купити на один або кілька піддоменів;
доступний тільки юридичним особам;
додає компанію до реєстру на dnb.ru або yp.ru
не настільки дешевий, але і менш сердитий 8).
SSL-сертифікат з розширеною перевіркою (той самий зелений замочок b7aa017f475ed96546e981336f4509fe.png - EV)
Дає максимальну впевненість користувачам, але потрібен тільки для великих інтернет-магазинів. Для отримання сертифікату треба пройти розширену перевірку телефону компанії, юридичної особи, посадової особи, яка подає заявку. Процедура прискорюється, якщо у компанії вже є реєстрація в реєстрах.
Платимо від 13 000 рублів і, нарешті, шукачі звітного зеленого замочка досягають своєї мрії:
Характеристики розширеного ssl-сертифікату:
шифрує трафік також, як і інші типи сертифікатів;
дає максимальну довіру клієнтів до сайту;
виводить ім'я компанії поруч з адресою сайту.
додає зелений замочок в браузері до Веб-сайт Топ;
можна купити тільки на один домен;
доступний тільки юридичним особам;
додає компанію до реєстру на dnb.ru або yp.ru
Найдорожчий варіант.
Як отримати ssl-сертифікат безкоштовно
Щоб зробити інтернет безпечнішим, великі західні корпорації спільно з фондом Electronic Frontier Foundation заснували перший некомерційний авторизаційний центр Let's Encrypt. Детальніше - див. По засланні (англійською). Сервіс розроблений і підтримується компанією Internet Security Research Group (ISRG).
Суть цього сервісу в тому, що тепер будь-який сайт може безкоштовно отримати ssl-сертифікат і продовжувати його без обмеження терміну.
Отримати безкоштовний ssl-сертифікат можна двома способами:
Вручну на сайті letsencrypt.org/getting-started/ і далі через розділ Ручний режим - manual mode
Напівавтомат або автоматично (залежно від ПО вашого сервера, на якому працює інтернет-магазин, сайт або Бітрікс24) через бота Certbot
Якщо Ви вирішили отримати сертифікат вручну, а потім встановити його на свою Віртуальну машину Bitrix VM, скористайтеся готової інструкцією по установці ssl-сертифіката на віртуальну машину Бітрікс .
Крок 2. Встановлення ssl-сертифіката на сервер
Якщо ваш інтернет-магазин, сайт або портал Бітрікс24 в коробці працює на віртуальній машині Бітрікс, ви зможете встановити і налаштувати ssl-сертифікат від Let's Encrypt при наявності у вас базових знань з адміністрування серверів на Unix. Якщо ви не хочете витрачати свій час або не володієте такими навичками, будь ласка, звертайтеся в нашу компанію, ми допоможемо перевести ваш сайт на HTTPS.
Якщо сайт працює на shared-хостингу, варто звернутися до хостинг-провайдеру для установки ssl-сертифікату. Процедура установки сертифіката Let's Encrypt на сервера без віртуальної машини принципово не відрізняються. На допомогу Вам буде цей майстер на сайті Certbot .
Варто зауважити, що для більшості веб-серверів Certbot працює в автоматичному режимі: він отримує, встановлює і подовжує сертифікати самостійно. Наприклад, Apache на Ubuntu Server 16.10. А ось для Nginx на CentOS 6 не містить в своєму репозиторії Certbot і працює тільки в ручному режимі. Детальніше - див. certbot.eff.org
Установка ssl-сертифіката Let's Encrypt на Віртуальну машину Бітрікс
Як ми пам'ятаємо, за роботу по HTTPS у віртуальній машині Бітрікс відповідає NGINX. Ми повернемося до нього, як тільки отримаємо сертифікат.
Для початку зайдемо встановимо 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
Приступимо до отримання сертифіката
Для отримання сертифікату необхідно виконати команду з викликом Certbot'a з певними параметрами:
$ Certbot-auto certonly -webroot -agree-tos -email [email protected] -w / home / bitrix / www / -d domen.ru -d www.domen.ru
де,
-webroot - спеціальний ключ, що підвищує надійність роботи Certbot під Nginx;
-agree-tos - автоматичну згоду з Умовами надання послуг (Terms of Services;
-email [email protected] - Ваш 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 [email protected] - 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 для вашого домену, попередньо вимкніть їх на час генерації сертифіката.
Налаштування 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 .
Якщо ви все зробили правильно, то повинні побачити приємну картинку - як ця:
Для автоматичного продовження сертифіката необхідно додати в крон команди запуску certbot:
$ 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 і оповіщення пошукових систем ми напишемо в наступній статті.
Спасибі всім, хто дочитав до кінця.
Як же отримати заповітний ssl-сертифікат, та ще й безкоштовно?Необхідний сайт, мобільний додаток, послуги з SEO або контекстну рекламу?