Я использую сервер LAMP для разработки на Ubuntu 14.04. Сегодня я заглянул в журнал access.log и нашел много таких строк:
::1 - - [05/Jul/2015:01:24:14 +0200] "OPTIONS * HTTP/1.0" 200 110 "-" "Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f (internal dummy connection)"
и многое другое:
127.0.0.1 - - [05/Jul/2015:01:50:01 +0200] "POST / HTTP/1.1" 403 347 "-" "-"
Мне было интересно, может ли это быть проблемой, вызванной неправильным кодированием RewriteRule (я говорю о примерно 1500 строках, подобных второй, только с 5 июля), или я должен глубоко изучить потенциальный взлом сервера или хотя бы попытка это сделать.
Каково твое мнение? Спасибо
РЕДАКТИРОВАТЬ
Это может быть полезно:
в журнал ошибок apache, я обнаружил:
[Mon Jun 29 01:24:31.082231 2015] [rewrite:error] [pid 5311] [client 127.0.0.1:33583] AH00670: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions : /var/www/html/
Странно, имо, я запускаю этот сервер с этими настройками с мая 2015 года, и это первый раз, когда я получаю эти ошибки. Если это была проблема RewriteRule, почему только сейчас ...?
Для первый "ошибка" см. https://wiki.apache.org/httpd/InternalDummyConnection. Apache по умолчанию отправляет эти внутренние запросы пробуждения всем своим дочерним элементам.
Если вы хотите исключить их из журнала, вы можете использовать обычные методы условного ведения журнала. Например, чтобы исключить все запросы от интерфейса обратной связи из ваших журналов, вы можете использовать
SetEnvIf Remote_Addr "127\.0\.0\.1" loopback
а затем добавьте env =! loopback в конец вашей директивы CustomLog.
В второй "ошибка" означает, что кто-то с localhost выдает POST
просьба к /
path и получение результата Forbidden (HTTP 403). Из журнала не известно, для чего нужен виртуальный хост. Если вы периодически получаете эти строки, то это, вероятно, какое-то задание cron или какой-то мониторинг, выполняемый в вашей системе.
Для третий "ошибка" у вас есть .htaccess
файл в каталоге /var/www/html/
. Чтобы mod_rewrite работал изнутри .htaccess
, необходимо включить указанный параметр (Options +FollowSymLinks
или Options +SymLinksIfOwnerMatch
, последнее немного безопаснее). Поскольку в вашем случае оба отключены, RewriteRule
игнорируется. (Я не уверен, что это просто игнорируется или также вызывает 403
ошибка, упомянутая выше, поскольку ошибка упомянула, что это запрещено).