Я добавил 200 сотен таких правил iptable:
iptables -A INPUT -s 108.62.150.0/24 -j DROP
iptables -A INPUT -s 109.108.64.0/19 -j DROP
iptables -A INPUT -s 109.110.32.0/19 -j DROP
чтобы заблокировать IPS России и Восточной Европы с моего сервера.
Однако мой fail2ban по-прежнему срабатывает для многих IP-адресов, которые попадают в эти диапазоны.
Начало моего набора правил выглядит так:
Chain INPUT (policy DROP)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 127.0.0.0/8
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 224.0.0.0/4 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
PUB_IN all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 108.62.150.0/24 0.0.0.0/0
DROP all -- 109.108.64.0/19 0.0.0.0/0
DROP all -- 109.110.32.0/19 0.0.0.0/0
DROP all -- 109.110.64.0/19 0.0.0.0/0
DROP all -- 109.111.176.0/20 0.0.0.0/0
Почему они все еще проходят?
Это заявления PUB_IN ?? Должны ли мои правила блокировки (DROP) появляться перед правилами PUB_IN?
Порядок правил в таблицах Netfilter важен. Ты должен двигаться PUB_IN
и ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
rules после ваших правил DROP. Правило с state RELATED,ESTABLISHED
должен оставаться на месте.
Если правила соответствуют дополнительному трафику, вы должны упорядочить их с большими префиксами вверху (например, / 4 должен быть вверху / 32 внизу). Если они перекрываются (они могут соответствовать одному и тому же пакету), их переупорядочение изменит семантику, но если они дополняют друг друга, их можно переупорядочить.