Firewalld è un potente strumento di gestione del firewall utilizzato nelle distribuzioni Linux come CentOS, RHEL e Fedora. Offre un modo flessibile e dinamico di gestire le regole del firewall, consentendo agli utenti di definire efficacemente i criteri di sicurezza. Una delle caratteristiche principali di Firewalld sono le regole ricche, che forniscono un controllo più granulare sul traffico di rete rispetto alle regole standard.

Cosa sono le Rich Rules in Firewalld?

Le regole complete sono un metodo avanzato di definizione dei criteri del firewall, che offre opzioni di filtraggio aggiuntive quali:

  • Specificare gli indirizzi di origine e di destinazione
  • Consentire o rifiutare il traffico in base ai protocolli o alle porte
  • Definizione di regole di registrazione e audit
  • Impostazione di limiti di velocità e azioni per connessioni specifiche

Le regole complete consentono agli amministratori di creare criteri di sicurezza più precisi rispetto alle regole di base basate su zone e servizi.

Verifica delle regole complete esistenti

Per verificare se ci sono regole ricche attualmente configurate, eseguire il seguente comando:

firewall-cmd --list-rich-rules

In questo modo verranno visualizzate tutte le regole ricche attualmente attive nel firewall.

Aggiunta di una regola ricca

Per aggiungere una nuova regola ricca, utilizzare la seguente sintassi:

firewall-cmd --permanent --add-rich-rule='regola famiglia="ipv4" 
source address="192.168.1.100" service name="ssh" accept"

Questa regola consente il traffico SSH da un indirizzo IP specifico (192.168.1.100).

Dopo aver aggiunto una regola, ricaricare Firewalld per applicare le modifiche:

firewall-cmd --reload

Bloccare il traffico con una regola ricca

Per bloccare il traffico da un indirizzo IP specifico, utilizzare:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
indirizzo sorgente="192.168.1.200" drop"

Questa regola interromperà silenziosamente tutto il traffico proveniente da 192.168.1.200 senza inviare una risposta.

Consentire il traffico per una porta e un protocollo specifici

Per consentire il traffico di una porta e di un protocollo particolari, come ad esempio HTTP sulla porta 80:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
indirizzo sorgente="192.168.1.0/24" protocollo porta="tcp" porta="80" accetta'

Questa regola permette il traffico HTTP da qualsiasi dispositivo all’interno della sottorete 192.168.1.0/24.

Registrazione e verifica del traffico

Per registrare i pacchetti caduti a scopo di monitoraggio, utilizzare:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
indirizzo sorgente="192.168.1.150" drop log prefix="[FIREWALL-DROP]" level="info"'

Questa regola interrompe il traffico da 192.168.1.150 e lo registra con il prefisso [FIREWALL-DROP].

Rimozione di una regola ricca

Per rimuovere una specifica regola ricca, utilizzare:

firewall-cmd --permanent --remove-rich-rule='regola family="ipv4" 
source address="192.168.1.100" service name="ssh" accept"

Quindi ricaricare Firewalld:

firewall-cmd --reload

Migliori pratiche per la gestione delle regole ricche

  • Testate sempre le nuove regole del firewall prima di applicarle in modo permanente.
  • Utilizzare le regole di registrazione per monitorare e analizzare il traffico bloccato.
  • Rivedere regolarmente le regole del firewall per garantire la conformità alla sicurezza.
  • Limitare l’accesso ai servizi critici per indirizzo IP o subnet.

Conclusione

La gestione di regole complete in Firewalld offre un modo flessibile e potente per controllare il traffico di rete con un filtraggio a grana fine. Che si tratti di consentire indirizzi IP specifici, bloccare il traffico non autorizzato o registrare le connessioni, le regole complete aiutano a migliorare la sicurezza e a mantenere l’integrità della rete.