Come configurare UFW Firewall Linux su Ubuntu. UFW è l’acronimo di Uncomplicated Firewall e consente di configurare un firewall su distro linux. E’ stato concepito per semplificare la configurazione delle regole iptables. Inizialmente era disponibile solo per Ubuntu e poi è stato reso disponibile per la maggior parte delle distribuzioni.Una delle funzionalità utili per chi lavora con ipv6 è il supporto nativo messo a disposizione da ufw.
Per installarlo basta semplicemente digitare il comando:
sudo apt-get install ufw
Il servizio viene installato in modalità disable.
Per vericare lo stato digitiamo:
sudo ufw status
Se non vogliamo digitare ogni volta la parola sudo possiamo digitare sudo -i per attivare una sessione da super amministratore.
Prima di abilitare il firewall impostiamo le regole base. Vediamo alcuni comandi principali per aggiungere e rimuovere regole.
Non abilitare il firewall finchè le regole non sono state definite perchè di default ufw permettere tutto il traffico in uscita e blocca tutto il traffico in ingresso quindi se state lavoando per esempio su una vps in ssh la macchina non sarebbe più accessibile.
Per impostare la regola di accesso ssh basta digitare:
sudo ufw allow ssh/tcp o sudo ufw allow 22/tcp
Questa regola apre la porta 22 (dove ci possiamo collegare con client come putty o mRemoteNG o direttamente da shell). Se avete una connessione con ip statico e volete limitate le connessioni ssh solamente dal vostro ip il comando da digitare è:
sudo ufw allow from xxx.xxx.xxx.xxx to any port 22 (sostituire xxx.xxx.xxx.xxx con il vostro ip pubblico che potete reperire visitando siti come www.mioip.it per esempio). Se non viene specificata il protocollo tcp o udp verranno impostati per default entrambi.
Per abilitare la funzione di logging e monitorare le connessioni bloccate il comando è:
sudo ufw logging on
Possiamo ora abilitare il nostro firewall con il comando:
sudo ufw enable
Comparirà un messaggio che ci avviserà che tutte le sessioni correnti verranno disattivate, in caso la regola non sia impostata. Digitiamo yes e vediamo come consultare le regole impostate.
Per vedere tutte le regole impostate di ufw firewall digitiamo il comando:
sudo ufw status numbered
Otterremo la lista delle regole impostate con un indicatore numerico che identifica le stesse. Tutte le regole che abbiamo impostato saranno valide per ipv4 che per ipv6.
La lista delle regole con il loro identificativo ci consentirà di poter eliminare eventuali regole inserite erroneamente o non più utili. Per eliminare una regola digitiamo il comando:
ufw delete 5 (con questo comando si elimina la regola che ha per identificativo il 4)
Se abbiamo la necessità di disabilitare ufw firewall il comando da digitare è :
sudo ufw disable
Regole Avanzate
Vediamo come limitare le connessioni in entrata onde evitare attacchi brute force o ddos. Blocchiamo il traffico ICMP in modo che la macchina non risponda al ping. Per farlo è necessario modificare il file in /etc/ufw/before.rule con il comando
sudo nano /etc/ufw/before.rule (nano è l’editor che utilizzo io, se non è installato installarlo con il comando sudo apt-get install nano)
Individuare all’interno del file la riga #ok icmp codes e vedremo sotto 5 regole con ACCEPT per il servizio icmp. Modifichiamo ACCEPT in DROP, salviamo il file e applichiamo le modifiche con il comando
ufw disable && ufw enable
Se proviamo a fare una richiesta icmp da un altro computer appartenente ad un altra rete vedremo che la richiesta sarà scaduta.
Se volessimo bloccare la risposta icmp per ipv6 il file da modificare è /etc/ufw/before6.rule
Tornando alla nostra regola che abilitava la porta 22 possiamo applicare la funzione limiti di ufw che di default consente un massimo di 6 connessioni ongi 30 secondi da un singolo ip. Per applicare il limite digitiamo il comando
sudo ufw limit 22/tcp
Dopo 6 tentativi dallo stesso ip tutte le connessioni successive verranno droppate per 30 secondi. Con questa regola limite di base possiamo evitare tentativi malevoli.
Per limitare le connessioni alla porta 80 (web) dovremmo seguire questi step.
sudo ufw llow 80/tcp (apre il traffico sulla porta 80)
sudo ufw limit 80/tcp (limitiamo le richiesta come descritto sopra)
In caso di crawling tramite comando wget le prime sei connessioni risponderanno mentre le successive saranno negate.
Consultare i log di ufw firewall
Per consultare i log e vedere quelle che sta avvenendo dall’esterno verso la nostra rete possiamo digitare il comando dmesg o il comando tail -f /var&log/syslog.
Vedremo delle stringhe come questa
[UFW LIMIT BLOCK] IN=eth0 OUT= MAC=00:00:00:00:00:00 SRC=123.123.123.123 DST=456.456.456.46 LEN=60 TOS=0x00 TTL=64 ID=11111 DF PROTO=TCP SPT=11111 DPT=80 WINDOW=14600 RES=0x00 SYN URGP=0
SRC = Indirizzo IP bloccato
DST = IP del server su cui abbiamo abilitato ufw
PROTO = Protocollo utilizzato per la connessione
DPT = Porta di destinazione sulla quale IP SRC ha provato l’accesso.
Gli altri parametri sono riferiti ai contenuti del pacchetto.
Conclusioni
Se abbiamo bisogno di abiliate un firewall velocemente sulla nostra macchina locale o remota che sia UFW firewall ce lo permette con 4 semplici comandi procedura che con iptables sarebbe molto più lunga. Le regole di limit sono molto generiche quindi consiglio di utilizzarle temporaneamente o per server casalinghi. Per server di produzione ci sono altri servizi che vedremo molto più utili e performanti alla causa.
Se ti è servito l’aritcolo e ti è piaciuto lascia la tua mail per rimanere aggiornato e ricevere in anteprima i successivi articoli del settore. Condividi e metti mi piace su facebook.
Grazie e alla prossima.