Так как недавно у меня есть VPS. Теперь кажется, что существует домен, не принадлежавший мне, который имеет записи DNS, указывающие на мой IP. Из-за этого моего Apache (2.4) журналы лавинно рассылаются некоторым запросом МЕРЗАВЦА. Формат всегда: ДОБРАТЬСЯ/? p=foo.git;... случайный материал....
Я пытался блокировать его с iptables и в конфигурации Apache, но ничто, кажется, не работает, потому что это запускается с вопросительного знака. Мой целый сайт находится на SSL.
Действительно ли возможно не допустить его в мои журналы и как? Любая справка ценилась бы.
Учитывая, что запросы следуют определенному формату, вы можете попробовать следующий трюк: поставить HAProxy перед Apache (это требует небольшой работы) и создать ACL в HAProxy, который соответствует указанным запросам (на основе хоста / заголовок / критерии запроса) и убедитесь, что они никогда не попадут в Apache.
Есть несколько способов остановить это:
Для mod_rewrite , есть канонический вопрос с большим количеством информации . Базовый набор правил для этого может быть
RewriteEngine On
RewriteCond %{QUERY_STRING} ?p=foo.git.*
RewriteRule .* - [F]
. Это вернет клиенту 403 Forbidden
.
Для mod_security см. Документацию на modsecurity.org .
Для виртуальных хостов см. Документацию на сайте документации apache . Обратите внимание, что может возникнуть проблема с клиентами, которые не используют SNI, согласно вопросу Общие сведения о настройке ssl
Для изменения ведения журнала вы можете использовать комбинацию mod_rewrite, переменных среды и настраиваемый формат журнала. Вот пример:
RewriteEngine On
RewriteCond %{QUERY_STRING} ?p=foo.git.*
RewriteRule .* - [F,E=nolog:1]
CustomLog /path/to/your/access.log common env=!nolog