Защита Iptables от сканеров портов без DoS-уязвимости

Archwiki есть статья с предложениями по межсетевому экрану iptables с отслеживанием состояния . Они рекомендуют некоторые правила, чтобы обмануть сканеры портов , но советуют открыть уязвимость для DoS-атак. В частности, запрещая доступ к IP-адресам, которые постоянно пытаются получить доступ к закрытым портам, потенциальный злоумышленник может отправить эти пакеты с поддельным IP-адресом, чтобы мой брандмауэр заблокировал законных пользователей.

Предлагаются следующие правила TCP:

# iptables -I TCP -p tcp -m recent --update --rsource --seconds 60 --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset
# iptables -A INPUT -p tcp -m recent --set --rsource --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset

Мой вопрос: могу ли я ограничить эффективность упомянутой DoS-атаки, если я добавлю к правилам TTL пакета? Согласно странице руководства iptables :

- rttl: [···], совпадение будет сужено до тех пор, пока адрес находится в списке и TTL текущего пакета соответствует тому из пакета, который попадает под правило --set. Это может быть полезно, если у вас есть проблемы с людьми, которые подделывают свой исходный адрес, чтобы атаковать вас с помощью этого модуля, запрещая другим доступ к вашему сайту, отправляя вам поддельные пакеты.

Это сработает или я что-то упустил?

1
задан 1 March 2018 в 21:01
2 ответа

Есть пара проблем с использованием для этой цели опции TTL. Вы, по сути, предлагаете использовать TTL в качестве дополнительного компонента идентификации при идентификации адресов.

Однако, подобно тому, как злоумышленники могут подделывать IP-адреса для блокировки легитимных клиентов, они также могут подделывать TTL-значения пакетов; любой может генерировать пакеты с произвольными TTL-значениями, они не ограничиваются тем, что начинаются с предполагаемого начального значения.

Также, естественно, по мере изменения сетевой инфраструктуры, количество прыжков между вами и атакующим будет меняться с течением времени, ограничивая практическую полезность TTL в качестве уникального идентификатора.

Последняя проблема этой методики заключается в том, что вполне возможно, что атакующий будет иметь такое же количество прыжков между собой и вами, как и между многими законными хостами и вами. Поэтому даже без подмены TTL они могут достичь определенного уровня DoS атаки.

.
1
ответ дан 3 December 2019 в 20:16

Это не совсем ответ на ваш вопрос, потому что это что-то вне iptables, но если вы хотите защитить от сканирования портов, то PSAD - лучший вариант. Вы можете настроить его так, чтобы он блокировал любой ip, порт которого сканирует вашу систему. http://cipherdyne.org/psad/

Здесь используется iptables, но это не обязательно просто правило iptables

.
1
ответ дан 3 December 2019 в 20:16

Теги

Похожие вопросы