Блок диапазона 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 минутах уже недостаточно для того, чтобы не допустить клеветы на всех неприятных сценариев.
Танзил Кази
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.