Pull to refresh

Comments 28

Для тех, кто не хочет настраивать IIS через UI — заголовки можно прописать в файле web.config:


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="X-XSS-Protection" value="1; mode=block" />
                <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains; preload" />
                <add name="X-Frame-Options" value="DENY" />
                <add name="X-Content-Type-Options" value="nosniff" />
                <add name="Content-Security-Policy" value="default-src 'self';" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

UPD: при первом чтении не обратил внимания… Автор поста советует перезапускать IIS после изменения каждого заголовка. Не нужно этого делать! При настройках по умолчанию IIS автоматически перезапустит сайт после изменения его настроек. Причем независимо от того, через GUI оно делалось или просто новый web.config ему подложили.

>>Знаете ли вы, что в большинстве случаев уязвимость системы безопасности можно устранить добавив необходимые заголовки ответа?

Неправильное добавление заголовков может закрыть сайт для посетителей, поисковиков, разного рода систем аналитики посетителей и прочего, так что тут тоже нужно действовать с умом, а не руководствоваться всеобщей параноей.

Тем не менее, добавление заголовков с умом действительно может повысить безопасность.

И какой-нибудь глупый ребенок прочитав вашу горе-статейку таки добавит HSTS с « includeSubDomains; preload», а потом не будет понимать почему же его кидает на https на доменах третьего уровня его домена, где https нет и почему он не может туда попасть.
Вы приводите надерганные вами из сети заголовки не понимая что они делают. Нельзя так. Вы сами не знаете и другим не объясняете, просто накопипастили, потому что надо повесить статьишку в копротивный бложик.
Ваша статейка может навредить, а помочь не может.

По-моему, в статье достаточно внятно написано, что делает IncludeSubDomains:


includeSubDomains Конфигурация распространяется на поддомены.

Если кто-то копипастит конфиги из статьи, не читая объяснений — проблема не в статье.

Нет, проблема в статье. Проблема в том, что «автор» этой статьи не понимает о чем пишет. Это — обычный выброс реврайтеров по заказу какой-то мутной конторки. Статья однозначно вредна и находится на хабре только потому, что она расположена в платном бложике мутной конторки.
Глупые детишки и без таких статей могут навредить всему, до чего дотрагиваются. Статья написана для людей, которые знают, что делают
Людям, которые знают, что делают, например, настраивают правила CSP, HSTS или включают пининг к сертификату — эта статья ничего не даст. Эти вопросы требуют вдумчивого и внимательного изучения. Статья крайне поверхностна, что делает её опасной — я согласен с этим мнением.
Например, при описании HSTS, как уже было сказано, можно очень легко заблокировать свой сайт не только себе, но и клиентам, которые успеют зайти на страницу и их браузер запомнит флаг HSTS. Так же в статье ошибочно трактуется флаг preload — это НЕ включает домен в preload лист, это только метка для подтверждения вашей заявки на включение в этот список. Для внесения в сам список необходимо отправить заявку.
У меня вопрос — как можно при помощи «Content Security Policy» разрешить использование inline-стилей. Везде пишут про unsafe-inline / nonce-* — все это работает для JS, однако для CSS ничего подобного не оставили.
должно работать, это еще в первой версии CSP реализовано. Посмотрите тут https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
Благодарю, попробую еще раз.
Здесь задавал уже вопрос, но ответа не было. В консоли ошибка:
Refused to apply inline style because it violates the following Content Security Policy directive: «style-src 'self' 'unsafe-inline' 'nonce-BLABLABLAH'

Глупый вопрос — но nonce-то верный указан?

Оригинальный nonce="Xiojd98a8jd3s9kFiDi29UijwdX",
BLAHBLAHBLAH — для общей картины.

Прекратите уже «перезагружать» nginx, что за варварство в 2016 году? Reload отлично работает.
Reload это вроде и есть перезагрузить, а вот restart это то о чем вы подумали ;-)
В контексте перевода это звучит скорее как «рестартовать сервис», а не «перечитать настройки».
Да и IIS не обязательно перезагружать, а достаточно перегрузить сайт или апп-пул.

В данном случае, его вообще не надо перезагружать. Потому что при изменении конфигурации он перезапускает сайт автоматически.

Ааа точно! Тем более тогда ничего не надо перезагружать.

Полезная статья. Но ИМХО стоило способы изменения заголовков в разных серверах и движках собрать в один блок в конце, а не растягивать статью 10 одинаковыми картинами "модальное окно с введённым значением, OK и Cancel".

Автор забыл сделать первым пунктом: Никогда не настраивайте сервер по статьям вроде «как настроить сервер за пять минут», не понимая в точности что делают эти настройки

Забыл. Автор оригинального текста — мужчина. Индус. Безо всякого расизма: видел кучу умных статей ни о чём, написанных индийскими товарищами. Такое чувство, что им там реально за длину платят, да ещё и недоплачивают.

Раскройте пожалуйста секрет как вы сделали навигацию по статье?
Видимо у меня нет соответствующего ранга для использования этой возможности. У меня из статьи просто вырезаются якоря. Думал может только цифру в name можно указывать но и так тоже вырезается.

P.S. Я открыл этот ларчик. Оказывается в markdown надо было писать. Тогда заголовкам нормальные ID автоматом выдаются.
Sign up to leave a comment.