Наш партнер GENESIS HACKSPACE

Хакспейс: Клуб — физическое место, где собираются увлеченные техникой, IT, электроникой, роботами и физикой люди. Первая сеть бесплатных хакспейсов в г.Тверь и области.

Сокрытие версий 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 заголовках ответа.         

Похожие темы

Восстанавливаем GRUB в Kali Linux после обновления... Автор статьи: AndreyKravets, первоначально статья опубликована по адресу http://andrey.lviv.ua/blog/repair-grub-kali-linux-with-windows-10...
Установка Linux Malware Detect (LMD) на Linux... Вся инструкция применима, пожалуй, к любому дистрибутиву Linux, по крайней мере, проверялось и точно работает на RHEL, CentOS, Fedora, Debian, Ubunt...
Урок по SSH: азы использования и продвинутые трюки... Первая часть здесь. Как редактировать файл на другом компьютере через ssh Когда нужно отредактировать файл, размещённый на удалённом хосте, ...
Как проверить, какие порты открыты на Linux... Если порт открыт, это означает, что есть активно запущенная программа (например, демон), который использует номер порта для связи с другими программ...
Решение проблемы с установкой MailScanner... Проблемы зависимости MailScanner от libcompress-zlib-perl Совсем недавно я рассказывал, как установить почтовый сервер на Debian, Ubuntu, Mint и...