Potremmo provare a iniziare con la definizione di firewall che è necessaria per la comprensione del “vocabolario delle porte”. Il firewall è un software o un firmware che applica un insieme di regole su quali pacchetti di dati possono entrare o uscire da una rete. Si occupa di gestire le regole di Allow e Deny per le porte.
In base all’argomento di questa guida vorremmo aprire le porte in distribuzioni Linux come Ubuntu o CentOS. Entrambe le distribuzioni permettono di configurarlo con diversi set di strumenti (pacchetti firewall) ma con gli stessi risultati.
Strumenti che useremo:
– UFW
– Firewalld
Diamo prima un’occhiata allo scenario di Ubuntu:
Questa distribuzione contiene preinstallato il servizio UFW (Uncomplicated Firewall) di default. Semplifica l’intera configurazione ed è facile da usare per ogni persona.
Controlla lo stato del servizio con il comando standard systemctl:
$ sudo systemctl status ufw
Abilita UFW con il comando enable:
$ sudo ufw enable
Sintassi per aprire una porta TCP specifica:
$ sudo ufw allow (port)/tcp
per esempio:
$ sudo ufw allow 53/tcp
La sintassi supporta anche nomi che si riferiscono a porte specifiche:
$ sudo ufw allow https
Per permettere pacchetti tcp e udp in entrata sulla porta 21, inserire:
$ sudo ufw allow 21
Esempio per un indirizzo IP specifico:
$ sudo ufw allow from 190.34.21.113 to any port
Controlliamo la configurazione:
$ sudo ufw status verbose
Il comando visualizza una tabella provvisoria con tre colonne:
Spiegazioni:
– A – descrive il particolare protocollo
– Azione – ci dice se è permesso o negato
– Da – Dice della fonte e.g ovunque o un indirizzo ip come presentato sopra
È già tempo di CentOS:
Firewalld è uno strumento più avanzato che utilizza zone nella sua configurazione. Sono responsabili di prendersi cura di alcune zone, o di un’interfaccia di rete “attaccata”.
Firewalld è un controller frontend per iptables usato per implementare regole persistenti per il traffico di rete.
Diamo un’occhiata a una serie di comandi che elaborano con firewalld.
1. Avviare il nostro servizio con il comando stardand systemctl:
$ sudo systemctl start firewalld
Abilitarlo:
$ sudo systemctl enable firewalld
Questo comando ci informa sullo stato del servizio. Può visualizzare solo due frasi: “running” o “no running”
$ sudo firewall-cmd --state
La zona di default è pubblica. In questo breve tutorial non la cambieremo, ma se volete allora usate questi comandi:
$ sudo firewall-cmd --set-default-zone=work
Proviamoci ad aggiungere traffico tcp sulla porta 1112:
$ sudo firewall-cmd --zone=public --add-port=1112/tcp --permanent
Per ricaricare e far applicare immediatamente le modifiche dobbiamo ricaricare lo stato di firewalld.
$ sudo firewall-cmd --reload
Possiamo ottenere una revisione leggibile della nostra nuova regola con il comando listing:
Per permettere una connessione ssh su uno specifico Ipv4 dobbiamo usare la sintassi con “rich rule”
.