Не скажу, що проти такого підходу. Так, тепер при розробці сайту доводиться думати не тільки про домен і хостинг, але ще і про сертифікат. Але якщо знати, де знайти потрібний SSL і як прикрутити його до сервера, то процес переходу на HTTPS стає швидким і практично безболісним.
Навіщо воно взагалі потрібно?
Для безпеки. Незахищене з'єднання легко піддається навіть примітивним способам атак на зразок аналізу трафіку. Через це людина, «прослуховує» ваш канал, може без особливих проблем отримати і розшифрувати передаються користувачами логіни, паролі, платіжні дані та інші конфіденційні відомості.
У кращому випадку клієнт просто втратить свій аккаунт, в гіршому - скомпрометує інформацію про свою карту або електронному гаманці, а в найгіршому ви повністю втратите доступ до свого сайту, з додатком або сервера.
Істотно знизить ризик таких інцидентів SSL-захист з'єднання, яка і додає букву «S» до вашого HTTP. Це означає, що передача даних зашифрована приватним ключем, який знає тільки клієнт і сервер.
Це врятує від багатьох загроз. Розшифровка кодованих даних вимагає багато часу і ресурсів, реалізація атаки «людина посередині», коли до каналу непомітно підключається третя сторона, стає складніше. Для забезпечення конфіденційності HTTPS-з'єднання досить 95% інтернет-сервісів. Задуматися про більш надійному захисту варто тільки якщо доводиться перевертати сумами, близькими до банківських.
За даними Actual Insights, користувачі не поспішають робити покупки на сайтах без HTTPS. І правильно роблять!
Безкоштовні сертифікати
Видача SSL - комерційна криптографічний послуга. Вона вимагає від центру сертифікації заходів щодо забезпечення захищеності і конфіденційності видаються ключів, тому не дивно, що такий продукт - платний. Але, тим не менш, є реальні способи підключити HTTPS, не витрачаючи грошей.
Самоподпісанний сертифікат. Для сервера, що працює на UNIX, можна створити власний сертифікат, що не підписаний будь-яким довіреною центром. Це забезпечить належний рівень захищеності, але для наших цілей не годиться: Google не довірять такого HTTPS-з'єднання, а браузери питатиме відвідувачів, чи можуть вони довіряти цьому сертифікату. Більшість не розбираються в технологіях людей розгубляться і покинуть ресурс, а розбираються з упевненістю натиснуть «ні».
Втім, для інших цілей такої самоподпісанний SSL-ключ дуже корисний. Наприклад, якщо необхідно встановити захищене з'єднання з в локальній мережі або зашифрувати роботу програмістів на віддаленому тестовому сервері.
Безкоштовний сертифікат. Існують центри, що видають сертифікати без справляння плати. Найбільш відомі три з них - StartSSL, WoSign і Let's Encrypt. До перших двох звертатися не варто - восени 2016 ці компанії були спіймані на те, що видавали SSL-ключі заднім числом, імовірно, щоб допомагати в здійсненні зломів. Тепер браузери Chrome і Firefox видаютьПопередження, якщо відвідуваний сайт підписаний сертифікатами цих центрів.
Втім, від таких інцидентів не застраховані і довірені центри. Буквально недавно з'явилася новина, що Google забанив 30 тис. Сертифікатів Symantec EV-рівня (одні з найдорожчих). Причина: компанія видавала SSL-ключі без особистої зустрічі з власником домену та перевірки документів.
А ось Let's Encrypt - цілком валідний вибір. Він забезпечує високий рівень шифрування 2048-бітовим ключем і визнаний довіреною усіма популярними і не дуже браузерами. На жаль, безкоштовність накладає ряд обмежень:
- Сертифікат не можна встановити на піддомени, включаючи www.
- Потрібно продовжувати кожні 90 днів. Це не складно, але досить набридливо.
- Для установки на Windows-хостинг або поштовий сервер доведеться потанцювати з бубном або розщедритися на ящик пива знайомому сисадміну.
- Сертифікат видається «як є». Якщо Let's Encrypt допустить витік даних або компрометацію ключів, на будь-яку компенсацію не варто розраховувати.
А це графік зростання популярності Let's Encrypt. Правда, серед фішингових сайтів. Безпека з'єднання цей сертифікат гарантує, а от довіру - немає.
Умовно-безкоштовні сертифікати. Деякі хостинг-провайдери та реєстратори доменів пропонують своїм клієнтам додатково отримати сертифікат безкоштовно. Вивчивши популярних хостерів Росії, Білорусі та України, неважко помітити, що найчастіше під цією «чудо-угодою» мається на увазі і так безкоштовний Let's Encrypt.
Вдалося знайти лише одну компанію - REG.RU - яка разом з доменом або хостингом дарує на рік реальний платний сертифікат DomainSSL від центру GlobalSign. Він підтримує піддомени і популярні серверні платформи, має гарантійні зобов'язання. Цей варіант ми і вибрали для нашого сервісу : Він поєднує безкоштовність і широкий набір можливостей.
Можливо, ви знає інших провайдерів, що пропонують в подарунок реальні платні сертифікати. Напишіть про це в коментарях, цікаво було б порівняти їх пропозиції з послугами REG.RU.
Платні сертифікати
Якщо немає бажання використовувати Let's Encrypt або купувати послуги на REG.RU, то можна замовити сертифікат у одного з атестованих центрів. Найбільшою популярністю і довірою користуються:
- Comodo.
- GoDaddy.
- TrustWave.
- GlobalSign.
- Thawte.
- Symantec (хоча в світлі останніх новин ...).
ТОП-8 центрів видачі SSL за версією Netkraft
Всі ці компанії, крім випуску SSL, розробляють інші продукти в сфері інформаційної безпеки: антивіруси, міжмережеві екрани, DLP-системи. Якщо вам потрібні сертифікати захисту не тільки для задоволення вимог Google, то краще зупинитися саме на платному варіанті. На що звернути увагу при виборі:
Захист піддоменів. Вказує, чи можна підтвердити сертифікатом тільки основний домен, або всі належні йому адреси нижчого рівня. Корисно, якщо частина контенту сервісу винесена на домен на кшталт app.domain.com. Зазвичай такі SSL містять в назві тарифу термін «Wildcard».
Вартість. Більшість центрів пропонують тарифи різного цінового рівня, які підійдуть як початківцю стартапу, так і великої організації. Виняток становить тільки Symantec, чиї ключі обійдуться мінімум в 20 тис. Рублів на рік.
Доступ фізичним і юридичним особам. Деякі сертифікати можна придбати тільки для офіційно зареєстрованої компанії. У такому випадку буде потрібно додаткове пошкодження бізнес-рівня власника ключа. SSL, призначені приватним клієнтам, зазвичай можна купити і для юр. особи.
Підтримка IDN. Якщо ваші смаки специфічні і ви віддаєте перевагу кириличні домени, то необхідно упевниться, що ця послуга доступна, інакше HTTPS не запрацює.
Підтримка EV. Як би центри сертифікації не розписувалися переваги цієї послуги, єдине, що вона реально робить - забарвлює рядок браузера в зелений колір. Якщо бізнес часто стикається з фішингом і шахрайському, то варто подумати про покупку такого SSL. В іншому випадку - не важливо функція.
Думаєте, відвідувачі не перевіряють наявність SSL-сертифікату?У GlobalSignвважають інакше.
Як підключити
Після замовлення випуску сертифіката ви отримаєте дані для його установки. У них входить:
- Безпосередньо сам сертифікат.
- Кореневий сертифікат.
- Проміжний сертифікат.
- Запит на отримання сертифіката.
- Приватний ключ.
Залежно від використовуваних платформ процес установки сертифіката буде відрізнятися. Тут я опишу тільки основні кроки, а також ті моменти, які в інструкціях часто опускають:
- Для початку потрібно створити файли .crt і .key. Зверніть увагу, що для Apache і Nginx вони конфігуруються по-різному!
- Далі необхідно завантажити файли, що вийшли на сервер. Віддаю перевагу для цього використовувати клієнт FileZilla і SSH-протокол.
- Наступний крок - зміна конфігурації сервера. Необхідно прописати шляхи до створених раніше файлів і призначити машину на 443 порт. Він повинен бути відкритий для вхідних з'єднань, інакше веб-сайт не завантажиться.
- Якщо використовуєте Nginx, рекомендую відразу ж прописати в конфігах редіректи 301 для посилань з HTTP і WWW. Для Apache налаштуйте файл .htaccess.
- Перезапустити сервер.
На цьому все. Тепер сервіс передає всю інформацію через захищений протокол HTTPS.
Навіщо воно взагалі потрібно?Навіщо воно взагалі потрібно?
Думаєте, відвідувачі не перевіряють наявність SSL-сертифікату?