Обновить
Комментарии 16
HTTP Public Key Pinning (HPKP) [...] но на практике используется очень редко из-за высокой цены ошибки.

И зря, ведь есть режим Public-Key-Pins-Report-Only, который вместо "не пущать" включает режим "пожаловаться в спортлото".

я вот не могу понять, если, допустим, через MitM кто-то подменил сертификат своего сайта, чтобы он выглядел "как фейсбук", то как можно полагаться на жалобы, если они идут через то же, скомпрометированное соединение?

Надеяться на них — нельзя. А вот пришедшей жалобе доверять можно.

От спортлото мало толку, тем более Гугол обещал сделать глобальный CT log.
А хардкорный режим следует включать после покупки HSM, но он дорогой и требуется в основном банкам с платёжными шлюзами.
Не включайте потенциально опасные функции без понимания принципов их работы. Оценку «A» в тесте от SSL Labs вы получите и без HSTS, а включить его можно после проверки всего функционала через TLS.

Для начала не А, а А+. Затем про HSTS — ваш совет вредный, если на сервере используется https то на нем юзера и надо оставить. Следом про кривые настройки — это пусть админы серверов отдупляют работу, следят за обновлением сертификатов поставят letsencrypt в кроне.

Как минимум, перед включением HSTS для всех поддоменов надо настроить HTTPS на всех серверах. Перед, а не после.


А когда переходят на HTTPS — обычно как раз с основного сайта и начинают. Поэтому объединять в одну работу настройку HTTPS и включение HSTS — нельзя. Надо добыть сертификаты для всех субдоменов, настроить все сервера, проверить работоспособность — и только потом включать HSTS.

Блаблабла, давайте еще гайд напишем, сисадмин за 15 минут. Ейбогу, к чему так драматизировать?
Наклепать пачку сертификатов с letsencrypt (если жаба душит за wildcard), и добавить строчку в nginx c HSTS заголовком. Вот и все.
Но никак не писать, мол все плохо, HSTS такая западня, чуть-что — все криво, не включайте.
Тут всю статью можно представить в виде твита: Нашел криворучек, прописали HSTS и не позаботились, блаблабла. Все.
Нафига вся эта паранойя человеку, который просто хочет видеть зелёный значок в адресной строке Хрома?

Я не уверен, что каждый, кто пробует включать у себя HSTS осознаёт, что удалённо его не отключит у пользователя, если поймёт, что что-то пошло не так, ведь отключить HSTS можно только в рамках валидного соединения по https.


Однако, по настоящему дельный совет, ставить HSTS для начала в несколько секунд и проверять, работает ли всё, я почему-то встречаю далеко не в каждой статье.

Вся разница между А и А+ как раз HSTS. Исключительно.
С 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С ничего прямо сделанного и не ждешь — как-то практика говорит, что накладки не то что могут быть, а прямо-таки почти наверняка будут.
То чувство внутреннего удовлетворения, когда не стал играться с непроверенной новой технологией, а она и не нужна оказалась.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.