Internet Control Message Protocol, znan tudi kot ICMP, je protokol, ki se uporablja za preverjanje povezljivosti gostiteljev v omrežju. Ta protokol lahko uporabimo tudi za diagnosticiranje težav v omrežju. Toda z varnostnega vidika ga lahko nekdo uporabi tudi za napad DDoS. Poplava pinga ali napad porazdeljene zavrnitve storitve (DDoS) je oblika napada, pri kateri nekdo pošlje veliko zahtev za ping gostitelju in gostitelj postane skoraj nedostopen za rutinski promet. Da bi se temu izognili, skrbniki omrežij običajno blokirajo ICMP v svojem omrežju. V tem članku bomo izvedeli, kako lahko tabele IP uporabimo za blokiranje ICMP na našem strežniku.
Kaj so IP tabele?
IP Tables je pripomoček za požarni zid za operacijske sisteme Linux. Uporablja se lahko za sprejemanje, zavrnitev ali vrnitev omrežnega prometa v vir ali iz njega. Opazuje prihajajoči omrežni promet z uporabo različnih sklopov pravil, opredeljenih v tabeli. Ti sklopi pravil se imenujejo verige. Tabele IP opazujejo pakete podatkov in kateri paket se ujema s pravili, je usmerjen v drugo verigo ali mu je dodeljena ena od naslednjih vrednosti.
- SPREJETO: Paket bo dovoljen za prenos
- PAD: Paketa ne bo dovoljeno prenašati
- VRNITEV: Veriga bo paket vrnila v prejšnjo verigo.
Namestitev tabel IP
Za večino distribucij Linuxa so tabele IP vnaprej nameščene. Ali so tabele IP nameščene ali ne, lahko preverite tako, da v terminal vnesete naslednji ukaz.
[zaščiteno po e-pošti]: ~ $ iptables --versionČe tabele IP niso nameščene, jih lahko namestite tako, da v terminalu zaženete naslednji ukaz.
[e-pošta zaščitena]: ~ $ sudo apt-get update[zaščiteno po e-pošti]: ~ $ sudo apt-get install iptables
Privzeto stanje tabel IP lahko preverimo tako, da v terminalu zaženemo naslednji ukaz.
[e-pošta zaščitena]: ~ $ sudo iptables -L -vOznaka '-L' vsebuje vsa pravila, zastavica '-v' pa prikazuje podrobne informacije.
Lahko pa tudi navedemo vsa pravila, dodana v tabele IP, tako da v terminalu zaženemo naslednji ukaz.
[e-pošta zaščitena]: ~ $ sudo iptables -S
Privzeto vse verige sprejemajo pakete in te verige nimajo dodeljenega pravila.
Dodeljevanje pravil verigam
Sprva nobeni verigi ni dodeljeno nobeno pravilo in vsi sprejemajo omrežni promet. Zdaj v tem razdelku bomo videli, kako lahko določimo pravila po meri, s katerimi blokiramo ali dovolimo omrežni promet. Za določitev novega pravila uporabljamo zastavico 'A' (priloži), ki pove tabelam IP, da bo določeno novo pravilo. Za opis pravila se skupaj z zastavico 'A' uporabljajo tudi naslednje možnosti.
-jaz (vmesnik): Ta možnost označuje, prek katerega vmesnika želite, da je vaš omrežni promet dovoljen ali blokiran. Seznam vseh vmesnikov v sistemu lahko dobite tako, da v terminalu zaženete naslednji ukaz.
[e-pošta zaščitena]: ~ $ ifconfig-str (protokol): Ta možnost določa, kateri protokol želite filtrirati z uporabo tabel IP. To je lahko TCP, UDP, ICMP, ICMPV6 itd. Pravila lahko uporabite za vse protokole z uporabo vseh možnosti.
-s (vir): Ta možnost prikazuje vir omrežnega prometa, kot je naslov IP ali ime domene.
-dport (ciljna vrata): Ta možnost se uporablja za označevanje ciljnih vrat za omrežni promet.
-j (target): Ta možnost se uporablja za prikaz cilja. Lahko je SPREJEMI, PUSTI, ZAVRNI ali VRNI. Ta možnost je obvezna za vsako pravilo.
Na splošno bo osnovna sintaksa za dodajanje pravila naslednja:
[e-pošta zaščitena]: ~ $ sudo iptables -A-str