Назад | Перейти на главную страницу

Блокировать определенного клиента в CentOS по имени клиента

Я просматриваю журнал доступа к Apache и обнаруживаю подозрительную активность из нескольких диапазонов IP. Их объединяет то, что все они обозначены как «Allegro-Software-WebClient / 4.07».

Есть ли способ создать правило для apf или аналогичного, которое подойдет:

DROP ALL CLIENTS IF NAME STARTS WITH "Allegro"

Чтобы брандмауэр мог это сделать, он должен поддерживать проверку протокола HTTP, который не поддерживается большинством брандмауэров (если не всеми). Межсетевые экраны обычно проверяют нижние уровни.

Предлагаю перед apache установить прокси типа squid. Вы можете настроить его для отказа в доступе на основе пользовательского агента (называемого браузером в squid).

acl aclname browser [-i] regexp ...

Прокси-сервер также помогает в кэшировании и, таким образом, повышает производительность вашего сервера.