На справочной странице UFW упоминается, что он может настроить ограничение скорости iptables для меня:
ufw поддерживает ограничение скорости соединения, что полезно для защиты от атак методом перебора. UFW будет запрещать соединения, если IP-адрес пытался инициировать 6 или более соединений в течение последних 30 секунд. См. Http://www.debian-administration.org/articles/187 для деталей. Типичное использование:
ufw limit ssh/tcp
К сожалению, это вся документация, которую я смог найти. Я хотел бы придерживаться UFW, а не использовать более сложные команды iptables (чтобы не усложнять ситуацию).
Как бы я использовал ufw, чтобы ограничить весь входящий (поэтому не исходящий) трафик через порт 80 до 20 подключений за 30 секунд? Как отключить ограничение скорости для портов от 30000 до 30005? Ограничение скорости включено по умолчанию для всех портов?
iptable
, если да, то iptable является бэкэндом UFW.Как уже упоминалось в предыдущем посте, вы можете настроить user.rules. Мне нужно ограничение скорости подключения SMTP до 12 подключений за 6 секунд. Я добавил правило, как показано ниже. Примечание: это добавляет правило ограничения, позволяющее 6 в 30 секунд по умолчанию
и я отредактировал /lib/ufw/user.rules (я храню пользовательскую копию этого файла с множеством других настроек), как показано ниже ...
источник
ограничение скорости может быть изменено в файле правил ufw, который можно найти в /lib/ufw/user.rules. по умолчанию нет ограничений на все порты. Вы должны добавить каждый порт вручную или отредактировав файл user.rules.
источник
Стоит указать на возможные непредвиденные последствия использования функции LIMIT в UFW.
Предположим, что в качестве первого правила ufw было установлено общее ограничение для порта 22 / tcp:
с предположением, что любые соединения, работающие в рамках лимита, все еще могут быть отфильтрованы, следуя правилам ufw и, наконец, политике по умолчанию «deny (входящий)».
По крайней мере, для ufw 0.35 это предположение было бы неверным. Фактически логика LIMIT IN немедленно принимает любой вход, не отклоненный по критерию предела.
В psuedocode логика LIMIT имеет вид
if CONDITION then DENY else ACCEPT
тогда как другие правила UFW, кажется, имеют логику:
if CONDITION then (DENY|ACCEPT) else continue to next rule
,Лично я обнаружил, что это было неожиданное поведение для LIMIT ufw, которое я обнаружил только неожиданно, обнаружив много попыток входа на порт 22 в системном журнале, который никогда не должен был происходить из-за фильтрации по другим правилам ufw.
Детали подтверждения поведения
Соответствующие строки кода iptables, вставленные ufw, следующие:
Приведенный выше список может быть создан с
Первые две строки являются последовательными, в
ufw-user-input
которых можно подтвердитьисточник