Всем добрый день!
Преамбула
У меня тут есть сайтик на домашнем сервере, который смотрит в интернет (сам сервер за роутером, на котором настрое проброс портов)
На сервере установлена ОС Ubunu Server.
Поднят LAMP сервер
На сервере крутится два виртуальных хоста.
Их параметры из .conf файлов
<VirtualHost *:80>
ServerName xxxxxx.xx
DocumentRoot /var/www/xxxxxx.xx/public_html
<Directory /var/www/xxxxxx.xx/public_html>
AllowOverride All
</Directory>
<VirtualHost>
Писал тут скриптик, который шарил ФС и выдавал пользователю либо список каталога, либо header для загрузки файла.
Фабула
Читал тут про уязвимости сайтов и наткнулся на возможность обзирать ВСЮ фс, добавлением строк тип "../" в запрос.
Разумеется, решил проверить на своем скрипте.
Разумеется скрипт подвержен этой уязвимости.
Решил переписать скрипт, а пока это решал играл с адресной строкой. Добавлял в параметр запроса упомянутую выше комбинацию. Причем не парился с длинной и вставлял разные строки вида "../../../../../../../../../../" Скрипт выводил содержимое корня.
Я успокоился и пошел переписывать свой скрипт
Переписал, если интересно, полностью схему. Теперь при сканировании каталога проверяется наличие ссылки на файл в БД, если нет, то добавляется. В список пользователю передаются эти Ид файлов. При запросе файла по ид идет обратное сопоставление БД-Файл и выдается результат пользователю. Файл - заголовок на скачку, каталог - его содержимое
Скрипт переписывал на ноуте, и на нем все прекрасно тестировалось.
Когда разметил скрипт на свой сервер то увидел сообщение о ошибке 400 (Bad Request). В логе Apache такие строки:
[Thu Dec 03 15:44:01.944696 2015] [core:error] [pid 2001] [client 192.168.100.50:56566] AH00126: Invalid URI in request GET / HTTP/1.1
[Thu Dec 03 15:46:42.909538 2015] [core:error] [pid 2474] [client 192.168.100.50:56679] AH00126: Invalid URI in request GET /index.php HTTP/1.1
[Thu Dec 03 15:46:48.329383 2015] [core:error] [pid 2475] [client 192.168.100.50:56684] AH00126: Invalid URI in request GET /fs/ HTTP/1.1
т.е. на вполне законные запросы сервак отвечает ошибкой
Причем заблокировался только тот виртуальный хост, где я играл с адресной строкой. Что localshot, что второй виртуальный хост прекрасно себе работают.
Резюме
Как я понимаю, где то сработал какой то модуль безопасности.
Насколько я понимаю, moc_sucurety у меня не запущен т.к. я явно его не запускал, и в .config файлах никаких опций нету. Данный параметр искал через mc по маске файла .config (да и * тоже) на строку securety в папке /etc/apache2.
Подскажите пожалуйста, как реанимировать мне этот свой хост? Куда копать, и что смотреть?
Можно ли как то сбросить флаг этой ошибки?