Как запретить POST-запросы к серверу?

Эмоции.
Просто задолбали эти хакеры. Каждому третьему нужно пофлудить посылая медленные slow http post запросы. Атака на отказ.

По делу.
Необходимо запретить выполнять POST-запросы к серверу с любого ip-адреса кроме одного(своего). Желательно бы сделать это используя ipfw. Но можно и любой другой вариант.

Подскажите пожалуйста, какой нибудь вариант. Чем проще тем лучше. Спасибо.

Что есть:
Выделенный сервер.
FreeBSD 8.2
IPFW .
nginx 1.4.2 в качестве фронтенд веб-сервера.
Apache 2.2.25 в качестве бэкэнд веб-сервера.

1 ответов


ipfw будет глубоко всё равно, что там происходит внутри http

раз есть nginx впереди, то вариантов несколько
- поднять количество worker_connections и системные настройки подкрутить
- ограничить количество запросов/соединений limit_conn / limit_req
- попробовать разрешить POST через limit_except или if ($request_method = POST) { allow 127.0.0.1; deny all; }