Firewall in Linux ghjoca un rolu vitale in securità di un sistema di computer. Agisce cum'è una barriera, cuntrullendu è filtrà u trafficu di a rete per prutege u sistema da l'accessu micca autorizatu, attacchi è altre minacce. Senza un Firewall cunfiguratu bè, u servitore puderia esse vulnerabile à diversi tipi di ciberattacchi, purtendu à cunsequenze gravi per a sicurità di e dati è a cunfidenziale.
In questu articulu, fighjemu dui strumenti principali per cunfigurà u Linux Firewall: firewalld è iptables. Faremu una analisi comparativa di e so caratteristiche, funziunalità è vantaghji. Inoltre, furniremu struzzioni dettagliate per a stallazione è l'usu di ognuna di sti strumenti, è ancu di discussione di e migliori pratiche per assicurà u vostru sistema cù un Firewall nantu à a piattaforma Linux. Tutte l'azzioni seranu dimustrate nantu à a Servitore virtuale cù accessu à a radica.
Configurazione di firewalld in Linux
Firewalld (Firewall Daemon) hè un prugramma per gestisce u firewall in i sistemi operativi Linux. Fornisce una interfaccia d'utilizatore per cunfigurà e regule di firewall, chì permettenu o bluccà e cunnessione di l'applicazioni di rete. Hè preinstallatu per difettu in a maiò parte di e distribuzioni di servitori. Se Firewalld ùn hè micca preinstallatu, pò esse installatu indipindente da i repositori ufficiali di a distribuzione.
Per i sistemi Red Hat (cum'è RHEL, CentOS, Fedora) a stallazione hè fatta cù u cumandimu:
yum install firewalld
Per Debian/Ubuntu:
apt-get install firewalld
Dopu a stallazione, pò esse iniziatu è attivatu immediatamente cù u cumandimu:
systemctl start firewalld
Dopu, avete bisognu di aghjunghje u serviziu à l'iniziu:
systemctl enable firewalld
À questu puntu, ricumandemu di disattivà ufw, postu chì l'usu simultaneo di sta strumentu cù firewalld o iptables ùn hè micca cunsigliatu. Verificate u statutu:
systemctl status ufw
Per piantà, entre u cumandimu:
systemctl stop ufw
Per a disattivazione cumpleta:
ufw disable
Dopu à sti azzioni, vi ponu andà à cunfigurà firewalld.
Prima, hè necessariu di definisce e zone di fiducia. Firewalld usa u cuncettu di zoni per determinà u livellu di fiducia per l'interfaccia di rete. Ogni interfaccia hè assignata una zona, è e regule di firewall sò applicate basatu annantu à a zona. A lista di tutte e zoni dispunibili hè aperta cù u cumandimu:
firewall-cmd --get-zones
Di solitu, 4 zoni principali sò usati:
- Public: Questa zona hè per e rete chì cunsiderà micca sicura;
- Private: Applica à e rete di casa o altre cunnessione di rete di fiducia;
- Irreversible: Adupratu per e rete internu, cum'è quelli in una urganizazione o rete corporativa;
- DMZ: Questa zona hè induve i servitori sò generalmente posti chì deve esse accessibile da Internet.
Tuttavia, questu hè solu un esempiu. Pudete aghjunghje a vostra propria zona cù u cumandimu:
firewall-cmd --permanent --new-zone=nameyourzone
Dopu avè aghjustatu, una ricarica hè necessaria:
firewall-cmd --reload
Per sguassà una zona, hè utilizatu un metudu simili
firewall-cmd --permanent --delete-zone=nameyourzone
Dopu avè definitu e zoni, hè necessariu di permette u trafficu per i servizii è i porti necessarii. Per permette un certu serviziu, utilizate u cumandimu:
firewall-cmd --zone=public --add-service=name
induva Cognome hè u nome di u serviziu. Per esempiu, per permette u trafficu per Apache:
firewall-cmd --zone=public --add-service=http
Per definisce i porti permissibili, utilizate u cumandimu:
firewall-cmd --zone=public --add-port=number/protocol
Per esempiu, u portu standard 22 per SSH pare cusì:
firewall-cmd --zone=public --add-port=22/tcp
In questu stadiu, i reguli principali sò digià creati. In seguitu, determinà cumu u trafficu serà processatu secondu a fonte, destinazione, portu è altri criteri. Per aghjunghje una regula (usendu u pùbblicu zona per esempiu):
firewall-cmd --zone=public rule
Per esempiu, per permette u trafficu entrante da ogni fonte à u portu 80 (HTTP):
firewall-cmd --zone=public --add-port=80/tcp --permanent
Per sguassà una regula:
firewall-cmd --permanent --remove-rule=rule_specification
induva regula hè u tipu di regula (per esempiu, portu, serviziu, riccu-regula, etc.), è rule_specification hè a specificazione di a regula stessa.
Dopu avè fattu cambiamenti à a cunfigurazione di Firewalld, hè necessariu di salvà è applicà. Per salvà i cambiamenti, utilizate u cumandimu:
firewall-cmd --runtime-to-permanent
Per applicà i cambiamenti:
firewall-cmd --reload
Dopu avè finitu a cunfigurazione, pudete verificà i paràmetri selezziunati aprendu a lista di tutte e regule:
firewall-cmd --list-all
In casu di prublemi, verificate i logs Firewalld cù u cumandimu:
journalctl -u firewalld
Nota: Avemu cupertu solu l'algoritmu generale per stabilisce a cunnessione. U strumentu hà una funziunalità estensiva. Per una infurmazione cumpleta nantu à tutte l'opzioni dispunibili, pudete aduprà a ducumentazione ufficiale o apre l'aiutu:
firewall-cmd --help
Configurazione di iptables in Linux
A cuntrariu di Firewalld, iptables hè un strumentu più anticu ma ancu assai utilizatu in Linux per a gestione di u firewall. Fornisce un approcciu più direttu è flessibile à e regule di filtrazione di pacchetti à u livellu di u kernel Linux. Tuttavia, iptables richiede una cunniscenza è una sperienza più avanzata cumparatu cù Firewalld, facendu menu accessibile per i principianti. Verificate a versione preinstallata di l'uttellu cù u cumandimu:
iptables -V
Se l'uttellu ùn hè micca stallatu, hà da esse stallatu. U cumandimu per l'installazione in Ubuntu, Debian:
apt install iptables
Per i sistemi Red Hat (per esempiu, CentOS, Fedora):
yum install iptables
U cumandamentu per l'attivazione dopu a stallazione:
systemctl start iptables
Per aghjunghje à l'iniziu, eseguite:
systemctl enable iptables
Prima di principià a cunfigurazione iptables, hè impurtante capisce cumu funziona. Questu hè aiutatu da a sintassi di u prugramma. Sembra cusì:
iptables -t table action chain additional_parameters
Andemu più in profondità in ogni articulu.
Iptables hà quattru tavule principali: filtru, nat, mangle, è crudu. Ognunu hè pensatu per processà certi tipi di pacchetti è hà e so catene di regule:
- filtre: Questa hè a tavula più usata, chì cuntene e regule di filtrazione di pacchetti. Hè utilizatu per piglià decisioni nantu à permette o ricusà i pacchetti.
- natu: Questa tavula hè aduprata per mudificà l'indirizzi di a rete è i porti in pacchetti. Hè spessu usatu per a creazione di masquerading (NAT).
- mangle: In questa tabella, pudete mudificà l'intestazione di pacchetti. Hè utilizatu per operazioni di pacchetti specializate, cum'è a marcatura.
- crudu: Questa tavula hè aduprata per cunfigurà e regule chì s'applicanu prima di passà per u sistema di seguimentu di cunnessione. Hè tipicamente utilizatu per stabilisce e regule chì ùn deve micca esse mudificate da u sistema di seguimentu, cum'è abbandunà i pacchetti da certi indirizzi.
Ogni tavula cuntene un inseme di catene. I catene sò una sequenza di reguli chì sò verificati sequentially. Ci sò trè catene predefinite:
- INPUT (entrante). E regule in questa catena determinanu ciò chì fà cù i pacchetti entranti.
- OUTPUT (in uscita). Questa catena s'applica à tutti i pacchetti chì u vostru urdinatore manda à altri dispositi o computer in a reta.
- AVANTI (invià). E regule in questa catena specificanu ciò chì deve fà cù i pacchetti trasmessi.
Infine, ogni catena pussede una certa azzione (destinazione). In pratica, 5 azzioni principali sò usati:
- ACCEPTU: Permette à u pacchettu di passà per u firewall.
- GOCCIA: Rifiuta u pacchettu è scartate senza risposta.
- REJETTU: Rejete u pacchettu è mandate à u mittente un missaghju d'errore ICMP.
- LOG: Registrate u pacchettu in u logu di u sistema è eseguite una altra azione (per esempiu, ACCEPT o DROP).
- Cavalli: Cessate di verificà e regule in a catena attuale è torna à a catena di chjama (se applicabile).
Per inizià a stallazione, apre a lista di e regule esistenti cù u cumandimu:
iptables -L
Cum'è una guida per cunfigurà Iptables, fighjemu esempi pratichi di i cumandamenti più cumunimenti usati. Per comodità, divideremu l'esempii in 3 gruppi, secondu a catena specifica.
Chain INPUT:
- Permette u trafficu entrante via u protocolu TCP nantu à u portu 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. Permette u trafficu entrante via u protocolu UDP in u portu 22:
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. Bloccà u trafficu in entrata da un indirizzu IP specificu:
iptables -A INPUT -s 192.168.1.100 -j DROP
Chain radicali avrìanu pututu:
- Permette u trafficu in uscita via u protocolu TCP in u portu 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. Permette u trafficu in uscita via u protocolu UDP nantu à u portu 80:
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. Bloccà u trafficu in uscita à un portu specificu (per esempiu, 21):
iptables -A OUTPUT -p tcp --dport 21 -j DROP
Chain FORWARD:
- Bloccà u trafficu trasmessu da una gamma specifica di indirizzi IP:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. Bloccà l'invio di pacchetti da una interfaccia di rete specifica:
iptables -A FORWARD -i eth1 -j DROP
3. Limità u numeru di cunnessione simultanea per un portu specificu (in questu esempiu, 10 cunnessione per minutu nantu à u portu 80):
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
Comu pudete vede, in ogni casu separatu, un argumentu supplementu (cumandamentu) hè utilizatu. Per uttene una lista completa di l'argumenti pussibuli è u sustegnu generale per a funziunalità di l'uttellu, entre:
iptables -h
Per assicurà chì i paràmetri sò curretti, entre in u cumandimu per vede a lista di e regule:
iptables -L
Per sguassà una regula specifica, utilizate u cumandimu:
iptables -D chain rule_number
Per esempiu, sè vo vulete sguassate u numeru di regula 1 da a catena INPUT, u cumandimu sarà cusì:
iptables -D INPUT 1
Per sguassà tutte e regule cù un cumandamentu:
iptables -F
Nota importante: e regule iptables ùn sò micca salvate automaticamente dopu à rebooting u sistema o serviziu. Per salvà e regule, anu da esse aghjuntu à un schedariu di cunfigurazione è restaurate dopu à reboot. U iptables-salvate e iptables-restore utilità ponu aiutà cun questu. Per salvà e regule, entre in u cumandimu:
iptables-save > /etc/iptables/rules.v4
Questu salva i reguli iptables attuale in u schedariu rules.v4. Per restaurà dopu à reboot, entre:
iptables-restore < /etc/iptables/rules.v4
Stu cumandimu restaurà e regule da u schedariu rules.v4.
cunchiusioni
A cunfigurazione di Firewall in Linux utilizendu firewalld o iptables hè un aspettu impurtante per assicurà a sicurità di u servitore. I dui strumenti offrenu mezi affidabili di gestisce u trafficu di a rete è prutegge u sistema da l'accessu micca autorizatu è i ciberattacchi. L'scelta trà firewalld è iptables dipende da i bisogni specifichi è e preferenze di l'utilizatore, cunsiderendu e so diverse funziunalità è punti di forza.