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

Создать черный список IP nullroute из текстового файла

Я видел различные руководства о том, как обнулить один IP-адрес, и делал это раньше. Однако я не уверен, как обнулить группу IP-адресов. Было бы слишком утомительно рассматривать каждый из них по отдельности.

Если у меня есть текстовый файл с IP-адресом в каждой строке, как мне обнулить все адреса в этом файле? Есть ли команда для route или iptables что я могу использовать? Я использую Debian VPS.

Кроме того, я где-то читал, что этот метод может быть не лучшим способом запретить группу IP-адресов. Если есть лучший способ сделать это, пожалуйста, дайте мне знать. На мой сервер были спам-атаки.

Есть ли причина, по которой вы хотите обнулить маршруты хостов, а не просто блокировать их с помощью IP-таблиц? В любом случае как правилами IPtables, так и статическими маршрутами можно управлять с помощью установленных файлов конфигурации в ubuntu. Вы можете написать сценарий для анализа текстового файла, а затем изменить файлы конфигурации маршрута или iptables, но это кажется циклическим. По сути, это было бы создание файла конфигурации для управления другим файлом конфигурации. Если вам нужно сделать это на нескольких серверах, вы можете синхронизировать файлы конфигурации между ними или использовать систему управления конфигурацией, такую ​​как марионетка.

Выполнение этого вручную станет кошмаром и определенно станет случаем, когда вам удастся ударить крота. Реальный вопрос: что за спам-атаки?

Почти во всех случаях эти вещи широко распространены и достаточно распространены, чтобы их можно было смягчить как минимум в половине случаев с помощью общедоступного черного списка или настройки некоторых настроек.

Если это:

  • комментируйте спам, посмотрите, может ли программное обеспечение вашего блога / сайта использовать Akismet или подобное - я, кажется, помню, есть плагины фильтров на основе репутации IP для ряда вещей.

  • спам на форуме, включите некоторые капчи и включите проверку адреса электронной почты перед публикацией. Для вашего форума тоже может быть модуль антиспама.

  • электронный спам, используйте RBL для снижения 60-85% (по нашему опыту) спама (особенно обратите внимание на barracudacentral), установите spamassassin и т. д. или передайте фильтрацию спама компании за небольшую сумму в год и сэкономьте время и Головная боль.

IPtables довольно прост. Сначала сделай iptables --list чтобы получить список ваших цепочек и правил. По умолчанию довольно просто. Если приведенное ниже не работает или вы не видите правило INPUT, опубликуйте вывод этой команды с удаленным IP-адресом в целях безопасности.

Следующее добавляет правило для регистрации трафика с сервера, а затем его отбрасывания и сохранения ваших цепочек, чтобы они восстанавливались при загрузке:

iptables -I INPUT  --source 1.2.3.4/32 -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -I INPUT --source 1.2.3.4/32 -j DROP
iptables-save

если у вас есть список IP-адресов, вы можете сделать что-то вроде этого в bash:

    #!/bin/bash
    while read -r ip
    do
      iptables -I INPUT  --source $ip/32 -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
      iptables -I INPUT --source $ip/32 -j DROP
    done < $1
    iptables-save

./block.sh file-with-bad-ip's

Кстати, команда также принимает имена хостов, но это не рекомендуется из соображений производительности.

Может быть, вам нужен простой сценарий bash или предпочитаемый сценарий оболочки.

#!/bin/bash

shit="/tmp/null_ips"
ips=$(grep -Ev "^#" $shit)
for ip in $ips
  do
   ip route add blackhole $ip
done

далее: Проверьте, не заблокировали ли вы эти ip ..

ip route show