» » Как отключить отображение версии Web-сервера в Http-заголовке

Как отключить отображение версии Web-сервера в Http-заголовке

24 январь 2019, Четверг
84
0
+ 0 -
Отображение версии используемого программного обеспечения в заголовке ответа Web-сервера несет за собой угрозу безопасности. Если злоумышленник знает точную версию программного обеспечения, используемую на веб-сайте, то он может использовать уязвимости конкретной версии ПО для осуществления противоправных действий. 
Чтобы уменьшить вероятной подобного взлома и атаки на конкретную версию программного обеспечения, эту информацию рекомендуется скрыть, чтобы лишить злоумышленника информации о версии сервера, версии используемого ПО и о платформе в целом. Иначе может получиться ситуация, когда сканирование веб-серверов опубликованных в Интернет по наличию веб-заголовка с определенной версией ПО внесет ваш веб-сайт в список подверженных уязвимости. 

Как наиболее распространенным версиям веб-серверов относятся:Ниже описаны способы скрытия отображения версии программного обеспечения.

Как скрыть отображение версии Nginx в http заголовке

По умолчанию конфигурация Web-сервера Nginx хранится в конфигурационном файле nginx.conf расположенного по пути etc/nginx/nginx.conf.
Для отключения отображения версии необходимо в файле nginx.conf в разделе http добавить строку:
server_tokens   off;

и перезапустить Nginx, например, при помощи команды 
service nginx reload

После внесенных изменений, в заголовках ответа веб-сервера вместо:
Server: nginx/1.14.1
будет отображаться информация:
Server: nginx

Подробнее с вариантами значений можно ознакомиться на странице: http://nginx.org/ru/docs/http/ngx_http_core_module.html#server_tokens


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

Как скрыть отображение версии Apache в http заголовке

Чтобы спрятать версию Apache нужно добавить/отредактировать параметры в httpd.conf, по умолчанию для CentOS этот файл находится в папке /etc/httpd/http.conf (в других версиях Linux этот путь может быть другим).
За отображение версии Apache отвечает параметр ServerTokens, по умочанию, он имеет значение Full, в этом случае веб сервер может отдавать в заголовке следующую информацию:
Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2

Если явно указать значение: Prod[uctOnly], например, так:
ServerTokens Prod 
, то Apache не будет отдавать в заголовке ответа свою версию. Будет отдаваться ответ:
Server: Apache

Для отключения отображения версии Apache на страницах с ошибками следует также добавить директиву:
ServerSignature Off 
Подробнее с вариантами значений можно ознакомиться на странице: https://httpd.apache.org/docs/2.4/mod/core.html#serversignature

Другим вариантом скрытия информации об использовании данного веб сервера, является использование модуля libapache-mod-security.

Как скрыть отображение версии Microsoft IIS в http заголовке

Для версий IIS 7+ (IIS 7, 8.5, 8.0, 8.5) параметров скрывающих отображение версии в IIS не предусмотрено. Однако, возможно использование дополнительного расширения на IIS URL Rewrite. IIS URL Rewrite позволяет на уровне отдельного веб-сайта (или приложения), а также на уровне сервера целиком, подменять заголовок ответа.
После установки этого модуля необходимо создать правило URL Rewrite Outbound используя консоль IIS Manager или используя редактор:
<rewrite>    
  <outboundRules rewriteBeforeCache="true">
    <rule name="Remove Server header">
      <match serverVariable="RESPONSE_Server" pattern=".+" />
      <action type="Rewrite" value="" />
    </rule>
  </outboundRules>
</rewrite>
После создания такого правила ответ сервера вида:
Server: Microsoft-IIS/8.5
Изменится на 
Server:

В IIS 10.0 (Windows Server 2016/2019) возможно удалить заголовки веб-сервера установив в файле web.config в разделе <system.webServer> для настройки requestFiltering значение параметра removeServerHeader в "true": 
<security>  
<requestFiltering removeServerHeader ="true" />
</security>

Подробнее про requestfiltering можно прочитать на сайте Microsoft: requestFiltering 


Также рекомендуется скрывать версии ПО
  • PHP
  • PHP-FPM
  • ASP.NET

Как скрыть отображение версии PHP в http заголовке

Чтобы скрыть отображение версии php в заголовке ответа веб сервера, необходимо в конфигурационном файле php.ini изменить строку:
expose_php = On
на
expose_php = Off

После применения этого изменения и перезапуска веб-сервера значение параметра заголовка X-Powered-By перестанет отображаться.

Как скрыть отображение версии PHP-FPM в http заголовке

Чтобы скрыть отображение версии PHP-FPM в заголовке ответа веб сервера, необходимо в конфигурационном файле php-fpm.conf прописать строку:
php_admin_flag[expose_php] = off
Перезапуск веб-сервера применит измененное значение параметра.

Как скрыть отображение версии ASP.NET в http заголовке

При использовании ASP.NET на веб сервере IIS веб-сервер по умолчанию отдает следующий заголовок:
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727

для скрытия из заголовка параметра X-AspNet-Version о используемой версии ASP.NET необходимо добавить в файл web.config добавить строки:
<system.web>
  <httpRuntime enableVersionHeader="false" />
</system.web>

Скрыть заголовок X-Powered-By из ответа веб сервера проще всего из консоль управления IIS в разделе HTTP Response Headers, для этого необходимо удалить соответствующее значение, как показано на скриншоте ниже и после этого перезапустить сервер.



Чем меньше информации доступно для злоумышленников, тем больше шансов, что ваше серверное приложение окажется в группе риска на взлом. Безусловно, чтобы надежно защитить Ваш сайт от различного рода атак, рекомендуется использовать специализированные средства защиты, одним из таких средств защиты является использование WAF (Web Application Firewall), о решениях WAF представленных на рынке было описано в статье: https://userman.ru/spisok-kompanij-i-produktov-web-application-firewall-waf.html
Комментарии:
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
При использовании материалов ссылка на сайт UserMan.ru обязательна. UserMan.ru © 2017-2018
Мы в Соцсетях: