Настраиваем HTTP заголовки WEB-сервера Nginx

0 Comments
nginx-logo

Сегодня в статье поговорим как Настроить HTTP заголовки WEB-сервера Nginx и обезопасить ваш сервер от различных атак.

HTTP заголовки WEB-сервера Nginx

Для начала давайте откроем конфигурационный файл WEB сервера Nginx

sudo nano /etc/nginx/nginx.conf

Найдите раздел HTTP, в этом разделе определяются конфигурации для HttpCoreModule Nginx. Добавьте следующую директиву: 

server_tokens off;

Это запретит Nginx отправлять номера версий в заголовке HTTP.

Перезагрузите конфигурацию Nginx Чтобы применить это изменение:

sudo service nginx reload

X-XSS-Protection

Заголовок X-XSS-Protection может предотвратить некоторые XSS-атаки («межсайтовый скриптинг»), он совместим с IE 8+, Chrome, Opera, Safari и Android.

Добавьте следующее в nginx.conf в разделе HTTP:

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

X-Frame-Options

Заголовок X-Frame-Options позволяет снизить уязвимость вашего сайта для кликджекинг-атак. Этот заголовок служит инструкцией для браузера не загружать вашу страницу в frame/iframe. Не все браузеры поддерживают этот вариант, так что проверьте заголовок на совместимость перед тем, как его добавлять.

Добавьте следующее в nginx в директиве Server обычно она находится в конфигурационном файле сайта:

add_header X-Frame-Options “DENY”;

X-Content-Type-Options

Можно предотвратить атаки с использованием подмены MIME типов, добавив этот заголовок ответа HTTP. Заголовок содержит инструкции по определению типа файла и не допускает сниффинг контента. При конфигурации потребуется добавить только один параметр: “nosniff”.

Добавьте следующую строку в файл nginx в директиве Server:

add_header X-Content-Type-Options nosniff;

Content Security Policy

Чтобы предотвратить XSS-атаки, кликджекинг, внедрение кода, можно добавить заголовок ответа Content Security Policy (CSP). CSP содержит инструкции о загрузке контента из разрешенных источников.

Добавьте следующее в секцию Server в файле nginx.conf:

add_header Content-Security-Policy "default-src 'self';";

Если после внесения данной директивы сайт стал отображаться не правильно, то вам необходимо :

РНР

По соображениям безопасности сервера рекомендуется отключить или скрыть информацию от злоумышленников, которые могут быть нацелены на ваш сервер, желая узнать, используете ли вы PHP или нет.

sudo nano /etc/php/7.4/fpm/php.ini

Найдите ключевое слово expose_php и установите его значение в Off:

 expose_php = off

Если вы используете PHP как FPM, то вам нужно будет перезагрузить PHP-FPM: 

sudo service php-fpm reload

После перезагрузки заголовок ответа X-Powered-By: PHP/7.4 должен отсутствовать

Если не помогло, то прописываем в nginx.conf следующее

proxy_hide_header X-Powered-By;
# или
#more_clear_headers 'X-Powered-By';

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо!!!

RSS

Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

Сегодня поговорим об ошибке ERROR 1045 (28000): Access denied for user 'root'@'localhost' выдаваемой при попытке подключится к MYSQL ERROR 1045 Читать

Как настроить PhpMyAdmin на NGINX и PHP 7.4
phpmyadmin-logo

Не всегда удобно пользоваться консолью MySQL для редактирования и создания баз данных. Поэтому многие устанавливают phpMyAdmin, но не знают как Читать

Raspberry Pi. Установка, настройка WEB сервера nginx+php-fpm+mysql
Raspberry_pi_logo

В этой статье я расскажу как установить на Raspberry Pi 3 полноценный WEB сервер на Nginx с php-fpm и MySQL Читать

Настройка сжатие трафика в Apache
Настройка сжатие трафика в Apache

В сегодняшней статье рассмотрим очень интересный и нужный модуль сжатия трафика дня web-сервера apache mod_gzip — это модуль для веб-сервера Читать

5 2 голоса
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Inline Feedbacks
Просмотреть все комментарии

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: