Konfiguriranje iptables na CentOS 7

Svi operativni sustavi bazirani na Linux kernelu imaju ugrađeni vatrozid koji nadzire i filtrira dolazni i odlazni promet na temelju pravila koja je postavio korisnik ili platforma. U distribuciji CentOS 7 po defaultu, ovu funkciju obavlja uslužni program iptables , u interakciji s ugrađenim firewallom netfiltera. Ponekad administrator sustava ili upravitelj mreže mora prilagoditi rad ove komponente pisanjem odgovarajućih pravila. U današnjem članku želimo govoriti o osnovama iptables konfiguracije u gore navedenom OS.

Konfiguriramo iptables u CentOS 7

Sam alat je dostupan za rad odmah nakon završetka instalacije CentOS-a 7, ali osim toga trebat ćete instalirati neke usluge, o čemu ćemo kasnije razgovarati. U ovoj platformi postoji još jedan ugrađeni alat koji obavlja funkciju vatrozida pod nazivom FirewallD. Da biste izbjegli sukobe tijekom daljnjeg rada, preporučujemo da onemogućite tu komponentu. Za detaljne upute o ovoj temi pogledajte naš drugi materijal na sljedećem linku.

Više detalja: Onemogući vatrozid u CentOS-u 7

Kao što znate, sustav može koristiti IPv4 i IPv6. Danas ćemo se usredotočiti na primjer IPv4, ali ako želite konfigurirati za drugi protokol, trebat ćete koristiti ip6tables umjesto naredbe iptables u konzoli.

Instaliranje iptables usluga

Prije svega, dodajte dodatne komponente programa koji se danas razmatraju u sustavu. Oni će vam pomoći u postavljanju pravila i drugih parametara. Učitavanje se vrši iz službenog repozitorija, tako da ne traje puno vremena.

  1. Sve daljnje radnje izvršit će se u klasičnoj konzoli, pa je pokrenite bilo kojom prikladnom metodom.
  2. Pokretanje terminala za konfiguriranje iptables uslužnog programa na CentOS 7

  3. Naredba sudo yum install iptables-services odgovorna je za instaliranje sudo yum install iptables-services . Unesite ga i pritisnite tipku Enter .
  4. Instaliranje usluga za pokretanje iptables uslužnog programa na CentOS 7

  5. Potvrdite račun superkorisnika pomoću zaporke. Imajte na umu da se pri upitu za sudo znakovi uneseni u niz nikada ne prikazuju.
  6. Unos lozinke za instaliranje iptables usluga u CentOS 7 preko terminala

  7. Od vas će se tražiti da dodate jedan paket u sustav, potvrdite tu radnju odabirom opcije y .
  8. Potvrda dodavanja novih iptables paketa usluga CentOS-u 7

  9. Po završetku instalacije provjerite trenutnu verziju alata: sudo iptables --version .
  10. Provjerom verzije uslužnog programa iptables u CentOS 7 putem terminala

  11. Rezultat će se pojaviti u novom retku.
  12. Prikaz trenutne verzije uslužnog programa iptables u CentOS 7 putem terminala

Sada je OS potpuno spreman za daljnju konfiguraciju vatrozida putem uslužnog programa iptables . Nudimo upoznavanje s konfiguracijom artikala, počevši od upravljanja uslugama.

Zaustavljanje i pokretanje iptables usluga

Upravljanje iptables način rada je potrebno u slučajevima kada morate provjeriti učinak određenih pravila ili jednostavno ponovno pokrenuti komponentu. To se radi pomoću ugrađenih naredbi.

  1. Upišite sudo service iptables stop i pritisnite tipku Enter da biste zaustavili usluge.
  2. Zaustavite iptables uslužne usluge na CentOS 7 preko terminala

  3. Da biste potvrdili ovaj postupak, unesite lozinku superkorisnika.
  4. Unos lozinke za zaustavljanje uslužnih programa iptables na CentOS 7

  5. Ako je postupak uspješan, pojavit će se novi redak koji označava promjene u konfiguracijskoj datoteci.
  6. Obavijest o zaustavljanju iptables komunalnih usluga u CentOS-u 7

  7. Pokretanje usluga obavlja se na gotovo isti način, samo linija preuzima pojavljivanje sudo service iptables start .
  8. Pokrenite iptables uslužne usluge na CentOS 7 u terminalu

Takvo ponovno pokretanje, pokretanje ili zaustavljanje uslužnog programa je dostupno u bilo kojem trenutku, ne zaboravite vratiti povratnu vrijednost samo kada je u potražnji.

Prikaz i brisanje pravila

Kao što smo već spomenuli, vatrozidom se upravlja ručno ili automatski dodavanjem pravila. Na primjer, neke dodatne aplikacije mogu pristupiti alatu izmjenom određenih pravila. Međutim, većina tih radnji i dalje se obavlja ručno. Popis svih trenutnih pravila dostupan je putem naredbe sudo iptables -L .

Prikažite popis svih trenutnih iptables uslužnih pravila u CentOS-u 7

U prikazanom rezultatu bit će prikazane informacije o tri lanca: "INPUT" , "OUTPUT" i "FORWARD" - dolazni, odlazni i naprijed promet.

Prikaz svih iptables uslužnih pravila u CentOS-u 7

Status svih lanaca možete odrediti upisivanjem sudo iptables -S .

Prikaz popisa uslužnih lanaca iptables u CentOS-u 7

Ako vam pravila koja vidite ne odgovaraju, ona se jednostavno uklanjaju. Cijeli se popis briše ovako: sudo iptables -F . Nakon aktivacije, pravila će biti potpuno izbrisana za sva tri kruga.

Obrišite popis svih pravila korisnosti iptablesa u CentOS-u 7

Kada je potrebno utjecati samo na politike iz bilo kojeg lanca, retku se dodaje dodatni argument:

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

Obrišite popis pravila za određeni iptables lanac u CentOS 7

Odsutnost svih pravila znači da se sada ni jedna postavka filtriranja prometa ne primjenjuje na bilo koju stranu. Zatim, administrator sustava već postavlja nove parametre koristeći istu konzolu, naredbu i razne argumente.

Primanje i ispuštanje prometa u lancima

Svaki je krug konfiguriran odvojeno za primanje ili blokiranje prometa. Postavljanjem određene vrijednosti možete osigurati da će, na primjer, sav dolazni promet biti blokiran. Da biste to učinili, naredba mora biti sudo iptables --policy INPUT DROP , gdje je INPUT naziv sklopa, a DROP je reset vrijednost.

Ponovno postavite dolazne zahtjeve u uslužnom programu iptables na CentOS 7

Točno isti parametri su postavljeni za druge sklopove, na primjer, sudo iptables --policy OUTPUT DROP . Ako je potrebno postaviti vrijednost za primanje prometa, tada se DROP mijenja u ACCEPT i sudo iptables --policy INPUT ACCEPT .

Dopuštanje i blokiranje priključaka

Kao što znate, sve mrežne aplikacije i procesi rade preko određenog porta. Blokiranjem ili dopuštanjem određenih adresa možete kontrolirati pristup svim mrežnim ciljevima. Analizirajmo prosljeđivanje portova pomoću primjera 80 . U "Terminalu" bit će dovoljno upisati naredbu sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT , gdje je -A dodatak novom pravilu, INPUT je indikacija sklopa, -P je definicija protokola, u ovom slučaju TCP, i -dport je odredišna luka.

Pravilo za otvaranje porta 80 u uslužnom programu iptables u CentOS 7

Ista naredba se odnosi na port 22 , koji koristi SSH usluga: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT .

Pravilo za otvaranje porta 22 u usluzi iptables u CentOS-u 7

Za blokiranje navedenog porta koristi se niz točno istog tipa, samo na kraju ACCEPT se mijenja u DROP . Rezultat je, na primjer, sudo iptables -A INPUT -p tcp --dport 2450 -j DROP .

Pravilo za zabranu porta u uslužnom programu iptables na CentOS 7

Sva ova pravila pohranjena su u konfiguracijskoj datoteci i možete ih pogledati u bilo kojem trenutku. Zapamtite, to se radi preko sudo iptables -L . Ako se IP adresa mreže mora riješiti zajedno s priključkom, linija je malo izmijenjena - nakon dodavanja TPC -a i same adrese. sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT , gdje je 12.12.12.12/32 tražena IP adresa.

Pravilo za prihvaćanje IP adrese i porta u iptables u CentOS 7

Blokiranje se događa na istom principu, mijenjajući na kraju vrijednost ACCEPT-a na DROP . Tada se ispostavilo, na primjer, sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP .

Pravilo za blokiranje IP adrese i porta u iptables u CentOS 7

ICMP blokiranje

ICMP (Internet Control Message Protocol) protokol je protokol koji je dio TCP / IP-a i koristi se za slanje poruka o pogreškama i izvanrednih situacija pri radu s prometom. Na primjer, kada traženi poslužitelj nije dostupan, ovaj alat obavlja servisne funkcije. Pomoću uslužnog programa iptables možete ga blokirati kroz vatrozid i to možete učiniti pomoću naredbe sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP . Blokirat će zahtjeve od vašeg i vašeg poslužitelja.

Prvo pravilo za blokiranje iptables-a u CentOS-u 7

Dolazni zahtjevi su blokirani malo drugačije. Zatim morate upisati sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP . Nakon aktiviranja ovih pravila, poslužitelj neće odgovoriti na ping zahtjeve.

Drugo pravilo za blokiranje pinginga u iptables na CentOS 7

Spriječite neovlaštene radnje na poslužitelju

Ponekad su poslužitelji podložni DDoS napadima ili drugim neovlaštenim radnjama uljeza. Pravilna konfiguracija vatrozida omogućit će vam da se zaštitite od ove vrste hakera. Za početak preporučujemo postavljanje sljedećih pravila:

  1. Registrirajte se u konzolu iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT , gdje --limit 20 / minute je ograničenje učestalosti pozitivnih rezultata. Možete odrediti mjernu jedinicu sami, na primjer, /second, /minute, /hour, /day . - limit -burst broj - ograničenje broja paketa koje treba proslijediti. Sve vrijednosti se podešavaju pojedinačno prema postavkama administratora.
  2. Pravilo za sigurnost iz DDoS-a u iptables u CentOS-u 7

  3. Zatim možete onemogućiti skeniranje otvorenih portova kako biste uklonili jedan od mogućih uzroka hakiranja. Unesite prvu naredbu sudo iptables -N block-scan .
  4. Prvo pravilo kojim se zabranjuje skeniranje porta iptables u CentOS-u 7

  5. Zatim navedite sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN .
  6. Drugo pravilo kojim se zabranjuje skeniranje porta iptables u CentOS 7

  7. Posljednja treća naredba je: sudo iptables -A block-scan -j DROP . Izraz block-scan u tim je slučajevima naziv korištenog kruga.
  8. Treće pravilo za blokiranje iptables skeniranja porta na CentOS 7

Postavke koje su danas prikazane samo su osnova rada alata za upravljanje vatrozidom. U službenoj dokumentaciji uslužnog programa naći ćete opis svih dostupnih argumenata i opcija te moći konfigurirati vatrozid posebno za vaše zahtjeve. Gore su se razmatrali standardni sigurnosni propisi koji se najčešće koriste i potrebni su u većini slučajeva.