В связи с тем, что пришлось столкнуться с вирусной активностью (icmp flood и dns ddos, которые выполняли зараженые машины в локальной сети и к которым у меня нет доступа) какие способы существуют в ipfw для ограничения icmp и udp запросов. Шейпить бы мне не хотелось, но limit в ipfw ведь не дает нужного функционала, такого, как --limit в iptables? Какие варианты есть? В pf или ipf есть необходимый функционал? Как вообще люди превентивно ограничивают такие вещи?
>В связи с тем, что пришлось столкнуться с вирусной активностью (icmp flood
>и dns ddos, которые выполняли зараженые машины в локальной сети и
>к которым у меня нет доступа) какие способы существуют в ipfw
>для ограничения icmp и udp запросов. Шейпить бы мне не хотелось,
>но limit в ipfw ведь не дает нужного функционала, такого, как
>--limit в iptables? Какие варианты есть? В pf или ipf есть
>необходимый функционал? Как вообще люди превентивно ограничивают такие вещи?man ipfw
...
limit {src-addr | src-port | dst-addr | dst-port} N
The firewall will only allow N connections with the same set of
parameters as specified in the rule. One or more of source and
destination addresses and ports can be specified.Это не подходит что-ли в купе с keep-state/check-state ?
>Это не подходит что-ли в купе с keep-state/check-state ?Каким образом connection применимо к udp или icmp?
>>Это не подходит что-ли в купе с keep-state/check-state ?
>
>Каким образом connection применимо к udp или icmp?If the ruleset includes one or more rules with the keep-state or limit
option, then ipfw assumes a stateful behaviour, i.e., upon a match it
will create dynamic rules matching the exact parameters (addresses and
ports) of the matching packet.Необходимо еще выставить правильно переменные ядра (sysctl), которые управляют
динамическими правилами ipfw.BEWARE: stateful rules can be subject to denial-of-service attacks by a
SYN-flood which opens a huge number of dynamic rules. The effects of
such attacks can be partially limited by acting on a set of sysctl(8)
variables which control the operation of the firewall.
>[оверквотинг удален]
>>
>>Каким образом connection применимо к udp или icmp?
>
>If the ruleset includes one or more rules with the keep-state or
>limit
>option, then ipfw assumes a stateful behaviour, i.e., upon a match it
>
>will create dynamic rules matching the exact parameters (addresses and
>ports) of the matching packet.
>Просто я не понимаю, как connection, т.е. соденинение применимо к udp или icmp? Каким образом работает подобное ограничение? Вы сами-то пробовали то, что советуете?
>>limit
>>option, then ipfw assumes a stateful behaviour, i.e., upon a match it
>>
>>will create dynamic rules matching the exact parameters (addresses and
>>ports) of the matching packet.
>>
>
>Просто я не понимаю, как connection, т.е. соденинение применимо к udp или
>icmp? Каким образом работает подобное ограничение? Вы сами-то пробовали то, что
>советуете?Естественно.
/sbin/ipfw -d show | more
...
10200 1 144 (9s) STATE udp xxx.yyy.mmm.6 51915 <-> xxx.yyy.zzz.2 53
...ipfw не управляет TCP соединением , он только контролирует последовательность
флагов в передаваемых пакетах, назначение портов и направление пакетов между src и dst .
Аналогично для UDP, контролируются дейтаграммы между src и dst.Задав в правиле keep-state для пакета udp 53 (dns), который следует к
DNS серверу, тем самым создадим динамическое правило для udp ответа от DNS сервера.
Правило check-state проверит допустимость пропуска ответ от DNS сервера
уже в динамических правилах ipfw .Аналогичные динамические правила создаются для правил с limit .
Обычный stateful файрвол.
Спасибо, Вы единственный, кто мне помог =)