Блокировка доступа по параметрам

domainrealt
На сайте с 09.11.2007
Offline
161
828

В наличии домен с трафиком, постоянно идут запросы на него и что-то на нем ищут, забанил несколько китайских сетей, но все равно лезут.

В логах сервера видно такое:

"ххх.ххх.ххх.ххх - - [08/May/2009:13:21:21 +0000] "GET /"какой-то однотипный текст"12344/026/2.Wma HTTP/1.1" "...... и так далее.

Сетей много и всех банить не получится. Почти все запросы однотипны. Можно ли как-то блокировать запросы если в теле запроса содержится какое-то определенное слово или набор букв?

Домены с PR4-6.
Andreyka
На сайте с 19.02.2005
Offline
822
#1

Да, mod_security в помощь

Не стоит плодить сущности без необходимости
A5
На сайте с 06.08.2006
Offline
46
#2
domainrealt:
В логах сервера видно такое:
"ххх.ххх.ххх.ххх - - [08/May/2009:13:21:21 +0000] "GET /"какой-то однотипный текст"12344/026/2.Wma HTTP/1.1" "...... и так далее.
Сетей много и всех банить не получится. Почти все запросы однотипны. Можно ли как-то блокировать запросы если в теле запроса содержится какое-то определенное слово или набор букв?

Можно попробывать блокировать с помощью iptables и модуля string. В этом случае до вебсервера запрос на обработку не дойдет. Пример.

iptables -A INPUT -p tcp --dport 80 -m string --string 'GET /какой-то однотипный текст' --algo bm -j DROP

Эту команду можно еще оптимизировать с помощью параметров --from и --to.

Например, GET в пакете находится на смещении в 40 байт. А вся эта строка GET /какой-то однотипный текст имеет длину 31 байт.

iptables -A INPUT -p tcp --dport 80 -m string --string 'GET /какой-то однотипный текст' --algo bm --from 40 --to 71 -j DROP

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий