Протокол повідомлень про керування Інтернетом, також відомий як 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-стор