Настройка HTTP-заголовков безопасности веб-сайта или веб-приложения

Заголовки безопасности сайтов на WordPress и других CMS

Заголовки безопасности WordPress (или заголовки безопасности HTTP) были созданы для защиты приложений от частых и распространенных атак без необходимости добавлять или изменять код ваших приложений.

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

Что такое заголовки безопасности WordPress?
Заголовки безопасности для WordPress помогают вам обеспечить еще один уровень безопасности для смягчения атак и защиты от различных уязвимостей безопасности .

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

Заголовки безопасности WordPress

Добавление заголовков безопасности HTTP в WordPress с помощью плагина

Этот метод чуть менее эффективен, так как он использует плагин WordPress для изменения заголовков. Тем не менее, это также самый простой способ добавить заголовки безопасности HTTP на ваш веб-сайт WordPress.

Во-первых, вам нужно установить и активировать плагин на выбор:

  • HTTP Headers
  • Redirection
  • Headers Security Advanced & HSTS WP
  • GD Security Headers

После активации плагин отобразит нужные опции для настройки.

 

HTTP Strict Transport Security (HSTS) позволяет веб-серверам заявлять, что веб-браузеры (или другие соответствующие пользовательские агенты) должны взаимодействовать с ними только с использованием безопасных соединений HTTPS и никогда через небезопасный протокол HTTP.

Пример:

Strict-Transport-Security: {parameter1} ; {parameter2}
max-age Параметр задает время в секундах, в течение которого браузер запоминает, что доступ к этому сайту возможен только по протоколу HTTPS.

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

Добавление заголовков безопасности HTTP в WordPress с помощью .htaccess

Добавьте HTTP Strict Transport Security (HSTS) в WordPress
Вы можете добавить заголовок безопасности HSTS на сайт WordPress, добавив несколько строк кода в файл Apache .htaccess или в файл nginx.conf. Вы можете увидеть фрагменты для обоих типов серверов ниже.

Конфигурация Apache .htaccess
<VirtualHost 192.168.1.1:443>
Header always set Strict-Transport-Security “max-age=31536000;
includeSubDomains”
</VirtualHost>
Конфигурация Nginx
add_header Strict-Transport-Security max-age=31536000;
X-Frame-Параметры
X-Frame-Options защищает посетителей от атак Clickjacking. Используя iframe, содержимое вашего сайта может быть загружено на другой сайт.

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

Пример:

X-Frame-Options: {parameter}
denyПараметр полностью запретит рендеринг в iframe.

sameoriginПараметр запрещает рендеринг, если источник не совпадает.

allow-from: DOMAINпараметр разрешает рендеринг, если он обрамлен кадром, загруженным из указанного домена

Добавить заголовок безопасности X-Frame-Options на сайт WordPress
Вы можете добавить заголовок безопасности X-Frame-Options на свой сайт WordPress, настроив файл .htaccess (Apache). С NGINX вам нужно отредактировать файл nginx.conf.

Рекомендуется установить тот же источник .

Конфигурация Apache
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
Конфигурация Nginx
add_header X-Frame-Options «SAMEORIGIN» always;
X-XSS-защита
Заголовок безопасности X-XSS-Protection позволяет настроить механизм защиты от XSS, присутствующий в популярных веб-браузерах. Например, это может предотвратить кражу файлов cookie сеанса с помощью постоянных атак XSS, когда посетитель, вошедший в систему, посещает страницу с полезной нагрузкой XSS.

Пример:

X-XSS-Protection: {paremeter1}; {parameter2}
0параметр отключает фильтр.

1параметр включает фильтр.

1; mode=blockвключает фильтр с 1параметром и дополнительно блокирует отрисовку сайта с расширением mode=block.

1; report=https://your-report-url/включает фильтр с 1параметром, затем очищает запрос и отправляет отчет на выбранный URL-адрес с report=параметром.

Добавить заголовок безопасности X-XSS-Protection на сайт WordPress
Вы можете добавить заголовок безопасности X-XSS-Protection на свой сайт WordPress, настроив файл .htaccess (Apache). С NGINX вам нужно отредактировать файл nginx.conf.

Конфигурация Apache
<IfModule mod_headers.c>
Header set X-XSS-Protection «1; mode=block»
</IfModule>
Конфигурация Nginx
add_header X-Xss-Protection «1; mode=block» always;
X-Content-Type-Options
Установка заголовка X-Content-Type-Options не позволит браузеру интерпретировать файлы как нечто иное, чем объявленное типом содержимого в заголовках HTTP. Он имеет множество параметров конфигурации и потенциальных параметров, но наиболее часто используется параметр nosniff.

Пример:

X-Content-Type-Options: nosniff
Добавьте заголовок безопасности X-Content-Type-Options на сайт WordPress.
Вы можете добавить заголовок безопасности X-Content-Type-Options на свой сайт WordPress, настроив файл .htaccess (Apache). С NGINX вам нужно отредактировать файл nginx.conf.

Конфигурация Apache
<IfModule mod_headers.c>
Header set X-Content-Type-Options nosniff
</IfModule>
Конфигурация Nginx
add_header X-Content-Type-Options «nosniff» always;
Content-Security-Policy
Заголовок Content Security Policy помогает снизить риски XSS в современных браузерах, объявляя, какие динамические ресурсы разрешено загружать.

Подобно X-Content-Type-Options, заголовок Content-Security-Policy имеет множество параметров конфигурации и потенциальных параметров, но на этом этапе мы упомянем те из них, которые приведены в примере (который рекомендуется для начинающих).

Пример:

Content-Security-Policy default-src ‘none’; script-src ‘self’; connect-src ‘self’; img-src ‘self’; style-src ‘self’;
default-srcПараметр — это политика по умолчанию для загрузки содержимого, такого как JavaScript, изображения, CSS, шрифты, запросы AJAX, фреймы, медиафайлы HTML5.

script-srcпараметр Определяет допустимые источники JavaScript.

connect-srcПараметр применяется к XMLHttpRequest (AJAX), WebSocket или EventSource. Если это не разрешено, браузер эмулирует код состояния 400 HTTP.

img-srcПараметр определяет допустимые источники изображений.

style-srcпараметр Определяет допустимые источники таблиц стилей.

Добавить заголовок безопасности Content Security Policy на сайт WordPress
Вы можете добавить заголовок безопасности Content-Security-Policy на свой сайт WordPress, настроив файл .htaccess (Apache). С NGINX вам нужно отредактировать файл nginx.conf.

Конфигурация Apache
Header set Content-Security-Policy default-src ‘none’; script-src ‘self’; connect-src ‘self’; img-src ‘self’; style-src ‘self’;
Конфигурация Nginx
add_header Content-Security-Policy «default-src ‘none’; script-src ‘self’; connect-src ‘self’; img-src ‘self’; style-src ‘self’;»;

 

Как проверить заголовки безопасности HTTP для веб-сайта

Теперь вы добавили заголовки безопасности HTTP на свой веб-сайт. Вы можете протестировать свою конфигурацию с помощью бесплатного инструмента Security Headers https://securityheaders.com/ и https://hstspreload.org/ , https://csp-evaluator.withgoogle.com/. Просто введите URL своего веб-сайта и нажмите кнопку «Сканировать».

 

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

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии