iptables

Kako uporabiti tabele IP za blokiranje ICMP

Kako uporabiti tabele IP za blokiranje ICMP

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.

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 -v

Oznaka '-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 -jaz -j
-str -dport -s

Blokiranje ICMP z uporabo IP tabel

Zaenkrat osnovno razumemo tabele IP in njihovo uporabo za omogočanje ali blokiranje prometa na določenih vratih prek določenih vmesnikov. Zdaj bomo z IP tabelami blokirali ICMP na našem strežniku.

Naslednji ukaz bo dodal pravilo za blokiranje ICMP na vaši napravi:

[zaščiteno po e-pošti]: ~ $ sudo iptables -A INPUT -j REJECT -p icmp - emp-type -mpmp-type

Po zagonu zgornjega ukaza preverite stanje tabel IP.

[e-pošta zaščitena]: ~ $ sudo iptables -L -v

Vidimo, da je bilo v verigo INPUT dodano pravilo, ki kaže, da bo ves promet ICMP zavrnjen. Zdaj, če sistem pingamo iz katerega koli drugega sistema iz istega omrežja, bo zahtevo zavrnil. Rezultat lahko vidimo tako, da zahtevamo ping od lokalnega gostitelja

[e-pošta zaščitena]: ~ $ ping 127.0.0.1

Vidimo, da sistem prejema zavrnilna sporočila, če mu poskušamo poslati zahtevo za ping.

Naslednja dva ukaza lahko uporabite za dodajanje pravil za blokiranje ICMP na našem strežniku.

[zaščiteno po e-pošti]: ~ $ sudo iptables -A INPUT -p icmp -j DROP - echo-request -icmp-type
[zaščiteno po e-pošti]: ~ $ sudo iptables -A IZHOD -p icmp -j DROP - echo-reply-type-type

Po dodajanju teh dveh pravil zdaj preverite stanje tabel IP.

[e-pošta zaščitena]: ~ $ sudo iptables -L -v

Vidimo, da je zgornji ukaz dodal dve pravili, eno verigi INPUT in drugo verigi OUTPUT.

Razlika med DROP in REJECT je v tem, da ko uporabimo REJECT, nam pri pingu prikaže opozorilo (Ciljna vrata nedosegljiva), ker je zahteva zavrnjena in ne doseže vrat. Po drugi strani pa, ko uporabimo DROP, preprosto pade izhod. Vnos ni zavrnjen, obdela se, izhod pa ni prikazan, kot je prikazano spodaj

Zaključek

Hekerji sprejemajo različne metode za izvajanje napadov porazdeljene zavrnitve storitve (DDoS) na strežnike. Ping poplava je tudi oblika DDoS napada. Hekerji pošljejo strežniku toliko zahtev za ping, da strežnik za obdelavo zahtev za ping uporabi vso svojo računsko moč in ne izvede dejanske obdelave. V tem ali več drugih scenarijih boste morda morali blokirati ICMP na strežniku.

V tem članku smo se naučili različnih načinov blokiranja ICMP z uporabo tabel IP. Razpravljali smo o tem, kako lahko dodamo različna pravila za blokiranje ICMP na našem strežniku. Na enak način lahko z uporabo tabel IP blokiramo kakršen koli promet na vseh vratih z uporabo tabel IP.

Kako uporabiti Xdotool za spodbujanje klikov in pritiskov mišk v Linuxu
Xdotool je brezplačno in odprtokodno orodje za ukazno vrstico, ki simulira klike in pritiske tipk. Ta članek bo zajemal kratek vodnik o uporabi xdotoo...
Najboljših 5 izdelkov z ergonomsko računalniško miško za Linux
Ali dolgotrajna uporaba računalnika povzroča bolečine v zapestju ali prstih? Ali imate trde sklepe in bi se morali neprestano tresti z rokami? Ali čut...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...