Як заблокувати IP за допомогою iptables

Вступ

Як вебмайстер, ви, зрештою, матимете справу з образливим користувачем (або кількома). Це більш-менш неминуча перешкода для ведення бізнесу в Інтернеті. Можливо, вони заповнюють ваш розділ коментарів спамом, заповнюють ваш сервер запитами або турбують інших ваших читачів. У будь-якому випадку, ви хочете, щоб вони зникли, перш ніж вони завдадуть вам більше головного болю.

Не хвилюйтесь За умови, що ви розумієте, як працює iptables – це насправді досить легко зробити.

Я розповім вам, як заблокувати IP-адресу, а також розповім про кілька команд, які ви захочете використовувати.

Розпочнімо. Ваш перший крок — увійти на вебсервер через консоль керування або через безпечне з’єднання. Переконайтеся, що у вас є root-доступ – він вам знадобиться.

Як заблокувати IP-адресу або діапазон IP

Ми почнемо з кількох основних команд.

По-перше, ось як запобігти певній IP-адресі отримати доступ до вашого сервера за допомогою команди iptables block ip. Замініть [IP] IP-адресою, яку ви хочете заблокувати:

iptables -A INPUT -s [IP] -j DROP

Тим часом якщо ви хочете заблокувати певний діапазон IP-адрес; введіть наступне, замінивши [START] і [END] на кінцеві точки діапазону (через  Chron ):

iptables -A INPUT -m iprange –src-range [START]-[END] -j DROP

Ви також можете заблокувати доступ до свого сайту для цілої підмережі

iptables -i eth1 -A INPUT -s [АДРЕСА ПІДМЕРЕЖІ] -j DROP

Блокування підключення на певному інтерфейсі

Тепер припустимо, що ви хочете лише заблокувати з’єднання через певний інтерфейс. У цьому випадку команда буде наступною:

iptables -A INPUT -i [Ім'я інтерфейсу] -s [IP] -j DROP

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

Як заблокувати порт

Якщо ви хочете заблокувати з’єднання на певному порту, скористайтеся такою командою iptables block port:

iptables -A INPUT -s 65.55.44.100 -p tcp –destination-port 25 -j DROP

Перегляд IP-блоків

Якщо в будь-який час ви захочете переглянути свій список заблокованих IP-адрес, ви можете скористатися будь-яким з них

iptables -L -v або /sbin/iptables -L INPUT -v

Видалення IP-блокування

Переглядаючи цей список, ви можете видалити певні записи за допомогою команди відкрити порт iptables або команди дозволити порт iptables. Використовуйте такі команди в порядку:

iptables -L INPUT -n –line-numbersiptables -D INPUT [LINE]iptables -L INPUT -v -n

Звичайно, якщо ви знаєте, якого конкретного запису ви хочете позбутися, наступний синтаксис працюватиме так само добре, використовуючи команду iptables drop ip:

iptables -D INPUT -s 1.2.3.4 -j DROP

Припускаючи, що ви бажаєте реєструвати видалену інформацію про адресу, ви також можете ввімкнути ведення журналу ядра за допомогою: 

iptables -i eth1 -A INPUT -s [IP/SUBNET] -j LOG –log-prefix “IP DROP SPOOF A:

Пошук заблокованих IP-адрес

Далі ви можете шукати заблоковані IP-адреси за допомогою:

iptables -L INPUT -v -n | grep [IP]

Збереження змін

Нарешті, щоб зберегти зміни, які ви внесли до свого списку блокувань iptables у CENTOS, RHEL або Fedora, вам потрібно буде використати команду

service iptables save

Додаткові команди, які можна використовувати для блокування трафіку

Наведені вище команди утворюють основну структуру блокування IP-адрес в iptables, але вони не зовсім вичерпні. Якщо ви дійсно хочете відключити від себе IP-адреси, є кілька додаткових команд, які ви повинні знати. Вони такі:

  • -OUTPUT: запобігає з’єднанню TCP із сервером і блокує вихідний трафік. Синтаксис
iptables -A OUTPUT -s [IP] -j DROP
  • -FORWARD:  блокує весь трафік для пересилання. Синтаксис
iptables -A FORWARD -s [IP] -j DROP
  • tcp:  як і вихід, блокує TCP-з’єднання. Синтаксис
iptables -A INPUT -p tcp -s [IP] -j DROP
  • icmp:  Блокує зондування портів. Синтаксис:
-A INPUT -p icmp -s [IP] -j DROP

Створення вашого списку блокувань iptables

Тепер, коли ви ознайомилися з основами iptables, ви можете створити свій власний чорний список, виконавши ці команди:

1. Спочатку скиньте всі старі правила за замовчуванням і чинні правила за допомогою команди flush:

iptables -F

2. Далі змініть стандартну політику ланцюга за допомогою такого набору команд:

iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROP

3. Налаштуйте IP-блокування, як вважаєте за потрібне, використовуючи команди з попереднього розділу.

Якщо помітили помилки чи неточності, будь ласка, залишіть коментар чи напишіть листа на поштову адресу [email protected]

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *