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.
Sadržaj
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.
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.
sudo yum install iptables-services
odgovorna je za instaliranje sudo yum install iptables-services
. Unesite ga i pritisnite tipku Enter . sudo iptables --version
. 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.
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.
sudo service iptables stop
i pritisnite tipku Enter da biste zaustavili usluge. sudo service iptables start
. 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.
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
.
U prikazanom rezultatu bit će prikazane informacije o tri lanca: "INPUT" , "OUTPUT" i "FORWARD" - dolazni, odlazni i naprijed promet.
Status svih lanaca možete odrediti upisivanjem sudo iptables -S
.
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.
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
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.
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.
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
.
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.
Ista naredba se odnosi na port 22 , koji koristi SSH usluga: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
.
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
.
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.
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
.
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.
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.
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:
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. sudo iptables -N block-scan
. sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN
. sudo iptables -A block-scan -j DROP
. Izraz block-scan u tim je slučajevima naziv korištenog kruga. 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.