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

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

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

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

0
задан 6 July 2014 в 22:01
4 ответа

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

.
1
ответ дан 4 December 2019 в 17:26

IP-таблицы довольно просты. Сначала сделайте 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-with-bad-ip's

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

0
ответ дан 4 December 2019 в 17:26

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

#!/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
0
ответ дан 4 December 2019 в 17:26

Сделать это вручную будет кошмаром и определённым случаем придурка. Вопрос в том, что это за спам?

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

Если это:

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

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

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

0
ответ дан 4 December 2019 в 17:26

Теги

Похожие вопросы