Natrag na blog

Konfiguriranje Iptables vatrozida: Osnovna pravila i naredbe

Konfiguriranje Iptables vatrozida: Osnovna pravila i naredbe

Uvod

Iptables​ je alat naredbenog retka za ​vatrozid ​. To znači da je to softver koji vam omogućuje konfiguraciju vatrozida na vašem sustavu. Obično je dostupan prema zadanim postavkama na ​Linux​ sustavima. U ovom vodiču ćemo ​raspraviti o nekim uobičajenim pravilima i naredbama koje idu uz iptables​ vatrozid. Kad god se veza pokuša uspostaviti s vašim sustavom, vatrozid će se pozvati na ova pravila kako bi odredio koji bi trebao biti sljedeći korak.

Iptables naredbe

Ovaj vodič će predstaviti neke od najvažnijih iptables naredbi. Da biste pratili vodič, morat ćete imati osnovno razumijevanje o tome što je iptables i kako radi. To će vam pomoći da bolje razumijete pravila koja implementirate sa sljedećim naredbama. Zapamtite, bilo koja od dolje navedenih naredbi može se koristiti zasebno. S druge strane, možete ih i kombinirati kako bi odgovarale vašim specifičnim potrebama.

Stvari koje treba imati na umu

Prije nego što nastavite čitati, evo nekoliko stvari koje biste trebali imati na umu:

  • Redoslijed pravila u iptablesu je važan.
  • Za dodavanje novog pravila na kraj lanca, vaša ​iptables naredba morat će koristiti ​-A.​​
  • Ako želite dodati pravilo na drugu poziciju, morate koristiti opciju ​-I . Ova opcija vam omogućuje da odredite točnu lokaciju pravila. Ako želite postaviti pravilo na početak lanca, jednostavno nemojte navesti broj pravila.
  • Kako biste osigurali dosljedan pristup svom poslužitelju, blokirajte SSH promet na portu 22 prema zadanim postavkama.
  • U slučaju da to ne učinite i izgubite pristup svom poslužitelju, možete se ponovno povezati pomoću konzole. Dopustite SSH promet za promjenu postavki vatrozida.
  • Ako ikada poželite pregledati skup pravila koji je trenutno na snazi, upotrijebite naredbe sudo iptables -S​ i ​ ​sudo iptables -L.

Nadalje, imamo ​detaljan vodič o tome kako izlistati i izbrisati pravila iptables vatrozida​, što će vam dodatno pomoći da na najbolji način iskoristite svoj iptables vatrozid.

Sada kada smo riješili preduvjete, zaronimo u neke od ​uobičajenih iptables naredbi​:

Kako spremiti svoja pravila

Započet ćemo utvrđivanjem kako možete spremiti svoja pravila. Važno je napomenuti da su iptables pravila efemerna. To znači da će biti izgubljena nakon što ponovno pokrenete sustav - osim ako ih ne spremite. Evo kako možete ručno spremiti svoja nova pravila na ​Ubuntu​ i ​CentOS​ poslužitelju:

  • Ubuntu

Najlakši način za spremanje novih pravila na Ubuntu poslužitelju je korištenje iptables-persistent​ paketa. Možete jednostavno ​stvoriti Ubuntu poslužitelj prateći ovaj vodič​.

Sada, prvi korak za spremanje vaših novih iptables pravila je instaliranje iptables-persistent ​paketa pomoću apt-get. Evo kako ga možete nabaviti:

Iptables Firewall 1

Tijekom procesa instalacije morate odlučiti želite li spremiti trenutno aktivna pravila vatrozida. Da biste umjesto toga ažurirali pravila i spremili promjene, upotrijebite ovu naredbu:

Iptables Firewall 2

Gornja naredba obično radi za verzije Ubuntua nakon 16.04. Ako koristite raniju verziju, umjesto toga upotrijebite ovu naredbu:

  • CentOS

Možete konfigurirati svoj vatrozid s iptables na CentOS 6 ili starijim verzijama. CentOS 7 umjesto toga koristi FirewallD. Pratite ovaj vodič kako biste saznali kako postaviti FirewallD na CentOS 7.

Svoja nova pravila na CentOS-u možete spremiti pomoću ​iptables init skripte. Pogledajte sljedeću naredbu:

Ova naredba će spremiti vaša nova pravila za iptables vatrozid. Trenutno aktivna iptables pravila mogu se pronaći u /etc/sysconfig/iptables​ datoteci.

Korisne iptables naredbe

Sada prijeđimo na neke vrlo korisne naredbe iptables vatrozida koje ćete možda morati koristiti na svom poslužitelju.

  • Loopback veze

Prvo ćemo istražiti kako možete dopustiti loopback veze. Vaš sustav koristi loopback sučelje za slanje veza samom sebi. Na primjer, zamislite da ste pokrenuli ovu naredbu: ​ping localhost​ ili ​ping 127.0.0.1​. Vaš će poslužitelj koristiti loopback sučelje, ili lo​, kako bi u biti pingao sam sebe. U drugim slučajevima, poslužitelj ga može koristiti ako je vaš aplikacijski poslužitelj konfiguriran za povezivanje na adresu 'localhost'.

Bez obzira na situaciju, morate se pobrinuti da vaš vatrozid iptables ne blokira ove veze. Stoga ćete morati dopustiti loopback veze kako bi se ove funkcije mogle izvršavati.

Evo naredbi koje ćete pokrenuti kako biste dopustili sav promet koji dolazi na loopback sučelje:

Iptables Firewall 3

  • Uspostavljene i povezane dolazne veze

Druga vrsta veze koju ćete možda morati dopustiti je odlazna veza. Kako biste osigurali da vaš poslužitelj prima i šalje dolazni i odlazni promet, morate dopustiti uspostavljene i povezane dolazne veze. To omogućuje poslužitelju slanje povratnog prometa za odlazne veze. Koristite ovu naredbu kako biste dopustili uspostavljene kao i povezane dolazne veze:

Established and Related Incoming Connections

  • Uspostavljene odlazne veze

Poslužitelj će obično slati odgovore na dolazne veze u obliku odlaznog prometa uspostavljenih veza. Kako biste to dopustili, koristite sljedeću naredbu:

Established Outgoing Connections

  • Interno prema vanjskom

Ponekad ćete možda morati konfigurirati svoj vatrozid kako biste omogućili pristup iz interne mreže prema vanjskoj. Prema zadanim postavkama, vaša vanjska mreža trebala bi biti ​eth0​ i ​eth1 bi trebala biti vaša interna mreža. Ako je to slučaj, koristite ovu naredbu za omogućavanje pristupa:

Internal to External

  • Odbacivanje nevažećih paketa

Ponekad će neki paketi mrežnog prometa biti označeni kao nevažeći. Većinu vremena možete jednostavno odbaciti te nevažeće pakete. Da biste to učinili, koristite sljedeću naredbu:

Dropping Invalid Packets

Pravila za blokiranje IP adresa

Zatim ćemo pogledati neke naredbe koje možete koristiti za blokiranje veza koje dolaze s određenih IP adresa. Kako bismo olakšali stvari, koristit ćemo ​15.15.15.51 IP adresu kao primjer u našim naredbama. Ovu vrijednost možete zamijeniti svojom specifičnom IP adresom.

U ​-s 15.15.15.51, ​​​-s​ označava izvor (source). Dakle, naredba specificira izvornu IP adresu '15.15.15.51'. Slično tome, možete specificirati izvornu IP adresu u bilo kojem pravilu vatrozida. To uključuje pravilo dopuštanja i odbijanja.

Ako želite odbiti vezu, upotrijebit ćete REJECT umjesto DROP u naredbi ovako:

Kao rezultat toga, vaš će poslužitelj javiti pogrešku 'veza odbijena' (connection refused) kad god ta određena IP adresa pošalje zahtjev za povezivanje.

  • Blokiranje veza na određeno sučelje

Moguće je blokirati sve zahtjeve za povezivanje koji dolaze s određene IP adrese na određeno mrežno sučelje. U našem primjeru, IP adresa je 15.15.15.51​ a mrežno sučelje je ​eth0​. Koristite ovu naredbu za blokiranje veza:

Sjajna stvar je što možete specificirati mrežno sučelje u bilo kojem pravilu. To znači da se bilo koje pravilo može primijeniti i ograničiti samo na određenu mrežu.

Pravila za uslugu: SSH

SSH ​postaje relevantan ako koristite poslužitelj u oblaku. U tom slučaju morate dopustiti dolazne SSH veze na portu 22. Omogućavanje ovih veza omogućuje vam povezivanje s vašim poslužiteljem i upravljanje njime. Ovdje ćemo raspraviti o nizu uobičajenih pravila koja se odnose na SSH.

  • Dopuštanje svih dolaznih SSH veza

Sljedeće naredbe omogućuju sve dolazne SSH veze:

U gornjem skupu, drugu naredbu trebate koristiti samo ako ​OUTPUT​ politika nije postavljena na ​ACCEPT​. Ona omogućuje odlazni promet uspostavljenih SSH veza.

  • Dopuštanje dolaznog SSH-a iz podmreže

Prethodna naredba dopušta sve dolazne veze. Možete koristiti sljedeće naredbe kako biste dopustili samo dolazne veze s određene IP adrese ili podmreže. Recimo da želite dopustiti samo dolazne veze iz podmreže ​15.15.15.0/24​ podmreže:

Kao i prije, drugu naredbu trebate koristiti samo ako ​OUTPUT​ politika nije postavljena na ​ACCEPT​. Ona omogućuje odlazni promet uspostavljenih SSH veza.

  • Dopuštanje odlaznog SSH-a

Koristite ove naredbe ako ​OUTPUT​ politika nije postavljena na ​ACCEPT​ a želite omogućiti SSH veze. To će omogućiti vašem poslužitelju pokretanje SSH veza prema drugim poslužiteljima:

Za daljnje korištenje SSH-a na vašim poslužiteljima u oblaku, pogledajte naše vodiče o ​ kako koristiti SSH za povezivanje s udaljenim poslužiteljem u Ubuntuu ​i kako konfigurirati svoj Linux poslužitelj za korištenje autentifikacije temeljene na SSH ključevima​.

  • Dopuštanje dolaznog Rsync-a iz podmreže

Rsync​ je značajka koju možete koristiti za prijenos datoteka s jednog sustava na drugi. Radi na portu 873. Dakle, ako želite dopustiti dolazne Rsync veze na portu 873 s određene IP adrese ili podmreže, koristite sljedeće naredbe:

Kao što vidite, naveli smo izvornu IP adresu zajedno s odredišnim portom. Drugu naredbu koristit ćete samo ako vatrozidna ​OUTPUT​ politika nije postavljena na ​ACCEPT​. Ona omogućuje odlazni promet uspostavljenih Rsync veza. Osim toga, možete pogledati naš ​vodič o tome kako koristiti Rsync za sinkronizaciju lokalnih i udaljenih direktorija na VPS-u​.

Pravila za uslugu: Web poslužitelj

HTTP veze obično se primaju na portu 80. Slično tome, HTTPS obično dolazi na portu 443. Web poslužitelji poput ​Apache​ i ​Nginx​ slušaju ove portove kako bi uhvatili zahtjeve za povezivanje. Ponekad zadane postavke mogu uzrokovati da vaš poslužitelj odbije ili odbaci ove dolazne zahtjeve. Zato ćete morati postaviti nova pravila kako biste ipak dopustili promet.

  • Dopuštanje svih dolaznih HTTP veza

Možete dopustiti sve dolazne HTTP veze na portu 80 pomoću ovih naredbi:

Drugu naredbu koristit ćete samo ako vatrozidna ​OUTPUT​ politika nije postavljena na ACCEPT​. Ona omogućuje odlazni promet uspostavljenih HTTP veza.

  • Dopuštanje svih dolaznih HTTPS veza

Koristite ove naredbe kako biste dopustili sve dolazne zahtjeve za HTTPS vezu na portu 443:

Drugu ćete naredbu koristiti samo ako vatrozid iptables ​OUTPUT​ pravilo nije postavljeno na ACCEPT​. Ona dopušta odlazni promet uspostavljenih HTTP veza.

  • Dopuštanje svih dolaznih veza s HTTP-a i HTTPS-a

Možete koristiti modul multiport ako želite dopustiti promet s HTTP i HTTPS portova. U tom slučaju koristite ove naredbe:

Drugu ćete naredbu koristiti samo ako vatrozid ​OUTPUT​ pravilo nije postavljeno na ACCEPT​. Ona dopušta odlazni promet uspostavljenih HTTP i HTTPS veza.

Pravila za uslugu: MySQL

Ponekad klijent može koristiti udaljeni poslužitelj za pristup vašem ​MySQL​ poslužitelju baze podataka. U tom slučaju morate ručno dopustiti dolazni promet s odgovarajućeg porta. MySQL sluša zahtjeve za povezivanje s porta 3306.

  • Dopuštanje dolaznih MySQL veza iz podmreže

Morat ćete navesti izvor ako želite dopustiti MySQL veze iz određene podmreže. U našem primjeru dopustit ćemo dolazni promet iz 15.15.15.0/24​ podmreže pomoću ovih naredbi:

Drugu ćete naredbu koristiti samo ako vatrozid ​OUTPUT​ pravilo nije postavljeno na ACCEPT​. Ona dopušta odlazni promet uspostavljenih MySQL veza.

  • Omogućavanje MySQL veza na sučelje

Ako također želite odrediti koje mrežno sučelje treba primati MySQL veze, možete koristiti ove naredbe:

U ovom slučaju dopuštamo veze na privatno mrežno sučelje pod nazivom eth1​.

Drugu ćete naredbu koristiti samo ako vatrozid ​OUTPUT​ pravilo nije postavljeno na ACCEPT​. Ona dopušta odlazni promet uspostavljenih MySQL veza.

Možete pratiti naš ​vodič za jednostavno postavljanje MySQL-a na vašem poslužitelju​.

Pravila za uslugu: PostgreSQL

Vaš klijent može koristiti udaljeni poslužitelj za pristup vašem ​PostgreSQL​ poslužitelju baze podataka. U tom slučaju morate dopustiti ove dolazne veze. Ove veze će ići preko porta 5432.

  • Dopuštanje dolaznih PostgreSQL veza iz podmreže

Možete koristiti sljedeće naredbe kako biste dopustili dolazne PostgreSQL veze iz određene podmreže ili IP adrese. Kao što vidite, naveli smo izvor, a to je ​15.15.15.0/24​ podmreža.

Drugu ćete naredbu koristiti samo ako vatrozid ​OUTPUT​ pravilo nije postavljeno na ACCEPT​. Omogućuje odlazni promet uspostavljenih PostgreSQL veza.

  • Omogućavanje PostgreSQL veza na određeno sučelje

Ako želite dopustiti PostgreSQL veze samo na određeno mrežno sučelje, upotrijebite ove naredbe:

U ovom slučaju dopuštamo veze na privatno mrežno sučelje pod nazivom eth1​. Drugu ćete naredbu koristiti samo ako pravilo vatrozida ​OUTPUT​ nije postavljeno na ​ACCEPT​. Ono omogućuje odlazni promet uspostavljenih PostgreSQL veza.

Pratite ovaj ​vodič za instalaciju PostgreSQL-a na vaš Ubuntu poslužitelj​.

Pravila za uslugu: E-pošta

Možda ćete također morati konfigurirati svoj vatrozid u skladu s poslužiteljem e-pošte koji koristite. Na primjer, ​Sendmail​ i ​Postfix​ mogu primati veze na nizu različitih priključaka. To ovisi o protokolu koji koristite za dostavu e-pošte. Da biste blokirali i dopustili određene veze e-pošte, morate znati koji protokol koristite.

  • Dopuštanje dolaznih SMTP veza

SMTP veze obično dolaze na priključku 25. Iako SMTP također obično koristi priključak 587 za odlaznu poštu. Kako biste omogućili svom poslužitelju da odgovori na ove veze, upotrijebite sljedeće naredbe:

Drugu ćete naredbu koristiti samo ako pravilo vatrozida ​OUTPUT​ nije postavljeno na ACCEPT​. Ono omogućuje odlazni promet uspostavljenih SMTP veza.

  • Dopuštanje svih dolaznih IMAP veza

Kako biste omogućili svom poslužitelju da odgovori na sve dolazne IMAP veze na priključku 143, jednostavno upišite i pokrenite ovo:​

Drugu ćete naredbu koristiti samo ako pravilo vatrozida ​OUTPUT​ nije postavljeno na ACCEPT​. Ono omogućuje odlazni promet uspostavljenih IMAP veza.

  • Dopuštanje svih dolaznih IMAPS veza

Upotrijebite ove naredbe kako biste omogućili svom poslužitelju da odgovara na IMAPS veze na priključku 993:

Drugu ćete naredbu koristiti samo ako pravilo vatrozida ​OUTPUT​ nije postavljeno na ACCEPT​. Ono omogućuje odlazni promet uspostavljenih IMAPS veza.

  • Dopuštanje svih dolaznih POP3 veza

Ove veze dolaze na priključku 993. Ako želite da vaš poslužitelj odgovara na zahtjeve za IMAPS vezu, upotrijebite sljedeće naredbe:

Drugu ćete naredbu koristiti samo ako pravilo vatrozida ​OUTPUT​ nije postavljeno na ACCEPT​. Ono omogućuje odlazni promet uspostavljenih POP3 veza.

  • Dopuštanje svih dolaznih POP3S veza

Upotrijebite ove naredbe kako biste omogućili svom poslužitelju uspostavljanje veza s POP3S zahtjevima koji dolaze na priključku 995:

Drugu naredbu koristit ćete samo ako politika vatrozida ​OUTPUT nije postavljena na ACCEPT​. Ono dopušta odlazni promet uspostavljenih POP3S veza.

  • Kako blokirati odlaznu SMTP poštu

Umjesto dopuštanja dolaznih veza i omogućavanja odgovora poslužitelja, možda ćete htjeti potpuno blokirati odlaznu poštu. Možete blokirati sav odlazni SMTP promet na portu 25 pomoću ove naredbe:

Kao rezultat toga, iptables vatrozid odbit će sav odlazni promet na portu 25. Možete koristiti istu strukturu naredbe ako želite odbiti bilo koju drugu uslugu. Sve što trebate učiniti je zamijeniti port 25 odgovarajućim brojem porta.

Zaključak

Ovaj vodič pokriva osnovne naredbe iptables vatrozida. Pruža vam osnovne alate koji su vam potrebni za učinkovito konfiguriranje vašeg iptables vatrozida. Imajte na umu da ne postoji univerzalno rješenje. Ove su naredbe iznimno fleksibilne. To znači da ih možete koristiti na način koji najbolje odgovara vama i vašim zahtjevima.

Sretno s radom!

author

Manpreet Singh

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.