Un firewall correttamente funzionante è la parte più cruciale della sicurezza completa del sistema Linux. Per impostazione predefinita, la distribuzione Debian e Ubuntu viene fornita con uno strumento di configurazione del firewall chiamato UFW (Firewall semplice), è uno strumento da riga di comando più popolare e facile da usare per la configurazione e la gestione di un firewall su Ubuntu e Debian distribuzioni.
In questo articolo spiegheremo come installare e configurare un UFW firewall attivato Ubuntu e Debian distribuzioni.
Prima di iniziare con questo articolo, assicurati di aver effettuato l'accesso al tuo server Ubuntu o Debian con l'utente sudo o con l'account root. Se non hai un utente sudo, puoi crearne uno usando le seguenti istruzioni come utente root.
# nome utente adduser. # usermod -aG sudo username # su - username. $ sudo whoami.
Il UFW (Firewall semplice) dovrebbe essere installato di default in Ubuntu e Debian, in caso contrario, installalo usando il Gestore di pacchetti APT usando il seguente comando.
$ sudo apt install ufw.
Una volta completata l'installazione è possibile controllare lo stato di UFW digitando.
$ sudo ufw status verbose.
Alla prima installazione, il firewall UFW è disabilitato per impostazione predefinita, l'output sarà simile al seguente.
Stato: inattivo
È possibile attivare o abilitare il firewall UFW utilizzando il seguente comando, che dovrebbe caricare il firewall e consentirne l'avvio all'avvio.
$ sudo ufw abilita.
Per disabilitare il firewall UFW, utilizzare il seguente comando, che scarica il firewall e ne disabilita l'avvio all'avvio.
$ sudo ufw disabilita
Per impostazione predefinita, il firewall UFW nega tutte le connessioni in entrata e consente solo tutte le connessioni in uscita al server. Ciò significa che nessuno può accedere al tuo server, a meno che tu non apra specificamente la porta, mentre tutti i servizi o le applicazioni in esecuzione sul tuo server possono essere in grado di accedere alla rete esterna.
Le policy firewall UFW predefinite sono posizionate nel /etc/default/ufw
file e può essere modificato utilizzando il seguente comando.
$ sudo ufw default nega in entrata. $ sudo ufw default allow outgoing.
Quando si installa un pacchetto software utilizzando APT gestore di pacchetti, includerà un profilo dell'applicazione in /etc/ufw/applications.d
directory che definisce il servizio e contiene le impostazioni UFW.
Puoi elencare tutti i profili delle applicazioni disponibili sul tuo server usando il seguente comando.
$ sudo ufw elenco di app.
A seconda delle installazioni del pacchetto software sul sistema, l'output sarà simile al seguente:
Applicazioni disponibili: APACHE APACHE Full APACHE SECURE CUPS OpenSSH Postfix Postfix SMTPS Invio Postfix.
Se vuoi ottenere maggiori informazioni su un particolare profilo e regole definite puoi usare il seguente comando.
$ sudo ufw info app 'Apache'
Profilo: Apache. Titolo: Web Server Descrizione: Apache V2 è la prossima generazione dell'onnipresente web server Apache. Porte: 80/tcp.
Se il tuo server è configurato con IPv6, assicurati che il tuo UFW è configurato con IPv6 e IPv4 sostegno. Per verificarlo, apri il file di configurazione UFW usando il tuo editor preferito.
$ sudo vi /etc/default/ufw.
Allora assicurati “IPV6” è impostato per "sì"
nel file di configurazione come mostrato.
IPV6=sì.
Salva ed esci. Quindi riavvia il firewall con i seguenti comandi:
$ sudo ufw disabilita. $ sudo ufw abilita.
Se hai abilitato il firewall UFW ormai, bloccherebbe tutte le connessioni in entrata e se sei connesso al tuo server tramite SSH da una posizione remota, non sarai più in grado di connetterlo di nuovo.
Abilitiamo le connessioni SSH al nostro server per impedire che ciò accada utilizzando il seguente comando:
$ sudo ufw allow ssh.
Se stai utilizzando una porta SSH personalizzata (ad esempio porta 2222), quindi è necessario aprire quella porta sul firewall UFW utilizzando il seguente comando.
$ sudo ufw allow 2222/tcp.
Per bloccare tutte le connessioni SSH, digita il seguente comando.
$ sudo ufw nega ssh/tcp. $ sudo ufw nega 2222/tcp [Se si utilizza la porta SSH personalizzata]
Puoi anche aprire una porta specifica nel firewall per consentire le connessioni tramite essa a un determinato servizio. Ad esempio, se si desidera configurare un server Web in ascolto sulla porta 80 (HTTP) e 443 (HTTPS) per impostazione predefinita.
Di seguito sono riportati alcuni esempi di come consentire le connessioni in entrata ai servizi Apache.
$ sudo ufw allow http [Per nome del servizio] $ sudo ufw allow 80/tcp [Per numero di porta] $ sudo ufw allow 'Apache' [Per profilo applicazione]
$ sudo ufw consenti https. $ sudo ufw allow 443/tcp. $ sudo ufw allow 'Apache Secure'
Supponendo che tu abbia alcune applicazioni che vuoi eseguire su un intervallo di porte (5000-5003), puoi aggiungere tutte queste porte usando i seguenti comandi.
sudo ufw allow 5000:5003/tcp. sudo ufw allow 5000:5003/udp.
Se vuoi consentire le connessioni su tutte le porte da un indirizzo IP specifico 192.168.56.1, quindi è necessario specificare da prima l'indirizzo IP.
$ sudo ufw consenti da 192.168.56.1.
Per consentire la connessione su una porta specifica (ad esempio porta 22) dalla macchina di casa con indirizzo IP di 192.168.56.1, quindi devi aggiungere qualsiasi porto e il numero di porta dopo l'indirizzo IP come mostrato.
$ sudo ufw consente da 192.168.56.1 a qualsiasi porta 22.
Per consentire connessioni per particolari indirizzi IP che vanno da 192.168.1.1 a 192.168.1.254 portare 22 (SSH), eseguire il comando seguente.
$ sudo ufw consente da 192.168.1.0/24 a qualsiasi porta 22.
Per consentire connessioni a un'interfaccia di rete specifica eth2 per un porto particolare 22 (SSH), eseguire il comando seguente.
$ sudo ufw consente l'accesso su eth2 a qualsiasi porta 22.
Per impostazione predefinita, tutte le connessioni in entrata sono bloccate, a meno che tu non abbia specificamente aperto la connessione su UFW. Ad esempio, hai aperto le porte 80 e 443 e il tuo server web è sotto attacco dalla rete sconosciuta 11.12.13.0/24.
Per bloccare tutte le connessioni da questo particolare 11.12.13.0/24 intervallo di rete, è possibile utilizzare il seguente comando.
$ sudo ufw nega dal 1.12.13.0/24.
Se vuoi solo bloccare le connessioni sulle porte 80 e 443, puoi usare i seguenti comandi.
$ sudo ufw nega da 11.12.13.0/24 a qualsiasi porta 80. $ sudo ufw negare da 11.12.13.0/24 a qualsiasi porta 443.
Ci sono 2 modi per eliminare le regole UFW, by numero della regola e da regola reale.
Per eliminare una regola UFW utilizzando numero della regola, per prima cosa devi elencare le regole per numeri usando il seguente comando.
$ sudo ufw stato numerato.
Stato: attivo A Azione da -- [ 1] 22/tcp ALLOW IN Anywhere. [ 2] 80/tcp CONSENTI IN Ovunque.
Per eliminare il numero della regola 1, usa il seguente comando.
$ sudo ufw delete 1.
Il secondo metodo consiste nell'eliminare una regola utilizzando il pulsante regola reale, ad esempio per eliminare una regola, specificare il numero di porta con protocollo come mostrato.
$ sudo ufw delete allow 22/tcp.
È possibile eseguire qualsiasi comando ufw senza apportare modifiche al firewall di sistema utilizzando il --funzionamento a secco
flag, questo mostra semplicemente i cambiamenti che dovrebbero accadere.
$ sudo ufw --dry-run enable.
Per un motivo o per l'altro, se desideri eliminare/reimpostare tutte le regole del firewall, digita i seguenti comandi, ripristinerà tutte le modifiche e ricomincerà da capo.
$ sudo ufw reset. $ sudo stato ufw.
Il UFW il firewall può riuscire a fare tutto ciò che fa iptables. Questo può essere fatto con diversi insiemi di file di regole, che non sono altro che semplici iptables-restore file di testo.
L'ottimizzazione del firewall UFW o l'aggiunta di ulteriori comandi iptables non sono consentiti tramite il comando ufw, è solo questione di modificare i seguenti file di testo
Questo è tutto! UFW è un eccellente front-end per iptables con un'interfaccia user friendly per definire regole complesse con un singolo comando ufw.
Se hai domande o pensieri da condividere su questo articolo ufw, usa il modulo di commento qui sotto per contattarci.