Супер крутой интерактивный рассказ про то, как устроен TLS (который ещё зовут SSL'ем). Разобран буквально каждый байт, переданный между клиентом и сервером.
#tls
3 постовОтличная новость для системных администоров и всего интернета. Let's Encrypt начал поддерживать выпуск wildcard-сертификатов.
Что это значит?
Сертификаты безопасности (SSL/TLS-сертификаты) — магический математический артефакт. Он защищает сайты двумя способами: 1. шифрует соединение читателей с сайтом в интернете, так что никто* не может подсмотреть, какие страницы открывает человек или данные он передает через формы сайта 2. позволяет подтвердить**, что между сайтом и читателем не влез злоумышленник, который меняет часть сообщений на другие (например, без SSL злоумышленник мог бы перехватить и изменить ваше банковское поручение).
Система безопасности сейчас построена так, что для создания (выпуска) сертификата нужна третья сторона, так называемый центр сертификации (Certificate Authority). Это бизнес и чуваки собирают деньги за каждый сертификат. Вдобавок, каждый выпуск сертификата это ручной процесс (благо он происходит раз в год или реже).
Несколько лет назад группа людей и организаций (посмотрите About, там много звездных имен) решили, что для общей безопасности нам нужно сделать выпуск сертификатов бесплатным и автоматизированным. И это сработало! Вот безумный график их роста, а вот тут исследование показывает, что 30% пользователей COMODO перешли на Let's Encrypt.
Зачем нужны wildcard'ы?
Дело в том, что порой у сайтов есть много поддоменов (то, что перед именем сайта через точку, www.meduza.io, monitor.meduza.io, specials.meduza.io, например). Как защитить эти сайты? Можно выпустить по отдельному сертификату для каждого этого поддомена. Так многие и делают, но есть ситуации, когда гораздо лучше заказать один (wildcard) сертификат *.meduza.io, который можно использовать на любых поддоменах Медузы.
Раньше LE не умел выпускать wildcart-сертификаты, а теперь научился.
Это был один из последних*** сильных аргументов, чем коммерческие Certificate Authority лучше Let's Encrypt.
Ура!
* Ходят слухи, что у NSA есть способы
** У злоумышленников есть 101 способ обвести вас вокруг пальца. Математику мы делать научились, а интерфейсы, которые бы помогли не попасться на удочку мошенника — нет.
*** Есть ситуации, в которых сертификаты от LE не годятся, но если вы в этой ситуации — то скорее всего знаете, что делать.
Свежее обновление MacOS и Google Chrome перестали доверять сертификатам от WoSign и StartCom. Думаю, любой стартап в какой-то момент своей истории использовал бесплатные сертификаты от StartSSL, так что событие ого-го.
История не новая — у чуваков было очень много багов, позволявших обходить валидацию доменов целиком и выпускать сертификаты для совершенно левых доменов (как насчет левого сертификата для github.com?). Последней каплей стало то, что WoSign купил StartCom и никому об этом не сказал, а когда это всплыло — пытался скрыть. Решение гугла было объявлено 31 октября, решение Apple — 30 ноября и вот оно постепенно доезжает до конечных пользователей. Если ещё используете эти сертификаты где-либо — пришло время их менять прямо сейчас.
Хорошо, что теперь уже нормально работает Let's Encrypt. Для массового продакшена его использовать рано, но для side-проектов и временных доменов — идеальное решение.
Пишу, потому что сегодня сам обжегся — у некоторых редакторов отвалились сокеты во внутренней админке. Конечно, основной EV (extended validation) сертификат Медузы куплен у Comodo. Но сервер сокетов, для скорости, расположен на отдельном секретном домене, в обход основного CDN Медузы. Сертификат для этого домена мы, по привычке, выпустили у StartSSL, и вот результат.
