Добавить новость





160*600

Новости сегодня на DirectAdvert

Новости сегодня от Adwile

Актуальные новости сегодня от ValueImpression.com


Опубликовать свою новость бесплатно - сейчас


Использование HTTP-заголовков для предупреждения уязвимостей сайта

1ps.ru 

Поддержка безопасности веб-ресурса — один из важнейших аспектов в его благополучном существовании в Сети и не менее значимая составляющая, чем контент или SEO-оптимизация. Игнорирование текущих или возможных уязвимостей может повлечь серьезные проблемы не только для посетителей, но и для его владельца. Начиная с DDoS-атак и кликджекинга, заканчивая утечкой конфиденциальной информации и распространением вирусов. Впоследствии зараженный и по совместительству вредоносный веб-ресурс наверняка будет заблокирован поисковой системой, браузером или хостингом. Чтобы дать весомый отпор злоумышленникам, познакомимся с одним из эффективных рычагов настройки надежности своего сайта — HTTP-заголовками.

Что такое HTTP-заголовки

HTTP — протокол передачи гипертекста задействован в обмене данными между пользовательским приложением (как правило, браузером) и веб-сервером. Например: формат ресурса, его местонахождение, используемая кодировка, сведения для авторизации и параметры аутентификации. Такое клиент-серверное общение нуждается в обеспечении соответствующих мер, поэтому также существуют заголовки, призванные предотвращать различные кибератаки.

Список заголовков безопасности HTTP и их использование

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

  • Nginx — nginx.conf;
  • .htaccess;
  • PHP — index.php (header.php/head.php) активного шаблона сайта.

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

Для наглядности рассмотрим пример, где безопасность сайта явно хромает на обе ноги.

Далее рассмотрим заголовки, их специфику и способы применения, после чего повторим проверку сервисом.

HTTP Strict Transport Security (принудительное использование защищенного соединения, HSTS)

Запрещает использование HTTP, активирует форсирование защищенного HTTPS-соединения, автоматически преобразует HTTP-запросы в HTTPS, блокирует попытки пользователя пройти дальше сообщения о проблемах с сертификатом. Отражает попытки перехвата трафика с применением поддельного сертификата.

Директивы:

  • max-age — интервал в секундах, в течение которого сайт будет отвечать по защищенному протоколу. Рекомендуется указывать не менее 18-ти недель.
  • includeSubDomains — указывается при необходимости распространения на поддомены.
  • preload — применяется при необходимости добавления сайта в предопределенный список HSTS.

Использование:

Nginx – в секции Server

add_header Strict-Transport-Security 'max-age=10886400‬; includeSubDomains;';

.htaccess

<ifModule mod_headers.c>
    Header set Strict-Transport-Security "max-age= 10886400; includeSubDomains;‬"
</ifModule>                

PHP

<?php header("Strict-Transport-Security: max-age=10886400; includeSubDomains;"); ?>

X-Xss-Protection

Предотвращает XSS-атаки путем активации фильтра межсайтового скриптинга.

Директивы:

  • 1 — фильтр включен
  • 0 — фильтр выключен
  • mode=block — если атака зафиксирована, то обработка страницы предотвращается
  • report=URL — отсылает на заданный url отчет при фиксировании атаки

Использование:

Nginx – в секции HTTP

add_header X-XSS-Protection "1; mode=block";    

.htaccess

<ifModule mod_headers.c>
    Header set X-XSS-Protection "1; mode=block"
</IfModule>            

PHP

<?php header("X-XSS-Protection: 1; mode=block"); ?>

X-Frame-Options

Ограничивает загрузку страниц сайта во фреймах. Снижает уязвимость перед кликджекинг-атаками.

Директивы:

  • ALLOW-FROM — разрешена загрузка во фреймах только для указанного url
  • SAMEORIGIN — разрешена загрузка страниц через фреймы, при условии, что это происходит в рамках одного домена
  • DENY — накладывает полный запрет на загрузку сайта через фреймы сторонних ресурсов

Использование:

Nginx - в секции Server

add_header X-Frame-Options «SAMEORIGIN»;

.htaccess

<ifModule mod_headers.c>
    Header set X-Frame-Options «SAMEORIGIN»
</ifModule>              

PHP

<?php header('X-Frame-Options: SAMEORIGIN'); ?>

X-Content-Type-Options

Препятствует фишинговым атакам, работающих на основе изменения MIME-типов и несанкционированных хотлинков. Даже если запретить пользователям сайта загружать исполняемые файлы, например, с расширением .js, злоумышленник может загрузить изображение или txt-файл на сервер с внедренным в него JavaScript-кодом и обратиться к нему напрямую через url, тем самым запустив его со всеми вытекающими последствиями. Директива всего одна — nosniff.

Nginx – в секции Server

add_header X-Content-Type-Options nosniff;

.htaccess

<ifModule mod_headers.c>
    Header set X-Content-Type-Options «nosniff»
</ifModule>  

PHP

<?php header('X-Content-Type-Options: nosniff); ?>

Content-Security-Policy (политика защиты контента, CSP)

Противостоит кликджекингу, попыткам внедрения кода и XSS-атакам. Суть заключается в том, чтобы указать серверу безопасный источник хранения и получения контента, например, скриптов, стилей, изображений и т.п. Загрузка с источников, не указанных в белом списке, блокируется. Поэтому если на вашем веб-ресурсе используется CDN, счетчики метрики и прочие скрипты, использующие внешние подключения, обязательно добавьте их.

Основные директивы:

  • default-src — источники по умолчанию;
  • script-src — скрипты;
  • object-src — плагины (в т.ч. Flash и Java);
  • style-src — стили;
  • img-src — изображения;
  • media-src — видео и аудио;
  • frame-src — фреймы;
  • font-src — шрифты;

С полным списком и описанием можно ознакомиться тут.

Правила составления:

  • если необходимо полностью запретить загрузку контента в рамках одной директивы, применяется — none;
  • self — обозначает текущий домен;
  • при перечислении url используется пробел.

Примеры:

  1. Content-Security-Policy: default-src 'self';
  2. Content-Security-Policy:default-src 'self'; style-src 'self' http:// domain.ru; script-src http:// domain.ru.

Использование:

Nginx - в секции Server

add_header Content-Security-Policy " style-src ’self’;";

.htaccess

<ifModule mod_headers.c>
    Header set Content-Security-Policy " style-src ’self’;"
</ifModule>   

PHP

<?php header("Content-Security-Policy: style-src ’self’"); ?>

Referrer-Policy

Зачастую ссылки ведущие с одного ресурса на другой, могут содержать в себе различную информацию, в том числе и конфиденциальную. Особенно это опасно при переходе с HTTPS-соединения на HTTP. Данный заголовок способен предотвратить утечку.

Основные директивы:

  • no-referrer — информация не отправляется вместе с запросами;
  • no-referrer-when-cross-origin — информация отправляется только в том случае, когда уровень безопасности протокола остается неизменным (HTTPS > HTTPS или HTTP > HTTP);
  • origin — оставляет только источник документа: https://domain.ru/page.html > https:// domain.ru;
  • origin-when-cross-origin — если запрос направляет на отличающийся протокол или веб-ресурс, то срабатывает как origin.

С полным списком и описанием можно ознакомиться тут.

Использование:

Nginx - в секции Server

add_header Referrer-Policy «origin-when-cross-origin;»;

.htaccess

<ifModule mod_headers.c>
    Header set Referrer-Policy «origin-when-cross-origin;»
</ifModule>                

PHP

<?php header("Referrer-Policy: origin-when-cross-origin"); ?>

Feature-Policy

Позволяет выборочно подключать или отключать различные функции веб-браузера пользователя при посещении сайта, либо менять их поведение.

Основные директивы:

  • geolocation — определение местоположения;
  • speaker — воспроизведение звуков;
  • microphone — использование средств аудио выхода;
  • fullscreen — контроль над полноэкранным режимом;
  • display-capture — захват дисплея.

С полным списком и описанием можно ознакомиться тут.

Правила составления:

  • запрет в рамках одной директивы — none;
  • self — обозначает текущий домен.

Использование:

Nginx - в секции Server

add_header Feature-Policy «speaker ‘none’;»;

.htaccess

<ifModule mod_headers.c>
    Header set Feature-Policy «speaker ‘none’;»
</ifModule>                

PHP

<?php header("Feature-Policy: speaker ‘none’"); ?>

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

Пример конфигурации для файла .htaccess:

В заключение

Теперь вы знаете, как улучшить безопасность своего веб-ресурса, используя HTTP-заголовки. Как правило, сложностей нет, главное — подход с пониманием дела, без спешки, проверяя каждый шаг. Если у вас что-то не получается или просто нет возможности этим заниматься, вы всегда можете обратиться к команде наших специалистов. Мы поможем вашему сайту стать более надежным.

Читайте на сайте

Другие проекты от 123ru.net








































Другие популярные новости дня сегодня


123ru.net — быстрее, чем Я..., самые свежие и актуальные новости Вашего города — каждый день, каждый час с ежеминутным обновлением! Мгновенная публикация на языке оригинала, без модерации и без купюр в разделе Пользователи сайта 123ru.net.

Как добавить свои новости в наши трансляции? Очень просто. Достаточно отправить заявку на наш электронный адрес mail@29ru.net с указанием адреса Вашей ленты новостей в формате RSS или подать заявку на включение Вашего сайта в наш каталог через форму. После модерации заявки в течении 24 часов Ваша лента новостей начнёт транслироваться в разделе Вашего города. Все новости в нашей ленте новостей отсортированы поминутно по времени публикации, которое указано напротив каждой новости справа также как и прямая ссылка на источник информации. Если у Вас есть интересные фото Вашего города или других населённых пунктов Вашего региона мы также готовы опубликовать их в разделе Вашего города в нашем каталоге региональных сайтов, который на сегодняшний день является самым большим региональным ресурсом, охватывающим все города не только России и Украины, но ещё и Белоруссии и Абхазии. Прислать фото можно здесь. Оперативно разместить свою новость в Вашем городе можно самостоятельно через форму.



Новости 24/7 Все города России




Загрузка...


Топ 10 новостей последнего часа






Персональные новости

123ru.net — ежедневник главных новостей Вашего города и Вашего региона. 123ru.net - новости в деталях, свежий, незамыленный образ событий дня, аналитика минувших событий, прогнозы на будущее и непредвзятый взгляд на настоящее, как всегда, оперативно, честно, без купюр и цензуры каждый час, семь дней в неделю, 24 часа в сутки. Ещё больше местных городских новостей Вашего города — на порталах News-Life.pro и News24.pro. Полная лента региональных новостей на этот час — здесь. Самые свежие и популярные публикации событий в России и в мире сегодня - в ТОП-100 и на сайте Russia24.pro. С 2017 года проект 123ru.net стал мультиязычным и расширил свою аудиторию в мировом пространстве. Теперь нас читает не только русскоязычная аудитория и жители бывшего СССР, но и весь современный мир. 123ru.net - мир новостей без границ и цензуры в режиме реального времени. Каждую минуту - 123 самые горячие новости из городов и регионов. С нами Вы никогда не пропустите главное. А самым главным во все века остаётся "время" - наше и Ваше (у каждого - оно своё). Время - бесценно! Берегите и цените время. Здесь и сейчас — знакомства на 123ru.net. . Разместить свою новость локально в любом городе (и даже, на любом языке мира) можно ежесекундно (совершенно бесплатно) с мгновенной публикацией (без цензуры и модерации) самостоятельно - здесь.



Загрузка...

Загрузка...

Экология в России и мире




Путин в России и мире

Лукашенко в Беларуси и мире



123ru.netмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

123ru.net — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.






Здоровье в России и мире


Частные объявления в Вашем городе, в Вашем регионе и в России






Загрузка...

Загрузка...





Друзья 123ru.net


Информационные партнёры 123ru.net



Спонсоры 123ru.net