Добавление HSTS в конфигурацию nginx

Большинство предоставленных возможностей корректно, но Вы могли скрыть его в простом виде, если у Вас ничего нет чувствительным.

Не помещайте карту сайта и не связывайте никакую другую страницу с целевой страницей. Таким образом, никакой поисковый робот не смог бы проверить Ваш сайт и если человек, получающий доступ к Вашему сайту, не знал точный URL, он не будет знать, как добраться там.

Когда выполнение этого не называет Ваш индекс целевой страницы. {HTML, php, py.pl}

4
задан 22 September 2017 в 01:08
3 ответа

HSTS сообщает браузеру всегда использовать https, а чем http. Добавление этой конфигурации может снизить потребность в пересылке с http на https, поэтому это может очень незначительно повысить производительность веб-сайта и очень незначительно снизить нагрузку на сервер.

Для справки, вот безопасность заголовки, которые я использую на своих сайтах на базе Nginx. Я сохраняю это в один файл и включаю его со всех серверов, которые в нем нуждаются, включая серверы http и https. Он позволяет загружать некоторые общие ресурсы, такие как Google и Facebook.

# Security headers
add_header Strict-Transport-Security "max-age=2592000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header Content-Security-Policy "default-src 'self' www.google-analytics.com ajax.googleapis.com www.google.com google.com gstatic.com www.gstatic.com connect.facebook.net facebook.com;";
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy "origin";

Пояснение

Вам по-прежнему требуется перенаправление http на https.

9
ответ дан 3 December 2019 в 02:28

Я предложил бы указать always параметр в add_header для включения этого заголовка для внутренне сгенерированных ошибочных страниц также.

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Также, добавляют preload директива к заголовку ответа , таким образом, можно позже добавить веб-сайт к списку предварительной нагрузки

0
ответ дан 3 December 2019 в 02:28

Принятый ответ хорош, но он устарел и имеет недостаток, который я обнаружил при построчном исследовании.

Продолжительность заголовка HSTS должна быть не менее трех месяцев для удовлетворения требований безопасности. Я использовал следующее в моем фрагменте заголовков безопасности, чтобы получить A + по тесту SSL:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

Во-вторых, использование X-Frame-Options устарело (и никогда не поддерживалось многими / большинством основных браузеров) . Текущий стандарт (то есть реализованный во всех основных современных браузерах) - это Content-Security-Policy (CSP).

add_header Content-Security-Policy 'frame-ancestors https://mywebapp.mywebsite.example';

Как видно из примера, заголовки CSP должны быть установлены для каждого сайта основы (за исключением умных регулярных выражений и т. д., которых я еще не видел).

3
ответ дан 3 December 2019 в 02:28

Теги

Похожие вопросы