Страница 1 из 1

Блокировка iptables по списку из интернета

СообщениеДобавлено: 03 апр 2018, 11:01
awsswa
Злобные хакеры не дают спокойной жизни а порт 5060 закрыть нельзя ?
Fail2ban не справляется из редких попыток и распределенных атак ?
Давно для жаждущих придумали списки в интернете для блокировки переборщиков паролей
Вот на пример: https://github.com/firehol/blocklist-ip ... _sip.ipset
Будем применять на практике:
Файл создаем в /root/block/block_sip.sh
Даем права 755
Содержание:
Код: выделить все
#!/bin/bash

# Check if chain exists and create one if required
if [ `iptables -L -n | grep -c "Chain BLACKLIST-INPUT"` -lt 1 ]; then
  /sbin/iptables -N BLACKLIST-INPUT
  /sbin/iptables -I INPUT 1 -j BLACKLIST-INPUT
fi

# Empty the chain
/sbin/iptables -F BLACKLIST-INPUT
wget -qO - http://lists.blocklist.de/lists/sip.txt |\
  awk '{print "if [ ! -z \""$1"\" -a \""$1"\" !=  \"#\" ]; then /sbin/iptables -A BLACKLIST-INPUT -s \""$1"\" -j DROP;fi;"}' | sh


Теперь закидываем правило в /etc/crontab в самый низ.

Код: выделить все
# update blacklist each 4 hours
0 */4 * * * * root /root/block/block_sip.sh


Теперь осталось убедится что работает.
iptables -L -n -v
А вот и циферки срабатывания:
Код: выделить все
    0     0 DROP       all  --  *      *       66.206.39.125        0.0.0.0/0
   24 19648 DROP       all  --  *      *       185.212.202.146      0.0.0.0/0
    2  1462 DROP       all  --  *      *       185.107.83.3         0.0.0.0/0
    0     0 DROP       all  --  *      *       46.166.139.48        0.0.0.0/0

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 03 апр 2018, 11:05
awsswa
Не хватает одного списка ? У нас их море !
Содержание block_sip2.sh

Код: выделить все
#!/bin/bash

# Check if chain exists and create one if required
if [ `iptables -L -n | grep -c "Chain BLACKLIST2-INPUT"` -lt 1 ]; then
  /sbin/iptables -N BLACKLIST2-INPUT
    /sbin/iptables -I INPUT 1 -j BLACKLIST2-INPUT
fi


# Empty the chain
/sbin/iptables -F BLACKLIST2-INPUT
wget -qO - https://dataplane.org/sipquery.txt |\
  sed '/^#/d' | cut -d'|' -f3 | awk '{print "if [ ! -z \""$1"\" -a \""$1"\" !=  \"#\" ]; then /sbin/iptables -A BLACKLIST2-INPUT -s \""$1"\" -j DROP;fi;"}' | sh


Подсказывать как это завернуть в cron ведь уже не нужно ?
И оно работает
Код: выделить все
    0     0 DROP       all  --  *      *       195.154.63.172       0.0.0.0/0
    2   872 DROP       all  --  *      *       62.210.252.117       0.0.0.0/0
    0     0 DROP       all  --  *      *       212.129.51.22        0.0.0.0/0
    0     0 DROP       all  --  *      *       163.172.7.171        0.0.0.0/0

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 04 апр 2018, 02:49
whoim
Если интересно, могу расшарить свой динамический список. Инфа собирается с нескольких десятков серверов в разных странах.
Обновляется раз в час.
Брутят один - блочится на всех.

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 04 апр 2018, 08:28
virus_net
http://frod.subnets.ru/ можешь и оттуда ипы цеплять, там тоже куча "хороших парней".

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 05 апр 2018, 13:38
sergio
awsswa, спасибо, хорошая тема. Может имеет смысл закрепить тему где-нибудь на видном месте чтоб не потерялась?

Кто-нибудь замерял как изменится загрузка ЦП при добавлении 1тыс. правил на проверку src ? и как уменьшится общая пропускная способность? ведь правило обработки черного списка помещается в самый верх ( -I INPUT 1 ) , что заставляет уже установленные соединения идти по цепочке проверки черного листа. Может имеет смысл запускать проверку только на новые соединения? все равно ведь при переборе пароля каждая попытка прилетает новым соединением. Иль я не прав?

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 05 апр 2018, 14:35
Vlad1983
ipset будет быстрей работать
эти списки и формируются для ipset

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 09 апр 2018, 01:47
whoim
Тысячи записей???
Фигасе, у меня 2-3 десятка максимум в одно время. Всего уникальных более 10 тыщ засветилось.. Срок блока - двое суток, повторно редко попадаются.

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 09 апр 2018, 09:30
sergio
whoim, если старые очищаются то эт хорошо.
А что если один из сервисов выдающих адреса хакнут или подвергнут массовой целевой атаке и он начнет генерировать хрень? ну так в гипотетическом порядке пофантазируем :roll:
В любом случае, правило проверки src в цепочке INPUT и FORWARD(если Ast за NAT) следует ставить после правила пропускающего уже установленные соединения --state ESTABLISHED,RELATED -j ACCEPT.

Re: Блокировка iptables по списку из интернета

СообщениеДобавлено: 10 апр 2018, 00:41
whoim
В телефонии регулярно и постоянно создаются и завершаются соединения, это нормальный процесс.