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

49

Я получаю бомбардировку попытками взлома из Китая со всеми похожими IP-адресами.

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

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

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

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

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

Стивен Чофи
источник
4
Вы должны взглянуть на fail2ban, он действительно хорош в динамическом запрете нежелательных IP-адресов.
user9517 поддерживает GoFundMonica
Мне также нравится добавлять knockd, чтобы практически исключить 100% неудачных попыток доступа из моих журналов. help.ubuntu.com/community/PortKnocking
Бруно Броноски
Здесь может помочь pam_shield. github.com/jtniehof/pam_shield
Даниил

Ответы:

87

Для блокировки 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

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

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

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

sudo iptables -I ...

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

sudo iptables --line-numbers -vnL

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

iptables -I 2 ...

ручей
источник
Проверьте arin.net и заблокируйте весь диапазон принадлежащих Амстердаму IP-диапазонов . Это место RIPE с зондирующими пауками - я сомневаюсь, что оттуда исходит законный трафик.
WEBjuju
обратите внимание, что это может не работать в зависимости от порядка правил iptable , см. ответ serverfault.com/a/507502/1
Джефф Этвуд,
2
o snap @JeffAtwood Я польщен вашим комментарием. ответ обновлен;)
Крик
И как вы разблокируете определенный диапазон?
bzero
11

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

Это блокирует диапазон. При необходимости вы можете расширить подсеть с помощью того же общего формата.

Натан С
источник
будет ли это работать на всем диапазоне 4-го набора? Как это 0/24 только 0-24. Я пробовал, например, 500, но это не сработало. Будет ли 0/24 покрывать все эти числа в сотнях и 200-х
Стивен Cioffi
3
@Stephen Это диапазон CIDR. Если вам нужно рассчитать его для другого диапазона, используйте это: subnet-calculator.com/cidr.php
Натан C
4

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

Темет
источник
Кроме того, блокирование целых стран может препятствовать разрешенному использованию.
Эса Йокинен
Я понимаю, что этой теме больше года, но я хотел, чтобы люди что-то знали. У меня установлен и работает fail2ban, но я также регулярно проверяю логи сервера. Этот диапазон IP-адресов 89.248.x.xпродолжает пробовать разные почтовые логины примерно через час после последней попытки в течение дня. По-видимому, удержание findtimein fail2ban в 30 минутах уже недостаточно для того, чтобы не допустить клеветы на всех неприятных сценариев.
Танзил Кази