Internet Control Message Protocol, известен също като ICMP, е протокол, използван за проверка на свързаността на хостовете в мрежа. Също така можем да използваме този протокол за диагностика на проблемите в мрежата. Но от гледна точка на сигурността, той може да се използва и от някой за извършване на DDoS атака. Наводнение на ping или атака с разпределено отказване на услуга (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 и др. Можете да приложите правила към всички протоколи, като използвате всички опции.
-с (източник): Тази опция показва източника на мрежов трафик като IP адрес или име на домейн.
-dport (целеви порт): Тази опция се използва за посочване на целевия порт за мрежов трафик.
-j (цел): Тази опция се използва за показване на целта. Това може да бъде ПРИЕМАНЕ, ПАДАНЕ, ОТХВЪРЛАНЕ или ВРЪЩАНЕ. Тази опция е задължителна за всяко правило.
По принцип основният синтаксис за добавяне на правило ще бъде следният:
[имейл защитен]: ~ $ sudo iptables -A-стр