LINUX.ORG.RU
ФорумAdmin

iptables - фильтрации по размеру пакета. Как сделать?


0

1

Сервер ( Apache/2.2.11 Ubuntu PHP/5.2.6-3 ubuntu 4.6) иногда ддосят. Редко но бывает пару раз в год.

Программа клиента отправляет запрос к серверу в 1 кбайт, 1 раз в 1-20 секунд и получает ответ в 1 кбайт. Как настроить, чтобы что запросы большего размера блокировались и IP шел в бан на час-день?

man 8 iptables

-c, --set-counters PKTS BYTES
This enables the administrator to initialize the packet and byte counters of a rule (during INSERT, APPEND, REPLACE operations).

Не знаю, подойдёт для такой задачи или нет, но это первое, что мне пришло в голову поискать.

adriano32 ★★★
()
Ответ на: комментарий от kavadims

Нет, то наверное не подходит, скорее

connbytes

Match by how many bytes or packets a connection (or one of the two flows constituting the connection) have tranferred so far, or by average bytes per packet.
The counters are 64bit and are thus not expected to overflow ;)
The primary use is to detect long-lived downloads and mark them to be scheduled using a lower priority band in traffic control.
The transfered bytes per connection can also be viewed through /proc/net/ip_conntrack and accessed via ctnetlink

[!] --connbytes from:[to]
match packets from a connection whose packets/bytes/average packet size is more than FROM and less than TO bytes/packets. if TO is omitted only FROM check is done. "!" is used to match packets not falling in the range.

Вот это более похоже. Сами бы ман открыли и почитали бы.

adriano32 ★★★
()

имхо, срежете много лишнего. уверен нормальные клиенты не только 1024 байт отправляют\принимают.
на http уровне не пробовали фильтровать? nginx(limit_conn\limit_req)

fr_butch
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.