Может ли Apache динамически запрещать? [duplicate]

Я размещаю три разных сайта на одном сервере. Вот выдержки из утренних логов Apache:

### SITE 1 ###
[Fri Dec 13 09:15:49 2013] [error] [client 85.17.87.36] script not found or unable to stat: /var/www/vhosts/site1.com/cgi-bin/php.cgi
[Fri Dec 13 09:15:49 2013] [error] [client 85.17.87.36] script not found or unable to stat: /var/www/vhosts/site1.com/cgi-bin/php4
[Fri Dec 13 09:23:21 2013] [error] [client 113.53.238.155] script not found or unable to stat: /var/www/vhosts/site1.com/cgi-bin/php
[Fri Dec 13 09:23:22 2013] [error] [client 113.53.238.155] script not found or unable to stat: /var/www/vhosts/site1.com/cgi-bin/php5
[Fri Dec 13 09:23:22 2013] [error] [client 113.53.238.155] script not found or unable to stat: /var/www/vhosts/site1.com/cgi-bin/php-cgi
[Fri Dec 13 09:23:23 2013] [error] [client 113.53.238.155] script not found or unable to stat: /var/www/vhosts/site1.com/cgi-bin/php.cgi
[Fri Dec 13 09:23:24 2013] [error] [client 113.53.238.155] script not found or unable to stat: /var/www/vhosts/site1.com/cgi-bin/php4
[Fri Dec 13 09:47:03 2013] [error] [client 172.246.127.26] File does not exist: /var/www/vhosts/site1.com/httpdocs/install
[Fri Dec 13 09:47:08 2013] [error] [client 172.246.127.26] File does not exist: /var/www/vhosts/site1.com/httpdocs/phpbb3

### SITE 2 ###
[Fri Dec 13 09:24:39 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site2.com/cgi-bin/php
[Fri Dec 13 09:24:39 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site2.com/cgi-bin/php5
[Fri Dec 13 09:24:39 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site2.com/cgi-bin/php-cgi
[Fri Dec 13 09:24:39 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site2.com/cgi-bin/php.cgi
[Fri Dec 13 09:24:40 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site2.com/cgi-bin/php4

### SITE 3 ###
[Fri Dec 13 09:24:40 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site3.com/cgi-bin/php
[Fri Dec 13 09:24:40 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site3.com/cgi-bin/php5
[Fri Dec 13 09:24:40 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site3.com/cgi-bin/php-cgi
[Fri Dec 13 09:24:40 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site3.com/cgi-bin/php.cgi
[Fri Dec 13 09:24:40 2013] [error] [client 107.20.169.255] script not found or unable to stat: /var/www/vhosts/site3.com/cgi-bin/php4

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

Когда IP-адрес из таких мест, как Китай или Россия, я вручную запрещаю весь диапазон и перезапускаю Apache. Но когда IP-адреса находятся в США, я не могу запретить весь диапазон, потому что теоретически они могут использоваться законными клиентами.

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

Например, IP-адрес автоматически блокировался бы при запросе /cgi-bin/php-cgi

Запрет может быть временным по своей природе. Apache автоматически справится с этим, не требуя перезапуска.

Возможно ли что-нибудь подобное?

0
задан 13 December 2013 в 19:10
1 ответ

Достаточно простое решение - настроить fail2ban на мониторинг ваших журналов и добавление IP-адресов в ваш брандмауэр.

1
ответ дан 4 December 2019 в 17:52

Теги

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