Комментарии 16
HTTP Public Key Pinning (HPKP) [...] но на практике используется очень редко из-за высокой цены ошибки.
И зря, ведь есть режим Public-Key-Pins-Report-Only, который вместо "не пущать" включает режим "пожаловаться в спортлото".
Не включайте потенциально опасные функции без понимания принципов их работы. Оценку «A» в тесте от SSL Labs вы получите и без HSTS, а включить его можно после проверки всего функционала через TLS.
Для начала не А, а А+. Затем про HSTS — ваш совет вредный, если на сервере используется https то на нем юзера и надо оставить. Следом про кривые настройки — это пусть админы серверов отдупляют работу,
Как минимум, перед включением HSTS для всех поддоменов надо настроить HTTPS на всех серверах. Перед, а не после.
А когда переходят на HTTPS — обычно как раз с основного сайта и начинают. Поэтому объединять в одну работу настройку HTTPS и включение HSTS — нельзя. Надо добыть сертификаты для всех субдоменов, настроить все сервера, проверить работоспособность — и только потом включать HSTS.
Наклепать пачку сертификатов с letsencrypt (если жаба душит за wildcard), и добавить строчку в nginx c HSTS заголовком. Вот и все.
Но никак не писать, мол все плохо, HSTS такая западня, чуть-что — все криво, не включайте.
Тут всю статью можно представить в виде твита: Нашел криворучек, прописали HSTS и не позаботились, блаблабла. Все.
Я не уверен, что каждый, кто пробует включать у себя HSTS осознаёт, что удалённо его не отключит у пользователя, если поймёт, что что-то пошло не так, ведь отключить HSTS можно только в рамках валидного соединения по https.
Однако, по настоящему дельный совет, ставить HSTS для начала в несколько секунд и проверять, работает ли всё, я почему-то встречаю далеко не в каждой статье.
Вот с Public-Key-Pins проблема при замене (не своевременной) сертификата, если включен в strict режим.
Используйте технологию HSTS
На сайтах, использующих протокол HTTPS, рекомендуется применять технологию HSTS. В этом случае браузер будет запрашивать страницы HTTPS, даже если пользователь введет http в адресной строке, а Google будет отображать в результатах поиска только защищенные URL. Все это снижает вероятность показа пользователям незащищенного содержания.
Чтобы применять HSTS, используйте веб-сервер, поддерживающий эту технологию.
Технология HSTS усложняет процесс отката, поэтому ее включение следует выполнять следующим образом:
Выполните переход на HTTPS, не включая HSTS.
Активируйте отправку заголовков HSTS с минимальным значением директивы max-age. Отслеживайте объем трафика пользователей и других клиентов, а также эффективность зависимых объектов, например объявлений.
Постепенно увеличивайте значение директивы max-age в заголовках HSTS.
Если HSTS не затрудняет пользователям и поисковым системам просмотр веб-страниц, то сайт можно включить в список предварительной загрузки HSTS в браузере Google Chrome.
https://support.google.com/webmasters/answer/6073543?hl=ru
добавить в него сайт может любой желающий, если веб-сервер отдаёт заголовок Strict-Transport-Security со сроком действия от двух лет
Что-то вы про два года вроде перегнули. Официально так звучит: «The max-age must be at least eighteen weeks (10886400 seconds)» — т.е., собственно, что-то вроде 4 с половиной месяца.
И это сейчас, а раньше в него добавляли и без учета этого условия (возможно, как-то и проверяли, чтобы не 5 минут было, но официально ничего не писали).
Ну а что
Политика включала все субдомены, хотя многие из них были доступны только на 80 порту без TLS.
От 1С ничего прямо сделанного и не ждешь — как-то практика говорит, что накладки не то что могут быть, а прямо-таки почти наверняка будут.
Осторожно: HSTS