Konfiguriranje iptables na CentOS 7

Vsi operacijski sistemi, ki temeljijo na jedru Linuxa, imajo vgrajen požarni zid, ki spremlja in filtrira vhodni in izhodni promet na podlagi pravil, ki jih določi uporabnik ali platforma. V distribuciji CentOS 7 privzeto ta funkcija opravlja pripomoček iptables , ki deluje v vgrajenem požarnem zidu netfilterja. Včasih mora skrbnik sistema ali upravitelj omrežja prilagoditi delovanje te komponente s pisanjem ustreznih pravil. V današnjem članku bi radi govorili o osnovah konfiguracije iptablesa v omenjenem OS.

Konfiguriramo iptables v CentOS 7

Orodje je na voljo za delo takoj po končani namestitvi CentOS 7, poleg tega pa boste morali namestiti tudi nekatere storitve, o katerih bomo razpravljali kasneje. V tej platformi je še eno vgrajeno orodje, ki izvaja funkcijo požarnega zidu FirewallD. Da bi se izognili konfliktom med nadaljnjim delom, priporočamo, da to komponento onemogočite. Za podrobnejša navodila o tej temi si oglejte našo drugo gradivo na naslednji povezavi.

Več podrobnosti: Onemogoči požarni zid v CentOS 7

Kot veste, lahko sistem uporablja IPv4 in IPv6. Danes se bomo osredotočili na primer IPv4, če pa želite konfigurirati drug protokol, boste morali uporabiti ip6tables namesto ukaza iptables v ukazni mizi .

Namestitev storitev iptables

Najprej dodajte dodatne komponente uporabnega orodja, ki so danes obravnavane v sistemu. Pomagali bodo pri postavljanju pravil in drugih parametrov. Nalaganje poteka iz uradnega skladišča, zato ne traja veliko časa.

  1. Vsa nadaljnja dejanja bodo izvedena v klasični konzoli, zato jo zaženite s poljubno metodo.
  2. Zagon terminala za konfiguriranje pripomočka iptables na CentOS 7

  3. Ukaz sudo yum install iptables-services je odgovoren za namestitev sudo yum install iptables-services . Vnesite ga in pritisnite tipko Enter .
  4. Namestitev storitev za zagon pripomočka iptables v CentOS 7

  5. Potrdite račun uporabnika z geslom. Upoštevajte, da se pri iskanju za sudo znaki, ki so vneseni v niz, nikoli ne prikažejo.
  6. Vnos gesla za namestitev storitev iptables v CentOS 7 preko terminala

  7. Sistem vas bo pozval, da dodate sistem, potrdite to dejanje tako, da izberete možnost y .
  8. Potrditev dodajanja novih paketov storitev iptables CentOS 7

  9. Po končani namestitvi preverite trenutno različico orodja: sudo iptables --version .
  10. Prek terminala preverite različico pripomočka iptables v CentOS 7

  11. Rezultat se bo pojavil v novi vrstici.
  12. Prikaz trenutne različice pripomočka iptables v CentOS 7 prek terminala

Zdaj je operacijski sistem popolnoma pripravljen na nadaljnjo konfiguracijo požarnega zidu prek pripomočka iptables . Ponujamo vam, da se seznanite s konfiguracijo predmetov, začenši z upravljanjem storitev.

Zaustavitev in zagon storitev iptables

Upravljanje načina delovanja iptables je potrebno v primerih, ko morate preveriti učinek določenih pravil ali preprosto znova zagnati komponento. To naredite z vgrajenimi ukazi.

  1. Vtipkajte sudo service iptables stop in pritisnite tipko Enter, da zaustavite storitve.
  2. Ustavite iptables komunalne storitve na CentOS 7 preko terminala

  3. Za potrditev tega postopka vnesite geslo superuporabnika.
  4. Vnos gesla za zaustavitev pomožnih storitev iptables na CentOS 7

  5. Če je postopek uspešen, se prikaže nova vrstica, ki kaže spremembe konfiguracijske datoteke.
  6. Obvestilo o zaustavitvi komunalnih storitev iptables v CentOS 7

  7. Zagon storitev se izvaja skoraj na enak način, samo vrstica prevzame sudo service iptables start .
  8. Zaženite storitve iptables na CentOS 7 v terminalu

Takšen ponovni zagon, zagon ali zaustavitev pripomočka je na voljo kadarkoli, ne pozabite pa, da vrnete samo vrnjeno vrednost, ko je ta v povpraševanju.

Ogled in brisanje pravil

Kot smo že omenili, se požarni zid upravlja z ročnim ali samodejnim dodajanjem pravil. Nekatere dodatne aplikacije lahko na primer dostopajo do orodja s spreminjanjem določenih pravilnikov. Vendar pa se večina teh dejanj še vedno izvaja ročno. Seznam vseh trenutnih pravil je na voljo preko ukaza sudo iptables -L .

Prikažite seznam vseh trenutnih pravil za uporabnost iptables v CentOS 7

V prikazanem rezultatu bodo prikazane informacije o treh verigah: »INPUT« , »OUTPUT« in »FORWARD« - vhodni, izhodni in terminski promet.

Ogled vseh uporabnih pravil iptables v CentOS 7

Stanje vseh verig lahko določite tako, da vtipkate sudo iptables -S .

Prikaz seznama uporabnih verig iptables v CentOS 7

Če vam pravila, ki jih vidite, ne ustrezajo, jih preprosto odstranite. Celoten seznam je izbrisan tako: sudo iptables -F . Po aktivaciji bodo pravila popolnoma izbrisana za vsa tri vezja.

Počistite seznam vseh pravil za uporabnost iptables v CentOS 7

Če je potrebno vplivati ​​samo na politike iz ene verige, se vrstici doda dodatni argument:

sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD

Počistite seznam pravil za določeno verigo iptables v CentOS 7

Odsotnost vseh pravil pomeni, da nastavitve filtriranja prometa ne veljajo za nobeno od strank. Nato sistemski skrbnik že postavi nove parametre z isto konzolo, ukazom in različnimi argumenti.

Sprejemanje in spuščanje prometa v verigah

Vsako vezje je konfigurirano posebej za sprejem ali blokiranje prometa. Z nastavitvijo določene vrednosti lahko zagotovite, da bo na primer ves vhodni promet blokiran. Če želite to narediti, mora biti ukaz sudo iptables --policy INPUT DROP , kjer je INPUT ime vezja, in DROP je vrednost ponastavitve.

Ponastavite dohodne zahteve v pripomočku iptables na CentOS 7

Točno isti parametri so nastavljeni za druge tokokroge, na primer, sudo iptables --policy OUTPUT DROP . Če je potrebno nastaviti vrednost za sprejem prometa, se DROP spremeni v ACCEPT in sudo iptables --policy INPUT ACCEPT .

Omogočanje in blokiranje vrat

Kot veste, vse omrežne aplikacije in procesi delujejo prek določenih vrat. Z blokiranjem ali omogočanjem določenih naslovov lahko nadzorujete dostop do vseh omrežnih ciljev. Analizirajmo posredovanje vrat z uporabo primera 80 . V "Terminalu" bo dovolj, da vnesete ukaz sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT , kjer je -A dodatek novega pravila, INPUT je indikacija vezja, -P je definicija protokola, v tem primeru TCP, in -dport je ciljno pristanišče.

Pravilo za odpiranje vrat 80 v pripomočku iptables v CentOS 7

Enak ukaz velja za vrata 22 , ki jih uporablja storitev SSH: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT .

Pravilo za odpiranje vrat 22 v pripomočku iptables v CentOS 7

Če želite blokirati podana vrata, se uporabi niz točno iste vrste, samo na koncu se ACCEPT spremeni v DROP . Rezultat je, na primer, sudo iptables -A INPUT -p tcp --dport 2450 -j DROP .

Pravilo za prepoved vrat v pripomočku iptables na CentOS 7

Vsa ta pravila so shranjena v konfiguracijski datoteki in si jih lahko ogledate kadarkoli. Ne pozabite, da se to izvede preko sudo iptables -L . Če je treba IP naslov omrežja rešiti skupaj z vrati, se vrstica nekoliko spremeni - po dodanem TPC-ju in naslovu. sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT , kjer je 12.12.12.12/32 zahtevani naslov IP.

Pravilo za sprejem IP naslova in vrat v iptables v CentOS 7

Blokiranje poteka po istem načelu in na koncu spremeni vrednost ACCEPT na DROP . Potem se izkaže, na primer, sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP .

Pravilo za blokiranje naslova IP in vrat v iptables v CentOS 7

Blokiranje ICMP

ICMP (Internet Control Message Protocol) je protokol, ki je del TCP / IP in se uporablja za pošiljanje sporočil o napakah in izrednih razmerah pri delu s prometom. Če na primer zahtevani strežnik ni na voljo, to orodje opravlja storitvene funkcije. Orodje iptables vam omogoča blokiranje prek požarnega zidu in to lahko storite z ukazom sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP . Blokiralo bo zahteve vaših in vaših strežnikov.

Prvo pravilo za blokiranje iptables pinging v CentOS 7

Dohodne zahteve so blokirane nekoliko drugače. Nato morate vnesti sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP . Po aktiviranju teh pravil se strežnik ne bo odzval na zahteve za ping.

Drugo pravilo za blokiranje pinganja v iptables na CentOS 7

Preprečite nepooblaščene akcije na strežniku

Včasih so strežniki predmet DDoS napadov ali drugih nepooblaščenih dejanj vsiljivcev. Ustrezna konfiguracija požarnega zidu vam bo omogočila, da se zaščitite pred tovrstnimi hekerji. Za začetek priporočamo, da določite ta pravila:

  1. Registrirajte se v konzoli iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT , kjer --limit 20 / minute je omejitev pogostosti pozitivnih rezultatov. Mersko enoto lahko določite sami, na primer /second, /minute, /hour, /day . --limit-burst number - omejitev števila paketov, ki jih želite prenesti. Vse vrednosti so določene individualno glede na nastavitve skrbnika.
  2. Pravilo za varnost iz DDoS v iptables v CentOS 7

  3. Nato lahko onemogočite skeniranje odprtih vrat, da odstranite enega od možnih vzrokov za vdor. Vnesite prvi ukaz sudo iptables -N block-scan .
  4. Prvo pravilo, ki prepoveduje iptables za pregledovanje vrat v CentOS 7

  5. Nato navedite sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN .
  6. Drugo pravilo, ki prepoveduje iptables za pregledovanje vrat v CentOS 7

  7. Zadnji tretji ukaz je: sudo iptables -A block-scan -j DROP . Izraz block-scan v teh primerih je ime uporabljenega vezja.
  8. Tretje pravilo za blokiranje iptables port scan na CentOS 7

Danes prikazane nastavitve so samo osnova dela v orodju za upravljanje požarnega zidu. V uradni dokumentaciji pripomočka boste našli opis vseh razpoložljivih argumentov in možnosti ter lahko konfigurirate požarni zid posebej za vaše zahteve. Zgoraj so bili upoštevani standardni varnostni predpisi, ki se najpogosteje uporabljajo in so v večini primerov zahtevani.