iptables

Як використовувати IP-таблиці для блокування ICMP

Як використовувати IP-таблиці для блокування ICMP

Протокол повідомлень про керування Інтернетом, також відомий як ICMP, - це протокол, який використовується для перевірки підключення хостів у мережі. Цей протокол ми також можемо використовувати для діагностики проблем у мережі. Але з точки зору безпеки, він також може бути використаний кимось для здійснення DDoS-атаки. Затоплення пінгу або атака розподіленого відмови в обслуговуванні (DDoS) - це форма атаки, при якій хтось надсилає багато запитів пінгу на хост, і хост стає майже недоступним для рутинного трафіку. Щоб уникнути подібної ситуації, адміністратори мережі зазвичай блокують ICMP у своїй мережі. У цій статті ми дізнаємося, як таблиці IP можна використовувати для блокування ICMP на нашому сервері.

Що таке IP-таблиці?

IP Tables - утиліта брандмауера для операційних систем Linux. Він може використовуватися для прийняття, заборони або повернення мережевого трафіку до джерела або з нього. Він спостерігає за майбутнім мережевим трафіком за допомогою різних наборів правил, визначених у таблиці. Ці набори правил називаються ланцюгами. У таблицях IP спостерігаються пакети даних і те, який пакет збігається з правилами, спрямовується в інший ланцюжок або присвоюється одне з наступних значень.

Встановлення IP-таблиць

Для більшості дистрибутивів Linux таблиці IP постачаються попередньо встановленими. Ви можете перевірити, чи встановлені таблиці IP чи ні, набравши в терміналі наступну команду.

[захищено електронною поштою]: ~ $ iptables --version

Якщо таблиці IP не встановлені, ви можете встановити їх, виконавши наступну команду в терміналі.

[захищено електронною поштою]: ~ $ sudo apt-get update
[захищено електронною поштою]: ~ $ sudo apt-get install iptables

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

[захищено електронною поштою]: ~ $ sudo iptables -L -v

Прапор '-L' перелічує всі правила, а прапор '-v' показує детальну інформацію.

Крім того, ми також можемо перерахувати всі правила, додані до таблиць IP, виконавши наступну команду в терміналі.

[захищено електронною поштою]: ~ $ sudo iptables -S

За замовчуванням усі ланцюжки приймають пакети, і ці ланцюжки не мають призначеного правила.

Присвоєння правил ланцюгам

Спочатку жодному ланцюжку не призначено жодне правило, і всі вони приймають мережевий трафік. Тепер у цьому розділі ми побачимо, як ми можемо визначити власні правила для блокування або дозволу мережевого трафіку. Для того, щоб визначити нове правило, ми використовуємо прапор 'A' (додати), який повідомляє IP-таблицям, що нове правило буде визначене. Наступні параметри також використовуються разом із прапором "A" для опису правила.

-i (інтерфейс): ця опція вказує, через який інтерфейс ви хочете, щоб ваш мережевий трафік був дозволений або заблокований. Ви можете отримати список усіх інтерфейсів у вашій системі, виконавши наступну команду в терміналі.

[захищено електронною поштою]: ~ $ ifconfig

-стор (протокол): Цей параметр визначає, який протокол ви хочете фільтрувати за допомогою таблиць IP. Це може бути TCP, UDP, ICMP, ICMPV6 тощо. Ви можете застосувати правила до всіх протоколів, використовуючи всі параметри.

-s (джерело): Цей параметр відображає джерело мережевого трафіку, наприклад IP-адресу або доменне ім’я.

-dport (порт призначення): цей параметр використовується для позначення порта призначення для мережевого трафіку.

-j (ціль): Цей параметр використовується для відображення цілі. Це може бути ПРИЙНЯТИ, ВПАДАТИ, ВІДХОДИТИ або ВЕРНУТИСЯ. Цей параметр є обов’язковим для кожного правила.

Загалом, основний синтаксис для додавання правила буде таким:

[захищено електронною поштою]: ~ $ sudo iptables -A -i -j
-стор -dport -s

Блокування ICMP за допомогою IP-таблиць

Наразі ми базово розуміємо таблиці IP та їх використання для дозволу або блокування трафіку на певних портах через певні інтерфейси. Тепер ми будемо використовувати таблиці IP для блокування ICMP на нашому сервері.

Наступна команда додасть правило для блокування ICMP на вашому комп'ютері:

[захищено електронною поштою]: ~ $ sudo iptables -A INPUT -j REJECT -p icmp - echo-request типу typemp

Після запуску вищевказаної команди перевірте статус таблиць IP.

[захищено електронною поштою]: ~ $ sudo iptables -L -v

Ми бачимо, що до ланцюжка INPUT додано правило, яке показує, що весь трафік ICMP буде відхилено. Тепер, якщо ми пінгуємо нашу систему з будь-якої іншої системи з тієї ж мережі, вона відхилить запит. Результат ми можемо побачити, зробивши запит ping від localhost

[захищено електронною поштою]: ~ $ ping 127.0.0.1

Ми бачимо, що отримуємо повідомлення про відхилення від системи, якщо спробуємо зробити до неї запит ping.

Крім того, наступні дві команди можна використовувати для додавання правил блокування ICMP на нашому сервері.

[захищено електронною поштою]: ~ $ sudo iptables -A INPUT -p icmp -j DROP - echo-запит типу icmp
[захищено електронною поштою]: ~ $ sudo iptables -A ВИХІД -p icmp -j DROP - echo-відповідь типу icmp

Додавши ці два правила, тепер перевірте стан таблиць IP.

[захищено електронною поштою]: ~ $ sudo iptables -L -v

Ми бачимо, що вищевказана команда додала два правила, одне до ланцюга INPUT, а друге до ланцюга OUTPUT.

Різниця між DROP та REJECT полягає в тому, що коли ми використовуємо REJECT, він показує нам застереження (Порт призначення недоступний), коли ми пінгуємо, оскільки запит відхилено, і він не досягає порту. З іншого боку, коли ми використовуємо DROP, він просто скидає результат. Вхідні дані не відхиляються, вони обробляються, але вихідні дані не відображаються, як показано нижче

Висновок

Хакери застосовують різні методи для здійснення розподілених атак на відмову в обслуговуванні (DDoS) на сервери. Ping-повінь - це також форма DDoS-атаки. Хакери надсилають на сервер стільки запитів на пінг, що сервер використовує всю свою обчислювальну потужність для обробки запитів на пінг і не виконує фактичну обробку. У цьому або кількох інших сценаріях вам може знадобитися заблокувати ICMP на своєму сервері.

У цій статті ми вивчили різні способи блокування ICMP за допомогою таблиць IP. Ми обговорили, як можна додати різні правила для блокування ICMP на нашому сервері. Таким же чином ми можемо використовувати таблиці IP для блокування будь-якого трафіку на будь-якому порту за допомогою таблиць IP.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Безкоштовні ігри з відкритим кодом для розробки ігор Linux
У цій статті буде розглянуто перелік безкоштовних ігрових механізмів з відкритим кодом, які можна використовувати для розробки 2D та 3D ігор на Linux....