Ubuntu

Installazione e configurazione di UFW in Ubuntu 20.04 LTS

Installazione e configurazione di UFW in Ubuntu 20.04 LTS
UFW, o Uncomplicated Firewall, è un frontend intuitivo per Linux iptables. UFW è scritto in Python (supporta Python 3.5 e versioni successive) ed è l'attuale utility di gestione del firewall di fatto nei sistemi Ubuntu. Questa utility è molto intuitiva e funge da ottimo firewall basato su host.

Questo articolo mostra come installare e utilizzare UFW sul tuo Ubuntu 20.04 Sistema LTS.

Installazione

UFW è preinstallato sulla maggior parte dei sistemi Ubuntu. Se la tua build non ha questo programma già installato, puoi installarlo usando lo snap o i gestori di pacchetti apt.$ sudo snap install ufw

$ sudo apt install ufw

Personalmente preferisco usare il gestore di pacchetti apt per farlo perché lo snap è meno popolare e non voglio avere questa complessità aggiuntiva. Al momento in cui scriviamo, la versione pubblicata per UFW è 0.36 per il 20.04 rilascio.

In arrivo vs. Traffico in uscita

Se sei un principiante nel mondo del networking, la prima cosa che devi chiarire è la differenza tra traffico in entrata e in uscita.

Quando installi aggiornamenti utilizzando apt-get, navighi in Internet o controlli la posta elettronica, ciò che stai facendo è inviare richieste "in uscita" ai server, come Ubuntu, Google, ecc. Per accedere a questi servizi, non hai nemmeno bisogno di un IP pubblico. Di solito, viene assegnato un singolo indirizzo IP pubblico per, ad esempio, una connessione a banda larga domestica e ogni dispositivo ottiene il proprio IP privato. Il router gestisce quindi il traffico utilizzando qualcosa noto come NAT o Network Address Translation.

I dettagli del NAT e degli indirizzi IP privati ​​esulano dallo scopo di questo articolo, ma il video linkato sopra è un ottimo punto di partenza. Tornando a UFW, per impostazione predefinita, UFW consentirà tutto il normale traffico web in uscita. I tuoi browser, gestori di pacchetti e altri programmi scelgono un numero di porta casuale, di solito un numero superiore a 3000, ed è così che ogni applicazione può tenere traccia delle sue connessioni.

Quando si eseguono server nel cloud, di solito vengono forniti con un indirizzo IP pubblico e le regole di cui sopra per consentire il traffico in uscita sono ancora valide. Poiché utilizzerai ancora utilità, come i gestori di pacchetti, che parlano con il resto del mondo come "client", UFW lo consente per impostazione predefinita.

Il divertimento inizia con il traffico in entrata. Le applicazioni, come il server OpenSSH che usi per accedere alla tua VM, ascoltano su porte specifiche (come 22) per in arrivo richieste, così come altre applicazioni. I server Web devono accedere alle porte 80 e 443.

Fa parte del lavoro di un firewall consentire ad applicazioni specifiche di ascoltare un determinato traffico in entrata bloccando tutto quello non necessario. Potresti avere un server di database installato sulla tua VM, ma di solito non ha bisogno di ascoltare le richieste in arrivo sull'interfaccia con un IP pubblico. Di solito, si limita ad ascoltare le richieste nell'interfaccia di loopback.

Ci sono molti bot nel Web, che bombardano costantemente i server con richieste fasulle per entrare con la forza bruta o per eseguire un semplice attacco Denial of Service. Un firewall ben configurato dovrebbe essere in grado di bloccare la maggior parte di questi imbrogli con l'aiuto di plugin di terze parti come Fail2ban.

Ma, per ora, ci concentreremo su una configurazione molto semplice.

Utilizzo di base

Ora che hai installato UFW sul tuo sistema, esamineremo alcuni usi di base di questo programma. Poiché le regole del firewall vengono applicate a tutto il sistema, i comandi seguenti vengono eseguiti come utente root. Se preferisci, puoi usare sudo con i privilegi appropriati per questa procedura.

# stato ufw
Stato: inattivo

Per impostazione predefinita, UFW è in uno stato inattivo, il che è una buona cosa. Non vuoi bloccare tutto il traffico in entrata sulla porta 22, che è la porta SSH predefinita. Se hai effettuato l'accesso a un server remoto tramite SSH e blocchi la porta 22, sarai bloccato fuori dal server.

UFW ci rende facile fare un buco solo per OpenSSH. Esegui il comando seguente:

[email protected]:~# elenco app ufw
Applicazioni disponibili:
ApriSSH

Nota che non ho ancora abilitato il firewall. Ora aggiungeremo OpenSSH al nostro elenco di app consentite e quindi abiliteremo il firewall. Per farlo, inserisci i seguenti comandi:

# ufw consenti OpenSSH
Regole aggiornate
Regole aggiornate (v6)
# ufw abilita

Il comando potrebbe interrompere le connessioni SSH esistenti. Procedi con l'operazione (y|n)? sì.

Il firewall è ora attivo e abilitato all'avvio del sistema.

Congratulazioni, ora UFW è attivo e funzionante. UFW ora consente solo a OpenSSH di ascoltare le richieste in arrivo sulla porta 22. Per controllare lo stato del tuo firewall in qualsiasi momento, esegui il seguente codice:

# stato ufw
Stato: attivo
All'azione da
-- ------ ----
OpenSSH PERMETTI ovunque
OpenSSH (v6) CONSENTI ovunque (v6)

Come puoi vedere, OpenSSH ora può ricevere richieste da qualsiasi luogo su Internet, a condizione che lo raggiunga sulla porta 22. La riga v6 indica che le regole vengono applicate anche per IPv6.

Ovviamente puoi vietare determinati intervalli di IP o consentire solo un particolare intervallo di IP, a seconda dei vincoli di sicurezza entro i quali stai lavorando.

Aggiunta di applicazioni

Per le applicazioni più popolari, il comando ufw app list aggiorna automaticamente il suo elenco di criteri al momento dell'installazione. Ad esempio, al momento dell'installazione del server web Nginx, vedrai apparire le seguenti nuove opzioni:

# apt install nginx
# ufw elenco di app
Applicazioni disponibili:
Nginx completo
Nginx HTTP
Nginx HTTPS
ApriSSH

Vai avanti e prova a sperimentare queste regole. Nota che puoi semplicemente consentire i numeri di porta, piuttosto che aspettare che venga visualizzato il profilo di un'applicazione. Ad esempio, per consentire la porta 443 per il traffico HTTPS, utilizzare semplicemente il seguente comando:

# ufw consenti 443
# stato ufw
Stato: attivo
All'azione da
-- ------ ----
OpenSSH PERMETTI ovunque
443 PERMETTI ovunque
OpenSSH (v6) CONSENTI ovunque (v6)
443 (v6) CONSENTI ovunque (v6)

Conclusione

Ora che hai ordinato le basi di UFW, puoi esplorare altre potenti funzionalità del firewall, a partire dal consentire e bloccare gli intervalli di IP. Avere policy firewall chiare e sicure manterrà i tuoi sistemi sicuri e protetti.

OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...
Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...
SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...