Клиент использовал полезный сканер безопасности и теперь считает, что заголовок Strict-Transport-Security должен включать параметр «includeSubdomains».
Я добавил оба этих пункта в app.yml:
after_ssl:
- replace:
filename: /etc/nginx/conf.d/outlets/server/20-https.conf
from: "max-age=31536000;"
to: "max-age=31536000; includeSubDomains;"
- replace:
filename: /etc/nginx/conf.d/outlets/discourse/20-https.conf
from: "max-age=31536000;"
to: "max-age=31536000; includeSubDomains;"
Ни один из вариантов не работает. Выполнение команды sed из второго блока внутри контейнера работает, и после перезапуска nginx результат соответствует ожидаемому.
Я не понимаю, почему это не срабатывает.
Кроме того, это ранее присутствовало в шаблоне, но, похоже, было удалено в 2014 году, однако в некоторых недавних публикациях встречаются заголовки, где указан includeSubdomains.
Ну, я переместил её туда, но первоначальная проблема заключается в том, что кто-то утверждал, будто отсутствие параметра includeSubDomains является уязвимостью безопасности.
Мне бы очень хотелось, чтобы кто-то, кто разбирается в вопросе и понимает важность наличия IncludeSubDomains в заголовке STS, прояснил ситуацию. Тогда я смогу сказать этому человеку, что сотни тысяч других сайтов не согласны с ним, и, возможно, скрипт, который кто-то запустил для поиска этих «уязвимостей», работает некорректно.
Так что, возможно, мне стоит переименовать эту тему в «Отсутствие includeSubDomains в заголовке STS считается вредным».
Я всегда говорю людям, что мы очень осторожны при установке заголовков, которые влияют на другие имена хостов в их домене, и если они хотят использовать HSTS для них, им следует установить соответствующие заголовки на этих хостах.
Единственная веская причина, которую я могу придумать, — это невозможность сделать это, например, когда форум размещён на корневом домене, а клиент не может управлять заголовками HSTS на других хостах, размещённых у внешних провайдеров, например, у них также есть hostedshopify.example.com. Тогда они обращаются к вам, потому что вы — путь наименьшего сопротивления