FirewallD è uno strumento di gestione del firewall disponibile per impostazione predefinita sui server CentOS 7. È un tipo di soluzione di gestione del firewall che gestirà le regole di iptables. Fondamentalmente, FirewallD sostituisce iptables come strumento di gestione del firewall predefinito.
Qui a LinuxAPT, come parte dei nostri servizi di gestione del server, aiutiamo regolarmente i nostri clienti a eseguire query FirewallD correlate.
In questo contesto, esamineremo come configurare un firewalld sul server CentOS 7 e alcuni concetti di base di FirewallD.
Concetti di base in Firewalld
FirewallD utilizza concetti di servizi e zone invece di regole e catene di iptables. Usando questo puoi configurare quale traffico dovrebbe essere consentito o non consentito da e verso il sistema. FirewallD utilizza l'utilità firewall-cmd per gestire la configurazione del firewall.
Zone FirewallD
Le zone sono insiemi di regole che specificano quale traffico dovrebbe essere consentito a seconda del livello di fiducia che hai nelle reti a cui è connesso il tuo computer. Puoi assegnare interfacce di rete e sorgenti a una zona.
Di seguito sono elencate le zone predefinite incluse in FirewallD in ordine dal livello di attendibilità della zona da meno attendibile a più attendibile:
- drop:tutte le connessioni in entrata vengono eliminate senza alcuna risposta. Sono consentite solo le connessioni in uscita. È il livello di fiducia più basso.
- blocco:è lo stesso di sopra, ma tutte le connessioni in entrata vengono rifiutate con messaggi icmp-host-prohibited o icmp6-adm-prohibited. Sono consentite solo le connessioni in uscita.
- pubbliche:rappresentano aree pubbliche non attendibili. Non ti fidi di altri computer sulla rete, ma puoi consentire connessioni in ingresso selezionate.
- esterno:reti esterne nel caso in cui utilizzi il firewall come gateway. È configurato per il mascheramento NAT in modo che la tua rete interna rimanga privata ma raggiungibile.
- interno:per i computer nella rete interna, vengono accettate solo le connessioni in entrata selezionate.
- dmz:zona demilitarizzata DMZ, pubblicamente accessibile con accesso limitato alla rete interna, sono accettate solo connessioni in entrata selezionate.
- lavoro:utilizzato per macchine da lavoro. Fidati della maggior parte dei computer della rete. Potrebbero essere consentiti alcuni servizi in più.
- home:utilizzato per le macchine domestiche. Gli altri computer sulla rete sono generalmente affidabili. Sono consentite solo le connessioni in entrata selezionate.
- fidato:tutte le connessioni di rete sono accettabili. Fidati di tutti i computer della rete.
Servizi firewall
I servizi FirewallD sono file di configurazione XML, con regole predefinite che si applicano all'interno di una zona e definiscono le impostazioni necessarie per consentire il traffico in entrata per un servizio specifico. i file di configurazione xml sono archiviati nelle directory /usr/lib/firewalld/services/ e /etc/firewalld/services/.
Come installare e abilitare FirewallD?
Prima di procedere con questa procedura di installazione, assicurati di accedere con account utente abilitato sudo o con utente root.
Per impostazione predefinita, Firewalld è disponibile su CentOS 7. Se non è sul tuo sistema, puoi installare il pacchetto eseguendo il comando seguente:
$ sudo yum install firewalld
Il servizio Firewalld è disabilitato per impostazione predefinita. Puoi controllare lo stato del firewall con:
$ sudo firewall-cmd --state
Se è stato installato ora o non è stato attivato prima, verrà stampato non in esecuzione, altrimenti verrà stampato in esecuzione.
Puoi avviare il servizio FirewallD e abilitarlo all'avvio digitando:
$ sudo systemctl start firewalld
$ sudo systemctl enable firewalld
Come configurare il firewall con FirewallD?
Per impostazione predefinita, dopo aver abilitato il servizio FirewallD, la zona pubblica è la zona predefinita. Puoi ottenere l'elenco della zona predefinita digitando:
$ sudo firewall-cmd --get-default-zone
Per ottenere l'elenco di tutte le zone disponibili, eseguire il comando seguente:
$ sudo firewall-cmd --get-zones
A tutte le interfacce di rete viene assegnata la zona predefinita. Per verificare quali zone sono utilizzate dalle tue interfacce di rete, digita:
$ sudo firewall-cmd --get-active-zones
È possibile stampare le impostazioni di configurazione della zona con:
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Come modificare la zona predefinita del firewall?
Per modificare la zona predefinita, utilizzare il flag –set-default-zone seguito dal nome della zona che si desidera impostare come predefinita. Ad esempio, per cambiare la zona di default in casa dovresti eseguire il seguente comando:
$ sudo firewall-cmd --set-default-zone=dmz
Verifica le modifiche con:
$ sudo firewall-cmd --get-default-zone
Per consentire la regola FirewallD per HTTP e HTTPS
Per aggiungere regole di servizio permanenti per HTTP e HTTPS alla zona dmz, esegui:
$ firewall-cmd --zone=dmz --add-service=http --permanent
$ firewall-cmd --zone=dmz --add-service=https --permanent