Как включить HTTP Strict Transport Security (HSTS) на Apache и Nginx

Как включить HTTP Strict Transport Security (HSTS) на Apache и Nginx

Коллеги всем привет.

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

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

Существует несколько различных способов и директив которые можно применять к заголовку HSTS и мы будем использовать самый простой способ с использованием директивы max-age. Директива max-age определяет время в секундах, в течение которого веб-сервер должен доставлять контент только через HTTPS протокол. Лучше всего указывать время 1 год в секундах.

 

Содержимое статьи:

  1. Включения заголовка HTTP Strict Transport Security в Apache.
  2. Включения заголовка HTTP Strict Transport Security в Nginx.

 

1. Включения заголовка HTTP Strict Transport Security в Apache.

Чтобы включить HTTP заголовок HTTP Strict Transport Security на веб сервере Apache, вам нужно в основном конфигурационном файле веб сервера добавить специальную директиву max-age. В зависимости от вашей операционной системы Linux конфигурационный файл может храниться в разных директориях.

Открываем конфигурационный файл веб сервера Apache любым удобным для вас текстовым редактором.

Debian/Ubuntu

$. sudo vim /etc/apache2/apache2.conf

RHEL/CentOS

$. sudo vim /etc/httpd/conf/httpd.conf

Добавляем директиву max-age в начало файла.

Header always set Strict-Transport-Security max-age=31536000

apache nginx enable hsts

После добавления директивы обязательно перезапускаем веб сервер Apache чтобы наши изменения успешно применились.

Debian/Ubuntu

$. sudo service apache2 restart

RHEL/CentOS

$. sudo service httpd restart

Перезапускаем браузер и проверяем.

apache nginx enable hsts

Как видим в результате теперь наш веб сервер Apache успешно передает нам HTTP заголовок HTTP Strict Transport Security.


 

2. Включения заголовка HTTP Strict Transport Security в Nginx.

Чтобы включить HTTP заголовок HTTP Strict Transport Security на веб сервере Nginx, вам нужно в основном конфигурационном файле веб сервера добавить специальную директиву. Основной конфигурационный файл Nginx находится по пути /etc/nginx и называется nginx.conf.

Открываем конфигурационный файл веб сервера Nginx любым удобным для вас текстовым редактором.

$. sudo vim /etc/nginx/nginx.conf

Добавляем директиву в http объект.

http {
    add_header Strict-Transport-Security "max-age=31536000";
}

apache nginx enable hsts

После добавления директивы обязательно перезапускаем веб сервер Nginx чтобы наши изменения успешно применились.

$. sudo service nginx restart

Перезапускаем браузер и проверяем.

apache nginx enable hsts

Как видим в результате теперь наш веб сервер Nginx успешно передает нам HTTP заголовок HTTP Strict Transport Security.


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

ПОХОЖИЕ СТАТЬИ

PHP - Как скрыть X-Powered-by в HTTP заголовках

PHP - Как скрыть X-Powered-by в HTTP заголовках

БЕЗОПАСНОСТЬ
Как скрыть версию NGINX в HTTP заголовках

Как скрыть версию NGINX в HTTP заголовках

БЕЗОПАСНОСТЬ
Как скрыть версию Apache в HTTP заголовках

Как скрыть версию Apache в HTTP заголовках

БЕЗОПАСНОСТЬ