Как заблокировать IP адрес с помощью iptables на Linux

Как заблокировать IP адрес с помощью iptables на Linux

Я установил и запустил CentOS на моем сервере , и я часто нахожу , что мой сервер подвергается нападению другими компьютерами. Грубая сила SSH атаки, сканирование портов , сканирование вирусов и так далее. В этой теме я расскажу и покажу вам на готовом примере, как можно блокировать IP -адрес на сервере Linux с помощью IPTables .

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

Как заблокировать IP -адрес ?

Пример. Я хочу заблокировать входящий запрос от некоторого IP, предположим 192.168.244.134 , то нужно войти как root и ввести следующую команду:

# iptables -I INPUT -s 192.168.244.134 -j DROP

Где ,
— I: Вставка цепи в верхней части правил .
— s: Матч IP -адрес источника .
— j : Перейти к указанным целевым цепям , если пакету соответствует текущее правило .

Чтобы отбрасывать пакеты , приходящие на интерфейс eth0 с 192.168.244.134 , введите следующую команду:

# iptables -I INPUT -i eth0 -s 192.168.244.134 -j DROP

Иногда, стоит заблокировать IP следующим образом:

# iptables -A INPUT -s 11.22.33.44 -j REJECT

Где:

  • -A:  Добавляет правило в таблицу INPUT(входящие пакеты) для IP указанного ИП и выполнет действие REJECT(полностью отбрасывать пакеты не показывая признаков жизни даже по пингу).
  • — s: Матч IP -адрес источника .
  • — j : Перейти к указанным целевым цепям , если пакету соответствует текущее правило .

Как заблокировать подсеть ?

Используйте следующий синтаксис для блокирования 10.0.0.0 /8:

# iptables -I INPUT -s 10.0.0.0/8 -j DROP

 

Как сохранить заблокированный IP -адрес ?

Чтобы сохранить заблокированный IP -адрес для Iptables в файл конфигурации , введите следующую команду:

# service iptables save

или

# /etc/init.d/iptables save

Как разблокировать IP- адрес?

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

# iptables -L INPUT -n --line-numbers
# iptables -L INPUT -n --line-numbers | grep 192.168.244.134

Пример вывода:

Chain INPUT (policy DROP)
num target prot opt source destination
1 DROP all -- 192.168.244.134 0.0.0.0/0
2 LOCALINPUT all -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT udp -- 213.152.14.11 0.0.0.0/0 udp spts:1024:65535 dpt:53

Чтобы разблокировать 192.168.244.134 необходимо удалить номер строки 1, для этого введите:

# iptables -D INPUT 1

21 пример использования iptables для администраторов

Защита от DDoS с iptables, готовый скрипт

Как настроить Iptables в CentOS

Как заблокировать IP адрес с помощью iptables на Linux

Настройка IPtables для web сервера на RedHat/CentOS/Fedora

Тема «Как заблокировать IP адрес с помощью iptables на Linux» окончена.

11 thoughts on “Как заблокировать IP адрес с помощью iptables на Linux

  1. Коллеги помогите советом, я не большой специалист в iptables поэтому нужна ваша помощь.
    Ситуация следующая, есть софт работающий на CentOS 6.6 который периодически отправляет информацию на различные ip компании изготовителя. Адресов много и они периодически меняются, закрыть по ip не вариант. Нужно заткнуть этот фонтан. Но оставить возможность пользователям работать и удаленно подключаться.
    Те надо прибить весь трафик с хоста, который инициирован самим хостом. Но разрешить исходящий трафик для пользователей, те типа reflexive acl если пользоваться терминами cisco.

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

  2. Доброго времени суток!
    Прошу сильно не пинайте, только начинаю разбираться с iptables…

    Но тоже проблема, на Mandriva стоит VBox, на Боксе поднят почтовый сервер на Win2008 сервер H-Mail ip 192.185.0.55

    Постоянно пытаются ломать. ( IP разные, уже целый список)
    —————————————————————
    3949 15:03:16.618245 vnesh_IP 180.166.46.151 SMTP S: 535 Authentication failed. Too many invalid logon attempts.
    —————————————————————
    делаю так iptables -I INPUT -s 180.166.46.151 -j DROP

    результата нет

    • IP может меняться и по этому может не блокироваться, можно попробовать вот так сделать (для некоторой подсети):

      iptables -A INPUT -s 180.166.46.151/32 -j REJECT 
      

      Но мой совет для этой задачи — это использовать Fail2Ban. Я очень подробно рассказывал что и как в своей статье ( Но это для Unix/Linux ОС):
      http://linux-notes.org/ustanovka-fail2ban/

      Уверен, что она поможет со взломом почтового сервера и не только…

      • Понял спасибо!!!
        А если такое правило:

        # iptables -A INPUT -i eth0 -s 180.166.46.151 -p tcp --destination-port smtp -j REJECT
        
  3. Здравствуйте. Хочу заблокировать ВСЕ айпи Китая. Прямо все, без исключений. Как это можно реализовать?

    • Смотря для каких целей ( если для web-сервера — можно установить и использовать GeoIP и забанить сразу целую страну). Если просто заблокировать страну с IPtables, то вот список IP адресов и для примера я взял China (ПРИМИТЕ ВО ВНИМАНИЕ, что IPtables тормозит при обработке большого количества правил. Мой совет — использовать IPset, я рассказывал на своем сайте как он работает):

      # wget http://linux-notes.org/wp-content/uploads/files/IPtables/Country_IPs/China.txt 
  4. Здравствуйте! Может кто нибудь сможет ответить, как можно разрешить подключение на внешний интерфейс freepbx15 etc1 только с 1 Ip адреса(остальное всё запретить), и разрешить все подключения для внутреннего интерфейса etc0. И как понять, что используется в приоритете, фаерволл freepb или fail2ban, потому что когда запрещаю правила в iptables, то подключения всё равно проходят.

  5. Здравствуйте
    можно ли в айпитеблсе ограничить доступ к интернету кроме белого списка айпи?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.