In questo articolo, ti mostrerò come configurare il firewall UFW su Ubuntu 18.04. In Ubuntu, il firewall predefinito è UFW, abbreviazione di Uncomplicated FireWall . È in circolazione dal rilascio di Ubuntu 18.04 ed è stato creato per semplificare la configurazione di iptables che era piuttosto complessa.
Quando si utilizza qualsiasi operazione, un firewall è una delle funzionalità più importanti da considerare per quanto riguarda la sicurezza del sistema. Un firewall è uno scudo o una barriera che esiste tra il tuo PC e Internet e blocca il traffico non autorizzato come l'accesso remoto al tuo sistema e aiuta a proteggere dal codice dannoso che attraversa costantemente Internet. Un firewall può essere hardware o software. Un firewall hardware è un sistema firewall autonomo che viene inserito nella rete per aggiungere uno strato protettivo controllando il flusso di traffico da e verso la rete e per impedire agli utenti di accedere a siti indesiderati. Un firewall software è integrato in sistemi operativi come Linux e Windows e aiuta a proteggere il tuo sistema da attacchi esterni.
Leggi anche :
- Come abilitare, negare, consentire, eliminare regole su Ubuntu UFW Firewall
Installazione di UFW
Per impostazione predefinita, Ubuntu 18.04 viene fornito con ufw installato. Tuttavia, per i sistemi precedenti, dovresti eseguire il comando seguente
apt-get install ufw
Per verificare se ufw è in esecuzione, esegui
systemctl status ufw
Se è in esecuzione, dovresti ottenere l'output di seguito
● ufw.service - Uncomplicated firewall
Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
Active: active (exited) since Tue 2018-04-10 22:03:30 UTC; 4min 1s ago
Process: 376 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SU
Main PID: 376 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
CGroup: /system.slice/ufw.service
Apr 10 22:03:30 ip-172-31-41-251 systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomple
Per verificare se è attivo o inattivo esegui
ufw status
Se è inattivo, otterrai l'output di seguito
Status: inactive
Per attivare UFW con il set di regole predefinito eseguito
ufw enable
Per disabilitare il firewall esegui
ufw disable
Impostazione delle regole ufw predefinite
Per impostare regole predefinite che consentano tutti i protocolli in uscita, accedi come root ed esegui
ufw default allow outgoing
Risultato
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)
Per negare tutte le connessioni in entrata, esegui
ufw default deny incoming
Risultato
Default outgoing policy changed to 'deny'
(be sure to update your rules accordingly)
I comandi precedenti consentiranno tutte le connessioni in uscita e negheranno o bloccheranno tutte le connessioni in entrata.
A questo punto, potresti voler abilitare il firewall, tuttavia prima di farlo, consenti prima ssh. Ciò impedisce la disconnessione dal server poiché in precedenza abbiamo specificato la negazione di tutte le connessioni in entrata.
Per consentire ssh, esegui
ufw allow 22/tcp
In uscita
Skipping adding existing rule
Skipping adding existing rule (v6)
L'accesso ssh può essere consentito anche dal nome del servizio,
ufw allow ssh
Se vuoi rimuovere la regola esegui
ufw delete allow 22/ssh
Per negare un servizio per nome esegui
ufw deny service-name
Ad esempio
ufw deny ssh
Per vedere tutti i servizi che possono essere consentiti o negati nel sistema, controlla il /etc/services
file.
cat /etc/services | less
Risultato di esempio
ftp-data 20/tcp
ftp 21/tcp
fsp 21/udp fspd
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp
telnet 23/tcp
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource # resource location
nameserver 42/tcp name # IEN 116
whois 43/tcp nicname
tacacs 49/tcp # Login Host Protocol (TACACS)
tacacs 49/udp
re-mail-ck 50/tcp # Remote Mail Checking Protocol
re-mail-ck 50/udp
domain 53/tcp # Domain Name Server
domain 53/udp
Avvio del firewall ufw
Per attivare il firewall accedi come root ed esegui il seguente comando:
ufw enable
Ti potrebbe essere richiesto con il seguente avviso
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Se selezioni sì, otterrai l'output di seguito
Firewall is active and enabled on system startup
Il firewall è ora attivo e si avvierà ad ogni avvio. Possiamo esaminare di nuovo le regole del firewall:
ufw status
L'output ora mostrerà lo stato del firewall più i servizi/porte consentiti
Risultato
ufw status active
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
Consenti connessioni in ufw
Puoi facilmente consentire la connessione in entrata su porta/intervallo, nome dell'applicazione, indirizzo IP/sottorete in ufw.
Dai un'occhiata agli esempi qui sotto.
a) Consentire applicazioni per nome o numero di porta/intervallo
ufw allow service-name
O
ufw allow port/tcp
Ad esempio
ufw allow ssh or ufw allow 22/tcp
ufw allow ftp or ufw allow 21/tcp
sudo ufw consenti 1500:2000/tcp
b) Consente l'indirizzo IP/sottoreti
I comandi seguenti consentono connessioni da IP o sottoreti specifici e possiamo anche utilizzare numeri di porta specifici.
Per consentire connessioni da un indirizzo IP specifico
ufw allow from 10.200.20.45
Per specificare un IP a cui è consentito connettersi a una porta specifica eseguita
ufw allow from 10.200.20.45 to any port 22
Quanto sopra consente all'indirizzo IP 10.200.20.45 di connettersi solo tramite ssh
Per consentire a una determinata sottorete di IP di connettersi al sistema, utilizzare la notazione CIDR per specificare una maschera di rete
ufw allow from 192.168.1.0/24
Quanto sopra consente agli IP da 192.168.1 a 192.168.1.254 di connettersi al sistema
Puoi anche specificare la porta di destinazione della sottorete
ufw allow from 192.168.1.0/24 to any port 22
Ciò implica che gli IP da 192.168.1 a 192.168.1.254 possono connettersi al sistema tramite la porta 22 che è ssh.
c) Consenti in base al nome dell'interfaccia
Se dobbiamo consentire le connessioni tramite il nome dell'interfaccia è possibile
ufw allow in on eth0 to any port 80
Come negare le connessioni in ufw
Per impostazione predefinita ufw è configurato per negare tutte le connessioni in entrata.
a) Indirizzo IP/sottorete
Se vogliamo bloccare l'accesso a un indirizzo IP specifico, possiamo farlo seguendo il comando:
ufw deny from 192.168.1.15
Questo bloccherà tutte le connessioni in entrata dall'host con indirizzo IP 192.168.1.15
Avanti, blocchiamo l'intera sottorete:
ufw deny from 150.165.125.0/24
Questo bloccherà tutte le connessioni provenienti da questa sottorete.
b) Nega porte e applicazioni
Per negare una porta o un servizio
ufw deny 80/tcp
O
ufw deny http
sudo ufw nega 1500:2000/tcp *Questo negherà gli intervalli di porte*
Eliminare e tenere traccia delle regole
Quando aggiungi molte regole, puoi tenerne traccia meglio visualizzandone i numeri. Puoi ottenere numeri con il seguente comando:
ufw status numbered
Risultato
ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 22 ALLOW IN Anywhere
[ 3] 80/tcp ALLOW IN Anywhere
[ 4] 53/tcp ALLOW IN Anywhere
[ 5] 22/tcp (v6) ALLOW IN Anywhere (v6)
[ 6] 22 (v6) ALLOW IN Anywhere (v6)
[ 7] 80/tcp (v6) ALLOW IN Anywhere (v6)
[ 8] 53/tcp (v6) ALLOW IN Anywhere (v6)
Diciamo che vogliamo eliminare le regole numero 2. Lo facciamo seguendo il comando:
ufw delete 2
Nota :
Dopo l'eliminazione della seconda regola nel firewall, la regola 3 sarà ora la nuova regola 2. Quindi, se desideri eliminare la regola 3 corrente, eliminerai utilizzando il numero 2.
ufw delete allow http
Reimpostare le regole
Se non sei soddisfatto delle regole attuali e vuoi ricominciare da capo, puoi farlo eseguendo
ufw reset
Registrazione e ricarica
Per abilitare la registrazione usa il seguente comando:
ufw logging on
Se vuoi disabilitare la registrazione per qualche motivo (non consigliato), puoi usare questo comando:
sudo ufw disconnessione
I registri sono per impostazione predefinita in /var/log/ufw.log
Per vederli in tempo reale, usa tail -f in questo modo:
tail -f /var/log/ufw.log /pre>
You will see all actions of firewall in that file. If you need to reload firewall for some reason, because you changed some config files manually, use following command.
ufw reload
Se vuoi vedere le regole aggiunte di recente
ufw show added
File di configurazione UFW
Per la maggior parte degli scenari, puoi utilizzare i comandi del terminale, ma in alcuni casi vorresti modificare direttamente i file di configurazione. L'ufw ha più file di configurazione, vale a dire:
/etc/ufw/before.rules
/etc/ufw/before6.rules
Questi due file contengono regole che vengono valutate prima di tutte le regole aggiunte dai comandi ufw. Quindi, se vuoi che una regola venga applicata prima, la vuoi lì. Il primo file è per ipv4 e il secondo è per v6
/etc/ufw/after.rules
/etc/ufw/after6.rules
Questi vengono valutati dopo le regole di comando ufw. Sono utili da usare se si desidera ignorare alcune regole e applicarle in ogni caso. Di nuovo, due file, per due versioni del protocollo IP attualmente in uso.
/etc/default/ufw
Qui abbiamo i moduli del kernel utilizzati da ufw, così come altre impostazioni generali. Puoi modificare qualsiasi di questi file di configurazione solo come root e puoi utilizzare qualsiasi editor di testo che ti piace.
Evita di aggiungere regole duplicate
Successivamente osserviamo il meccanismo contro le regole duplicate. Per prima cosa apriremo la porta 101
sudo ufw allow 100
Nota che il comando senza protocollo come sopra apre sia la porta UDP che TCP. Quindi eseguiamo di nuovo lo stesso comando per vedere cosa succede
ufw allow 100
Risultato
Skipping adding existing rule
Skipping adding existing rule (v6)
Non ci consente di aggiungere una regola duplicata. Va bene, ma c'è ancora la possibilità di aggiungere una regola duplicata, con questa serie di comandi:
ufw allow 101/udp
ufw allow 101/tcp
Dopo aver consentito sia TCP che UDP sulla porta 101, possiamo ancora aggiungere la porta 101 aperta per tutti i protocolli e questa è una regola duplicata poiché la porta 101 viene aperta due volte, una per ogni protocollo e una per tutti.
ufw allow 101
Questo lascia spazio all'errore e generalmente non è una buona pratica. Dobbiamo annullare tutti e tre i comandi con il comando ufw delete se vogliamo tornare all'impostazione predefinita per la porta 101.
Per chiudere alcune porte, esegui gli stessi comandi, invece consenti, digita nega.
In questo articolo, abbiamo trattato l'utilizzo di UFW, un firewall semplice utilizzato per consentire o limitare il traffico. È un firewall molto potente per regolare il traffico verso il tuo sistema. Sentiti libero di provare i comandi sul tuo sistema.