Linux Centos 7.
x, FIREWALL
Il demone firewalld gestisce gruppi di regole usando entità chiamate “zone”
Ogni zona ha un livello di fiducia
L’interfaccia di rete viene abbinata ad una zona
Nell’ordine dal meno affidabile al più fidato, le zone predefinite
all’interno di firewalld sono:
drop: il livello più basso di fiducia. Tutte le connessioni in entrata
vengono rilasciate senza risposta e solo le connessioni in uscita sono
consentite.
block: simile a quanto sopra, ma invece di abbandonare semplicemente le
connessioni, le richieste in arrivo vengono rifiutate con un messaggio icmp-
host-prohibited o con icmp6-adm-prohibited.
public: rappresentano le reti pubbliche e non attendibili. Non ti fidi degli
altri computer, ma puoi consentire le connessioni in entrata selezionate
caso per caso.
external: reti esterne nel caso in cui si stia utilizzando il firewall come
gateway. È configurato per il masquerading NAT in modo che la rete interna
rimanga privata ma raggiungibile.
internal: l’altro lato della zona esterna, utilizzato per la parte interna
di un gateway. I computer sono abbastanza affidabili e alcuni servizi
aggiuntivi sono disponibili.
dmz: usato per computer situati in una DMZ (computer isolati che non avranno
accesso al resto della rete). Sono consentite solo determinate connessioni
in entrata.
work: usato per macchine da lavoro. Fidati della maggior parte dei computer
nella rete. Potrebbero essere consentiti alcuni altri servizi.
home: un ambiente domestico. In genere implica che ti fidi della maggior
parte degli altri computer e che alcuni altri servizi saranno accettati.
trusted: fidati di tutte le macchine nella rete. La più aperta delle opzioni
disponibili e dovrebbe essere usata con parsimonia.
Per utilizzare il firewall, possiamo creare regole e modificare le
proprietà delle nostre zone e quindi assegnare le interfacce di rete alle
zone più appropriate.
le regole possono essere designate come permanenti o immediate. Se viene
aggiunta o modificata una regola, per impostazione predefinita viene
modificato il comportamento del firewall attualmente in esecuzione. Al
prossimo avvio, le vecchie regole verranno ripristinate.
Installazione, avvio e abilitazione del firewall
yum -y install firewalld
systemctl enable firewalld
systemctl start firewalld
La zona predefinita
firewall-cmd --get-default-zone
La scheda di rete associata alla zona “attiva”
firewall-cmd --get-active-zones
Le regole associate alla zona di default
firewall-cmd --list-all
Le zone disponibili
firewall-cmd --get-zones
La configurazione specifica associata a una zona
firewall-cmd --zone=public --list-all
ports visualizza le porte aperte
service visualizza i servizi aperti
Passare la nostra interfaccia enp0s3 alla zona “public”
firewall-cmd --zone=public --change-interface=enp0s3
Impostare la zona predefinita
firewall-cmd --set-default-zone=public
Elenco dei servizi
firewall-cmd --get-services
Aprire un servizio per una zona
firewall-cmd --add-service=<servizio> --zone=<zona>
con l’opzione --permanent risulta attiva anche al riavvio
Chiudere un servizio per una zona
firewall-cmd --remove-service=<servizio> --zone=<zona>
con l’opzione --permanent risulta attiva anche al riavvio
Aprire una porta per una zona
firewall-cmd --add-port=<porta/tcp|udp> --zone=<zona>
con l’opzione –permanent risulta attiva anche al riavvio
Chiudere una porta per una zona
firewall-cmd --remove-port=<porta/tcp|udp> --zone=<zona>
con l’opzione –permanent risulta attiva anche al riavvio
Porta aperta o chiusa?
firewall-cmd --zone=public --query-port=21/tcp
Servizio aperto o chiuso?
firewall-cmd --zone=public --query-service=ssh
Aggiungere un indirizzo IP e una porta
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="79.61.179.69/32"
port protocol="tcp" port="8099" accept'
Verificare il contenuto della regola creata
cat /etc/firewalld/zones/public.xml
NOTA: dopo ogni modifica ricaricare le regole con firewall-cmd --reload