Firewalld


Firewalling è avviato con il kernel perché questo sia aspetta pacchetti in ingresso e in uscita ed utilizza un modulo integrato nel kernel che si chiama Netfilter. Questo utilizza una interfaccia sopra il livello del kernel che si chiama Nftables che serve per classificate il movimento del traffico fissando delle regole sui pacchetti in ingresso e in uscita ma richiede una serie di comandi difficili da usare e per questo si utilizza Firewalld che va a scrivere in Nftables rules.

Firewalld usa differenti componenti per realizzare il firewalling
- Service: abilita o blocca uno o più porte e moduli del kernel
- Zone: specifica configurazione della network card 
- Ports

Per visualizzare la configurazione attuale del firewall
# firewall-cmd --list-all


public (active) dice che la Zona è pubblica ed è attiva. E' il valore di default.
interfaces: l'unica interfaccia definita è enp0s3
services: contiene l'elenco dei servizi abilitati in questa zona


# firewall-cmd --get-services 
Fornisce l'elenco dei servizi che possono essere messi sotto firewalld.

Per aggiungere un nuovo servizio
# firewall-cmd --add-service=ftp



Riavviare il firewall
# firewall-cmd --reload 

Il servizio aggiunto non è permanente e non viene più registrato dal firewall al reboot del server.

Per renderlo permanente eseguire il comando 
# firewall-cmd --permanent -add-service=ftp
Se si visualizza la lista dei servizi non compare. Occorre ricaricare il servizio
# firewall-cmd --reload


Dopo le modifiche del firewall conviene anche riavviare il servizio firewalld
# systemclt restart firewalld


 -- Graphical Utility ---
Installare il pacchetto e poi lanciare il comando successivo
# yum install firewall-config
# firewall-config

Configurare il firewall da garantire l'accesso remoto ai processi  Ssh e Apache.
Se dal server2 accediamo al webserver definito su server1 riceviamo il messaggio di errore "No route to host" perché sul server1 non è abilitato il servizio http e https sul firewall.


Sul server1 aggiungere i due servizi al firewall
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
Aggiungre la porta 82
# firewall-cmd --add-port=82/tcp --permanent
Se abilitato SElinux aggiornare il context
# semanage port -l | grep http
# semanage port -a -p -tcp -t http_port_t 82
# semanage port -l | grep http
# firewall-cmd --reload
# systemctl restart firewalld

Proviamo nuovamente dal server2 a richiamare il web server e funziona.


Stessa cosa per il servizio SSH. Deve essere aggiunto nel firewall.

Post popolari in questo blog

Create e Drop Pluggable Database

ORA-12154: TNS: il listener non è attualmente a conoscenza del servizio richiesto nel descrittore di connessione