Kako instalirati i konfigurirati UFW - nekomplicirani vatrozid u Debianu/Ubuntuu


Budući da su računala međusobno povezana, usluge brzo rastu. E-pošta, Društveni mediji, Online trgovina, Chat do Web konferencije usluge su koje koristi korisnik. No, s druge strane, ova povezivost baš voli dvostrani nož. Također je moguće slati loše poruke tim računalima kao što su Virus, malware, trojanske aplikacije.

Internet, kao najveća računalna mreža nije uvijek ispunjen dobrim ljudima. Kako bismo bili sigurni da su naša računala/poslužitelji sigurni, moramo ih zaštititi.

Jedna od komponenti koju morate imati na vašem računalu/poslužiteljima je vatrozid. Iz Wikipedije, definicija je:

U računalstvu, vatrozid je mrežni sigurnosni sustav temeljen na softveru ili hardveru koji kontrolira dolazni i odlazni mrežni promet analizirajući pakete podataka i određujući treba li ih dopustiti ili ne, na temelju primijenjenog skupa pravila.

Iptables jedan je od vatrozida koji poslužitelji često koriste. To je program koji se koristi za upravljanje dolaznim i odlaznim prometom na poslužitelju na temelju skupa pravila. Općenito, samo je pouzdanoj vezi dopušten pristup poslužitelju. Ali IPTables radi u konzolnom načinu rada i to je komplicirano. Oni koji su upoznati s iptables pravilima i naredbama, mogu pročitati sljedeći članak koji opisuje kako koristiti iptables vatrozid.

  1. Vodič za osnovne IPTables (Linux vatrozid).

Instalacija UFW vatrozida u Debian/Ubuntu

Kako bi se smanjila složenost postavljanja IPTables s uputama, postoji mnogo frontova. Ako koristite Ubuntu Linux, naći ćete ufw kao zadani alat vatrozida. Počnimo istraživati o vatrozidu ufw.

Što je ufw

ufw (Nekomplicirani vatrozid) je sučelje za najčešće korišteni iptables vatrozid i vrlo je udoban za vatrozid baziran na hostu. ufw daje okvir za upravljanje netfilterom, kao i sučelje naredbenog retka za kontrolu vatrozida. Omogućuje sučelje prilagođeno korisniku i jednostavno za korištenje za početnike u Linuxu koji nisu dovoljno upoznati s konceptima vatrozida.

Dok, s druge strane, iste komplicirane naredbe pomažu administratorima da postavljaju komplicirana pravila pomoću sučelja naredbenog retka. ufw je upstream za druge distribucije kao što su Debian, Ubuntu i Linux Mint.

Osnovna upotreba ufw

Prvo provjerite je li ufw instaliran pomoću sljedeće naredbe.

sudo dpkg --get-selections | grep ufw

ufw 		install

Ako nije instaliran, možete ga instalirati pomoću naredbe apt kao što je prikazano u nastavku.

sudo apt-get install ufw

Prije korištenja trebali biste provjeriti radi li ufw ili ne. Koristite sljedeću naredbu da to provjerite.

sudo ufw status

Ako ste pronašli Status: neaktivan, to znači da nije aktivan ili onemogućen.

NOVO! Nezamjenjiva e-knjiga za svakog Linux administratora!

Preuzmite besplatnu e-knjigu sa 696 stranica

Omogućivanje/onemogućavanje ufw

Da biste ga omogućili, samo trebate upisati sljedeću naredbu na terminalu.

sudo ufw enable

Firewall is active and enabled on system startup

Da biste ga onemogućili, samo upišite.

sudo ufw disable

Navedite trenutna ufw pravila

Nakon što je vatrozid aktiviran, možete u njega dodati svoja pravila. Ako želite vidjeti koja su zadana pravila, možete upisati.

sudo ufw status verbose
Uzorak izlaza
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$

Kako dodati ufw pravila

Kao što vidite, prema zadanim postavkama svaka je dolazna veza odbijena. Ako želite udaljeno vaše računalo, tada morate dopustiti odgovarajući priključak. Na primjer, želite dopustiti ssh vezu. Evo naredbe za dopuštanje.

Dopusti pristup
sudo ufw allow ssh

[sudo] password for pungki :
Rule added
Rule added (v6)
$

Ako ponovno provjerite status, vidjet ćete ovakav izlaz.

sudo ufw status

To 		Action 			From
-- 		----------- 		------
22 		ALLOW 			Anywhere
22 		ALLOW 			Anywhere (v6)

Ako imate puno pravila i želite staviti brojeve na svako pravilo u hodu, koristite numerirane parametre.

sudo ufw status numbered

To 		Action 			From
------ 		----------- 		------
[1] 22 		ALLOW 			Anywhere
[2] 22 		ALLOW 			Anywhere (v6)

Prvo pravilo kaže da je dolazna veza na priključak 22 s bilo kojeg mjesta dopuštena i tcp i udp paketi. Što ako želite dopustiti samo tcp paket? Zatim možete dodati parametar tcp nakon broja porta. Evo primjera s oglednim izlazom.

sudo ufw allow ssh/tcp

To 		Action 			From
------ 		----------- 		------
22/tcp 		ALLOW 			Anywhere
22/tcp 		ALLOW 			Anywhere (v6)
Odbij pristup

Isti trikovi primjenjuju se na pravilo Odbij. Recimo da želite odbiti ftp pravilo. Dakle, morate samo tipkati.

sudo ufw deny ftp

To 		Action 			From
------ 		----------- 		------
21/tcp 		DENY 			Anywhere
21/tcp 		DENY 			Anywhere (v6)

Dodavanje određenog priključka

Ponekad imamo prilagođeni priključak koji ne slijedi nikakve standarde. Recimo da promijenimo ssh port na našem računalu s 22 na 2290. Zatim da bismo omogućili priključak 2290, možemo ga dodati ovako.

sudo ufw allow

To 		Action 			From
-- 		----------- 		------
2290 		ALLOW 			Anywhere
2290 		ALLOW 			Anywhere (v6)

Također možete dodati port-range u pravilo. Ako želimo otvoriti port od 22902300 s tcp protokolom, tada će naredba biti ovakva.

sudo ufw allow 2290:2300/tcp

To 			Action 			From
------ 			----------- 		------
2290:2300/tcp 		ALLOW 			Anywhere
2290:2300/tcp 		ALLOW			Anywhere (v6)

a ako želite koristiti udp, samo upotrijebite sljedeću naredbu.

sudo ufw allow 2290:2300/udp

To 			Action 			From
------ 			----------- 		------
2290:2300/udp 		ALLOW 			Anywhere
2290:2300/udp 		ALLOW			Anywhere (v6)

Imajte na umu da morate izričito staviti 'tcp' ili 'udp' inače ćete dobiti poruku o pogrešci sličnu donjoj.

ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports

Dodavanje određene IP adrese

Prethodno smo dodali pravila temeljena na usluzi ili portu. Ufw također omogućuje dodavanje pravila na temelju IP adrese. Evo primjera naredbe.

sudo ufw allow from 192.168.0.104

Također možete koristiti masku podmreže da proširite raspon.

sudo ufw allow form 192.168.0.0/24

To 		Action 			From
-- 		----------- 		------
Anywhere	ALLOW 			192.168.0.104
Anywhere	ALLOW 			192.168.0.0/24

Kao što vidite, parametar from će ograničiti samo izvor veze. Dok je odredište – koje predstavlja stupac DoBilo gdje. Također možete upravljati odredištem pomoću parametra ‘Do’. Pogledajmo primjer dopuštanja pristupa priključku 22 (ssh).

sudo ufw allow to any port 22

Gornja naredba omogućit će pristup priključku 22 s bilo kojeg mjesta i s bilo kojeg protokola.

Parametri kombiniranja

Za preciznija pravila, također možete kombinirati IP adresu, protokol i port. Recimo da želimo stvoriti pravilo koje ograničava vezu samo s IP-a 192.168.0.104, samo protokol tcp i port 22. Tada će naredba biti kao ispod.

sudo ufw allow from 192.168.0.104 proto tcp to any port 22

Sintaksa za stvaranje pravila odbijanja slična je sintaksi pravila dozvoljavanja. Trebate samo promijeniti parametar iz allow u deny.

Brisanje pravila

Ponekad ćete možda trebati izbrisati postojeće pravilo. Još jednom s ufw lako je brisati pravila. Iz gornjeg primjera, imate pravilo u nastavku i želite ga izbrisati.

To 		Action 			From
-- 		----------- 		------
22/tcp		ALLOW 			192.168.0.104
21/tcp		ALLOW 			Anywhere
21/tcp 		ALLOW 			Anywhere (v6)

Postoje dva načina brisanja pravila.

Metoda 1

Donja naredba će izbrisati pravila koja odgovaraju usluzi ftp. Tako će 21/tcp što znači ftp port biti izbrisan.

sudo ufw delete allow ftp
Metoda 2

Ali kada ste pokušali izbrisati prvo pravilo u gornjem primjeru pomoću donje naredbe.

sudo ufw delete allow ssh

Or 

sudo ufw delete allow 22/tcp

Možda ćete pronaći poruku o pogrešci kao što je.

Could not delete non-existent rule
Could not delete non-existent rule (v6)

Onda možete izvesti ovaj trik. Kao što smo gore spomenuli, možete prikazati broj pravila kako biste označili koje pravilo želimo izbrisati. Dopustite da vam ga pokažemo.

sudo ufw status numbered

To 		Action 			From
-- 		----------- 		------
[1] 22/tcp		ALLOW 			192.168.0.104
[2] 21/tcp		ALLOW 			Anywhere
[3] 21/tcp 		ALLOW 			Anywhere (v6)

Tada možete izbrisati prvo pravilo pomoću. Pritisnite “y” za trajno brisanje pravila.

sudo ufw delete 1

Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

Iz tih metoda vidjet ćete razliku. Metoda 2 tražit će potvrdu korisnika prije brisanja pravila, dok metoda 1 nije.

Kako resetirati pravila

U nekim situacijama možda ćete htjeti izbrisati/poništiti sva pravila. To možete učiniti upisivanjem.

sudo ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y

Ako pritisnete “y”, tada će ufw napraviti sigurnosnu kopiju svih postojećih pravila prije ponovnog postavljanja vašeg ufw-a. Ponovno postavljanje pravila također će onemogućiti vaš vatrozid. Morate ga ponovno omogućiti ako ga želite koristiti.

Napredna funkcionalnost

Kao što sam gore naveo, ufw vatrozid može učiniti sve što iptables može. To se postiže upotrebom raznih skupova datoteka s pravilima, koje nisu ništa više od iptables-restore odgovarajućih tekstualnih datoteka. Fino podešavanje ufw i/ili postavljanje dodatnih iptables naredbi koje nisu dopuštene putem naredbe ufw stvar je uređivanja nekoliko tekstualnih datoteka.

  1. /etc/default/ufw: Glavna konfiguracija za zadana pravila, podršku za IPv6 i module kernela.
  2. /etc/ufw/before[6].rules: pravila u ovim datotekama izračunavaju se prije bilo kojeg pravila dodanog putem naredbe ufw.
  3. /etc/ufw/after[6].rules: pravila u ovim datotekama izračunavaju se nakon bilo kojeg pravila dodanog putem naredbe ufw.
  4. /etc/ufw/sysctl.conf: mrežni parametri kernela.
  5. /etc/ufw/ufw.conf: postavlja hoće li ufw biti omogućen pri dizanju i postavlja LOGLEVEL.

Zaključak

UFW kao front-end za iptables zasigurno čini jednostavno sučelje za korisnika. Korisnik ne mora pamtiti kompliciranu sintaksu iptables. UFW također koristi 'plain english' kao svoj parametar.

Dopusti, odbij, resetiraj jedan su od njih. Vjerujem da postoji mnogo više iptables front-enda. Ali definitivno je ufw jedna od najboljih alternativa za korisnike koji žele brzo, jednostavno i naravno sigurno postaviti svoj vatrozid. Posjetite ufw stranicu priručnika upisivanjem man ufw za više detalja.