HTTPS и сертификаты простыми словами

Замок означает, что соединение с этим сайтом зашифровано, а сервер подтвердил свою личность сертификатом, — и больше ничего. О том, честен ли сам сайт, он не говорит: фишеры тоже отдают HTTPS. Читайте его как «никто в этом Wi-Fi не подслушает», а не как «сайт безопасен».

Предупреждение о сертификате — это знак «стоп», а не совет: просроченный, выписанный на другое имя или самоподписанный сертификат на публичном сайте значит, что кто-то может сидеть посередине. Никогда не проходите его на банковских сайтах, в почте и везде, где вводят пароль. На своём сервере бесплатные автоматические сертификаты уже много лет назад убрали последнюю отговорку для простого HTTP.

HSTS и почему это важно

Первый визит на сайт всё ещё можно понизить до HTTP атакой на линии — если только сайт не отдаёт заголовок Strict-Transport-Security, который велит браузерам отказываться от простого HTTP на месяцы вперёд. Если вы держите сайт, включите HSTS после того, как убедились, что HTTPS работает везде, включая поддомены; если вы только смотрите, знайте, что замок при первом заходе в незнакомый Wi-Fi слабее, чем кажется.

Ловушка при локальной разработке

Разработчики каждый день проходят предупреждения о сертификатах на localhost и тренируют ровно тот рефлекс, который нужен атакующим. Используйте локальный CA (mkcert настраивается за две минуты), чтобы даже разработка отдавала настоящий HTTPS: пальцы не должны привыкать к тому, что предупреждения — это норма.

Что дальше
VPN: личный сервер с российским IP
Фишинг: распознать за 10 секунд
Двухфакторная аутентификация