Бесспорный блок ПОЛУЧАЕТ запрос в журнале Apache

Так как недавно у меня есть VPS. Теперь кажется, что существует домен, не принадлежавший мне, который имеет записи DNS, указывающие на мой IP. Из-за этого моего Apache (2.4) журналы лавинно рассылаются некоторым запросом МЕРЗАВЦА. Формат всегда: ДОБРАТЬСЯ/? p=foo.git;... случайный материал....

Я пытался блокировать его с iptables и в конфигурации Apache, но ничто, кажется, не работает, потому что это запускается с вопросительного знака. Мой целый сайт находится на SSL.

Действительно ли возможно не допустить его в мои журналы и как? Любая справка ценилась бы.

0
задан 9 September 2014 в 10:58
2 ответа

Учитывая, что запросы следуют определенному формату, вы можете попробовать следующий трюк: поставить HAProxy перед Apache (это требует небольшой работы) и создать ACL в HAProxy, который соответствует указанным запросам (на основе хоста / заголовок / критерии запроса) и убедитесь, что они никогда не попадут в Apache.

0
ответ дан 5 December 2019 в 13:22

Есть несколько способов остановить это:

  • mod_rewrite может соответствовать строке запроса
  • mod_security может заблокировать это, а также ряд других попыток злоупотребления вашим сервером
  • , если клиенты используют SNI,вы можете настроить отдельный виртуальный хост для другого домена и заблокировать все для него, а также регистрировать в отдельном файле (или в / dev / null)
  • пропускать запросы, но не регистрировать их

Для 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
0
ответ дан 5 December 2019 в 13:22

Теги

Похожие вопросы