Сокрытие версий Apache и PHP — это один из элементов в обеспечении безопасности веб-сервера. Знание версий этих программ может облегчить задачу злоумышленника по поиску известных для данной версии уязвимостей и, как следствие, в достижение основной цели — проникновению. Конечно, злоумышленник может просто перебирать все известные уязвимости для всех версий Apache и PHP, но эта активность может попасть в поле зрение mod_security, fail2ban или сисадмина. В результате чего IP, с которого ведётся атака, будет награждён баном. В любом случае, если мы спрячем версии, это никак не отразится на качестве работы нашего сервера (пользователи этого просто не заметят), а взломщикам это прибавит работы.

Давайте, для начала, посмотрим, какую информацию выдают наши сервера на разных операционных системах. Для этого попытаемся открыть страницу или каталог, которых не существуют:

Первый скриншот — это Windows с Apache 2.4:

01

Очень неплохо, нет ни версии сервера, ни данных об ОС.

Это Linux Mint (Ubuntu) c Apache 2.4:

02

Нам с потрохами выдана и версия Apache и даже ОС, под которой он работает.

Это, как все уже, наверное, догадались, Linux Debian c Apache 2.2:

14902970545_c3d406322f_o

Опять нам вывалена вся информация.

Но вернёмся к Windows. Неужели там всё так хорошо? Совсем нет, Apache всё равно добавляет детальную информацию в HTTP заголовки ответа, которые соответствуют номеру версии Apache.

03

Видите? Нам раскрыта не только информация об Apache и PHP, но и об ОС, её битности.

И сразу, чтобы два раза не встовать, проверим наши Линуксы:

04

14902970535_e4465c7b06_o

Аналогичная ситуация.

Чтобы скрыть эти данные , нужно в конфигурационный файл Апача добавить две строчки.

На Windows это файл лежит в каталоге confhttpd.conf с установленным Apache. Те, кто ставили сервер по моей инструкции, найдут этот файл здесь:

C:ServerbinApache24confhttpd.conf

Откройте его любым текстовым редактором и добавьте туда две строчки:

Сохраните файл и перезапустите сервер. Делаем проверку:

05

Отлично, больше информация о версии не выводится.

На Линуксах всё точно также, только там файл настроек лежит в разных местах.

На Debian, Ubuntu или Linux Mint:

На CentOS, Fedora, RHEL или Arch Linux:

И добавляем следующие две строчки

Перезапускаем вебсервер, чтобы изменения вступили в силу:

 

Можем убедиться вместе, теперь всё отлично:

06

14902970505_196b6e8ee3_o

Прячем версию PHP

Другая потенциальная угроза безопасности — это утечка версии PHP в ответе заголовков HTTP. По-умолчанию, веб-сервер Apache включает версию PHP в "X-Powered-By" ответа HTTP заголовка.

07

14899917981_3f4d5676f7_o

Если вы хотите спрятать версию PHP в HTTP заголовке, откройте файл php.ini текстовым редактором, найдите там "expose_php = On" и замените её на "expose_php = Off".

На Windows

У тех, кто ставил сервер по моей инструкции, этот файл находится здесь: C:ServerbinPHPphp.ini

Откройте его текстовым редактором и, как уже было сказано, найдите "expose_php = On" и замените её на "expose_php = Off".

Перезапустим сервер и проверим:

08

Желаемый результат достигнут! Возвращаемся к нашим Линуксам.

На Debian, Ubuntu или Linux Mint:

На CentOS, Fedora, RHEL или Arch Linux:

Наконец, перезапускаем веб-сервер Apache2 для перезагрузки файла настроек PHP.

Больше вы не увидите поле "X-Powered-By" в HTTP заголовках ответа.         

Похожие темы

Как проверять и решать проблемы Linux сервера с ис... Сразу замечу, что sysdig доступен и для других платформ (например, для Windows), но не все версии обладают полной функциональностью. В данном уроке ра...
Важные замечания при обновлении Apache с 2.2 до 2.... Некоторые программисты настолько ленивы, что сразу пишут рабочий код. (Шутка с Баша)   Хотелось бы начать с того, что на днях вышел Apache 2.4...
Как узнать географическое расположение по IP адрес... Если вы хотите выяснить где физически на земле размещён определённый IP адрес (или веб-сайт), вы можете попробовать несколько онлайн поисковых служб...
Как установить ModSecurity (mod_security) на Apach... Два нуля Фоторобот со спины Идём Что земля Мне шесть футов глубины Со льдом (Секвойя & ОКовцур - "Хамелеон") ...
Развернутое сканирование c Metasploit... Перейти к содержанию полного руководства пользователя Metasploit на русском языке. Как работает развернутое сканирование Порты в развернутом с...