Рейтинг:0

Как отключить обратный поиск DNS в Apache 2.2 или в рекурсивной привязке

флаг cn

Я хотел бы запретить Apache (2.2) выполнять обратный поиск IP-адресов клиентов. У меня есть

HostnameLookups Off

и

LogFormat "%h %l %u %t %V \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" порт:%p" comb_vhost
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" в сочетании
LogFormat "%h %l %u %t \"%r\" %>s %b" общий

в httpd.conf, но Apache по-прежнему во многих случаях часто выполняет поиск и записывает доменные имена вместо IP-адресов в журналы доступа.

Мне нужны IP-адреса из журналов доступа, чтобы заблокировать их на брандмауэре.

Если это невозможно настроить в конфигурации Apache, возможно, это можно сделать в конфигурации привязки. На машине, которую мне нужно исправить, bind работает как локальный рекурсивный преобразователь.

Доменные имена бесполезны, потому что они не могут быть преобразованы обратно в исходный IP-адрес (похоже, для этих доменных имен намеренно отсутствует обычная запись DNS A/AAAA).

Patrick Mevzek avatar
флаг cn
`%h` в журнале доступа означает имя хоста, см. https://httpd.apache.org/docs/2.4/mod/mod_log_config.html#formats. Это, очевидно, получается путем выполнения обратного DNS-запроса по IP-адресу, поскольку это единственное, что Apache видит в качестве HTTP-сервера, где протокол построен на TCP/IP.
флаг cn
На странице написано *"%h Удаленное имя хоста. Будет регистрироваться IP-адрес, если для параметра HostnameLookups установлено значение Off, что является значением по умолчанию. Если он регистрирует имя хоста только для нескольких хостов, вероятно, у вас есть директивы управления доступом, в которых они упоминаются по имени." * Так и происходит, в основном это IP-адреса, но иногда встречаются и имена хостов, что и имеет место в этой атаке. Возможно, есть какие-то «директивы управления доступом», которые вызывают разрешение DNS. Однако я не вижу таких правил ни в одной конфигурации. Я попытался настроить %a вместо %h, но это не изменило поведение apache.
флаг cn
О, когда LogFormat изменяется в виртуальном хосте, это не влияет. Но если я настрою его в глобальном httpd.conf, так оно и будет. Таким образом, форматирование строки %a вместо %h в httpd.conf решает мою проблему.
Рейтинг:0
флаг cn

Существует директива LogFormat, которая сообщает Apache, что следует записывать в журналы доступа. Для предпочтения IP-адреса имени хоста существует строка формата %a.

Документацию по Apache 2.2 LogFormat см.

https://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats

Когда LogFormat изменяется в контексте виртуального хоста, это, похоже, не имеет никакого эффекта; Я попытался изменить %h на %a в блоке виртуального хоста, но имена хостов все еще записывались в журнал доступа виртуального хоста.

Но потом я сделал изменение в файле глобальной конфигурации httpd.conf, и это помогло. Теперь apache регистрирует всегда IP-адреса, а не имена хостов.

Рейтинг:0
флаг cn

Не используйте имена нигде в конфигурации, только IP-адреса и измените формат конфигурации, чтобы регистрировать только IP-адреса.

Однако неясно, почему вы хотите это сделать, вы создаете для себя кошмарное обслуживание. IP-адреса иногда меняются...

Доменные имена бесполезны, потому что они не могут быть преобразованы обратно в исходный IP-адрес.

Это совсем не проблема. DNS истечет время ожидания или вернет ошибку, и жизнь продолжится.

флаг cn
Я добавил немного информации.Это делается для того, чтобы заблокировать клиентские IP-адреса злоумышленников.
Patrick Mevzek avatar
флаг cn
Это не поможет заблокировать кого-либо.
флаг cn
Вы не понимаете моего вопроса.
флаг cn
Мне нужно получить список IP-адресов. Я не могу получить их из списка доменных имен, потому что это домены злоумышленников без записи A/AAAA.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.