Firewall Dinamico (FirewallD)

Gio, 12/04/2012 - 17:45

Firewall Dinamico (FirewallD)

Inviato da sagitter 0 commenti

Come una delle nuove feature in Fedora, FirewallD porta con se la gestione dinamica del firewall con interfaccia D-Bus.

L’attuale versione statica richiede il riavvìo completo del firewall ad ogni modifica apportata nonché il ricaricamento del modulo corrispondente nel kernel. Il firewall daemon introdotto gestisce live tutto questo ma implica il suo condizionato uso grazie a cui la gestione delle modifiche e del modulo kernel sono sincronizzate.
firewallD non analizza le regole nelle ip*tables ne gli strumenti ebtables..

Il demone è legato a virtualizzazioni, a servizi, a porte, al mascherading (chiamato anche network address translation o NAT), al port forwarding, all’icmp filtering.

Lo strumento system-config-firewall è ancora disponibile ed utilizzabile ma solo con il firewalld disabilitato.

Verifica dello stato del demone:

(l’output deve essere running):
$ firewall-cmd --state && echo "running"

Avvìo del servizio:
$ su -c 'systemctl start firewalld.service'

Network Zone

Una zona è una unità di classificazione delle connessioni utilizzate in funzione della sicurezza. Per connessione s’intende l’uso di una rete locale o rete internet attraverso una interfaccia di rete cablata o wireless. Ad esempio una rete WiFi pubblica è ritenuta una connessione (una zona) non attendibile e perlomeno non dovrebbe avere alcun servizio attivo; una rete domestica dovrebbe essere una zona maggiormente attendibile e sicura.

In Fedora 17, firewalld può legare una connessione ad una zona più o meno attendibile attraverso NetworkManager.

Il tool nmcli può elencare le connessioni con le relative zone:
$ nmcli -f NAME,DEVICES,ZONE con status

Interrogando firewalld è possibile ottenere le impostazioni incluse per una specifica zona:

$ su -c 'firewall-cmd --list=all --zone=home'
zone: home
interfaces: wlan0
services: ipp-client, mdns, dhcpv6-client, ssh, samba-client

Nell’esempio sopra, l’interfaccia wireless wlan0 rispetta le regole della zona home, nella quale i servizi permessi sono ipp-client mdns dhcpv6-client ssh samba-client

Per listare le tipologìe di zone (drop, work, internal, external, trusted, home, dmz, public, block):
$ firewall-cmd --list=zone

Per listare i servizi supportati: (cluster-suite pop3s bacula-client smtp ipp radius bacula ftp mdns samba dhcpv6-client dns openvpn imaps samba-client http https telnet libvirt ssh ipsec ipp-client amanda-client tftp-client nfs tftp libvirt-tls):
$ firewall-cmd --list=services

Ad ognuna è possibile aggiungere o rimuovere specifici servizi; ad esempio:
$ su -c 'firewall-cmd --add --zone=home --service=smtp'

con il servizio smtp permesso, il comando # iptables-save | grep home dovrebbe contenere la riga -A IN_ZONE_home_allow -p tcp -m tcp –dport 25 -j ACCEPT

Per vedere tutte le zone attive con le relative interfacce:
$ firewall-cmd --get-active-zones

Zone attive per una specifica interfaccia:
$ firewall-cmd --get-zone-of-interface=wlan0

Apertura di una porta specifica:
$ su -c 'firewall-cmd --add --zone=home --port=porta/protocollo'

Port Forwarding:
$ su -c 'firewall-cmd --add --zone=home --forward-port=porta:protocollo>[toport=porta|toaddr=ip]'