Назад | Перейти на главную страницу

Блокировать диапазон IP-адресов

Меня засыпают попытками взлома из Китая с похожими IP-адресами.

Как мне заблокировать диапазон IP-адресов, например, 116.10.191. * И т. Д.

Я использую Ubuntu Server 13.10.

Текущая строка, которую я использую:

sudo /sbin/iptables -A INPUT -s 116.10.191.207 -j DROP

Это позволяет мне блокировать только каждый из них за раз, но хакеры меняют IP-адреса при каждой попытке.

Чтобы заблокировать адреса 116.10.191. *:

$ sudo iptables -A INPUT -s 116.10.191.0/24 -j DROP

Чтобы заблокировать адреса 116.10. *. *:

$ sudo iptables -A INPUT -s 116.10.0.0/16 -j DROP

Чтобы заблокировать адреса 116. *. *. *:

$ sudo iptables -A INPUT -s 116.0.0.0/8 -j DROP

Но будьте осторожны с тем, что вы блокируете этим методом. Вы не хотите, чтобы легальный трафик достигал хоста.

редактировать: как уже указывалось, iptables оценивает правила в последовательном порядке. Правила, расположенные выше в наборе правил, применяются перед правилами ниже в наборе правил. Итак, если в вашем наборе правил есть правило, разрешающее указанный трафик, то добавление (iptables -A) правило DROP не приведет к желаемому результату блокировки. В этом случае вставьте (iptables -I) правило либо:

  • как первое правило

sudo iptables -I ...

  • или перед разрешающим правилом

sudo iptables --line-numbers -vnL

скажем, это показывает, что правило номер 3 разрешает трафик ssh, и вы хотите заблокировать ssh для диапазона IP. -I принимает в качестве аргумента целое число, указывающее место в вашем наборе правил, в которое вы хотите вставить новое правило

iptables -I 2 ...

sudo /sbin/iptables -A INPUT -s 116.10.191.0/24 -j DROP

Это блокирует диапазон. Вы можете расширить подсеть по мере необходимости, используя тот же общий формат.

В качестве альтернативного подхода вы можете использовать что-нибудь простое, например fail2ban. Он устанавливает тайм-аут для последовательных неудачных попыток входа в систему и делает невозможным брутфорс, поскольку они получают лишь несколько шансов за тайм-аут. Я установил продолжительность перерыва на 30 минут. К тому времени, как они проработают час или два, они понимают, что не смогут добиться никакого прогресса и сдаться.