В этой статье я покажу какие HTTP заголовки для ответа сервера нужно прописать в файл .htaccess для безопасности вашего сервера и ваших пользователей.
Для безопасности вашего сайта и правильного ответа на запрос к вашему серверу нужно прописать в файл .htaccess
Следующий код:
# Заголовки безопасности
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000" env=HTTPS
Header always set Content-Security-Policy "upgrade-insecure-requests"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Expect-CT "max-age=7776000, enforce"
Header always set Referrer-Policy "no-referrer-when-downgrade"
Header always set X-Permitted-Cross-Domain-Policies "master-only"
Header always set Permissions-Policy "geolocation=(), midi=(),sync-xhr=(),accelerometer=(), gyroscope=(), magnetometer=(), camera=(), fullscreen=(self)"
</IfModule>
# Конец заголовков безопасности
Перед этим у вас должна быть настроена переадресация с HTTP на HTTPS и установлен действующий SSL сертификат.
Возможно у вас уже есть некоторые настройки которые отдают заголовки которые я указал, тогда просто удалите строку которая выводит соответствующий заголовок.
Заголовки которые я указал ранее проверял на CMS WordPress, 1С-Битрикс, HostCMS и DataLife Engine.
Коротко о заголовках сервера:
- Заголовок "Strict-Transport-Security" служит для того чтобы указать отправителю, что он должен использовать защищённое соединение HTTPS вместо HTTP.
- Заголовок "Content-Security-Policy" это политика безопасности для контента которую должен выполнять пользователь при обращении к серверу, в нашем случае "upgrade-insecure-requests" указывает, что URL-адреса содержимого должны быть получены по безопасному соединению HTTPS.
- Заголовок "X-Content-Type-Options" сообщает посетителю что нужно придерживаться типов MIME, установленных на сайте.
- Заголовок "X-XSS-Protection" сообщает пользователю что при обнаружении XSS атаки он приостановил загрузку страницы.
- Заголовок "Expect-CT" предотвращает загрузку ошибочно выданных сертификатов безопасности.
- Заголовок "Referrer-Policy" определяет какое содержание информации о реферере будет передано, в нашем случае "no-referrer-when-downgrade" указывает, что можно передать информацию о "Referer" только по безопасному соединению HTTPS.
- Заголовок "X-Permitted-Cross-Domain-Policies" служит для продуктов компании Adobe, а именно Flash и Acrobat в нашем случае мы указываем "master-only", что говорит о том что нужно читать только мастер-файл crossdomain.xml из корневого каталога.
- Заголовок "Permissions-Policy" определяет принцип работы между пользователем и API и можно выборочно включать или отключать использование разных возможностей.
Для проверки ответа сервера вы можете использовать вот этот сайт securityheaders.com.
Если у вас всё хорошо с ответами сервера то вы должны получить статус "A+".
Ещё можете проверить ответ сервера в панели вебмастера Яндекса.
Если у вас есть вопросы или хотите высказать своё мнение, буду рад увидеть это в комментариях к статье.
Новость отредактировал: Климов Дмитрий - 21-07-2022, 21:30
Причина: Обновил информацию, добавил изображение.
Комментарии 1