GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare un firewall con UFW su Debian 9

Debian include diversi pacchetti che forniscono strumenti per la gestione di un firewall con iptables installato come parte del sistema di base. Può essere complicato per i principianti imparare a utilizzare lo strumento iptables per configurare e gestire correttamente un firewall, ma UFW lo semplifica.

UFW (Uncomplicated Firewall) è un front-end intuitivo per la gestione delle regole del firewall iptables e il suo obiettivo principale è rendere la gestione di iptables più semplice o, come dice il nome, semplice.

In questo tutorial, ti mostreremo come configurare un firewall con UFW su Debian 9.

Prerequisiti #

Prima di procedere con questo tutorial, assicurati che l'utente a cui hai effettuato l'accesso disponga dei privilegi sudo.

Installa UFW #

UFW non è installato per impostazione predefinita in Debian 9. È possibile installare ufw pacchetto digitando:

sudo apt install ufw

Verifica stato UFW #

Una volta completato il processo di installazione, puoi controllare lo stato di UFW con il seguente comando:

sudo ufw status verbose

L'output sarà simile a questo:

Status: inactive

UFW è disabilitato per impostazione predefinita. L'installazione non attiverà automaticamente il firewall per evitare un blocco dal server.

Se UFW è attivato, l'output sarà simile al seguente:

Politiche predefinite UFW #

Per impostazione predefinita, UFW bloccherà tutte le connessioni in entrata e consentirà tutte le connessioni in uscita. Ciò significa che chiunque tenti di accedere al tuo server non sarà in grado di connettersi a meno che tu non apra specificamente la porta, mentre tutte le applicazioni e i servizi in esecuzione sul tuo server potranno accedere al mondo esterno.

Le politiche predefinite sono definite in /etc/default/ufw file e può essere modificato utilizzando il sudo ufw default <policy> <chain> comando.

I criteri del firewall sono la base per la creazione di regole più dettagliate e definite dall'utente. Nella maggior parte dei casi, le politiche predefinite UFW iniziali sono un buon punto di partenza.

Profili applicazione #

Quando si installa un pacchetto con apt aggiungerà un profilo dell'applicazione a /etc/ufw/applications.d directory che descrive il servizio e contiene le impostazioni UFW.

Per elencare tutti i profili delle applicazioni disponibili sul tuo sistema, digita:

sudo ufw app list

A seconda dei pacchetti installati sul tuo sistema, l'output sarà simile al seguente:

Available applications:
  DNS
  IMAP
  IMAPS
  OpenSSH
  POP3
  POP3S
  Postfix
  Postfix SMTPS
  Postfix Submission
  ...

Per trovare ulteriori informazioni su un profilo specifico e sulle regole incluse, utilizza il comando seguente:

sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp

L'output sopra ci dice che il profilo OpenSSH apre la porta 22 .

Consenti connessioni SSH #

Prima di abilitare il firewall UFW, dobbiamo consentire le connessioni SSH in entrata.

Se ti connetti al tuo server da una posizione remota, come è quasi sempre il caso, e abiliti il ​​firewall UFW prima di consentire esplicitamente le connessioni SSH in entrata, non sarai più in grado di connetterti al tuo server Debian.

Per configurare il firewall UFW per consentire le connessioni SSH in entrata, esegui il comando seguente:

sudo ufw allow OpenSSH
Rules updated
Rules updated (v6)

Se il server SSH è in ascolto su una porta diversa dalla porta predefinita 22, dovrai aprire quella porta.

Ad esempio, il tuo server ssh è in ascolto sulla porta 8822 , puoi utilizzare il seguente comando per consentire le connessioni su quella porta:

sudo ufw allow 8822/tcp

Abilita UFW #

Ora che il tuo firewall UFW è configurato per consentire le connessioni SSH in entrata, puoi abilitarlo eseguendo:

sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Sarai avvisato che l'abilitazione del firewall potrebbe interrompere le connessioni ssh esistenti, basta digitare y e premi Enter .

Consenti connessioni su altre porte #

A seconda delle applicazioni in esecuzione sul tuo server e delle tue esigenze specifiche, dovrai anche consentire l'accesso in entrata ad altre porte.

Di seguito sono riportati alcuni esempi di come consentire connessioni in entrata ad alcuni dei servizi più comuni:

Apri porta 80 - HTTP #

Le connessioni HTTP possono essere consentite con il seguente comando:

sudo ufw allow http

Invece di http profilo, puoi utilizzare il numero di porta, 80 :

sudo ufw allow 80/tcp

Apri porta 443 - HTTPS #

Le connessioni HTTPS possono essere consentite con il seguente comando:

sudo ufw allow https

Per ottenere lo stesso invece di https puoi usare il numero di porta, 443 :

sudo ufw allow 443/tcp

Apri la porta 8080 #

Se esegui Tomcator qualsiasi altra applicazione in ascolto sulla porta 8080, puoi consentire le connessioni in entrata con:

sudo ufw allow 8080/tcp

Consenti intervalli di porte #

Con UFW puoi anche consentire l'accesso agli intervalli di porte. Quando si consentono intervalli di porte con UFW, è necessario specificare il protocollo, tcp o udp .

Ad esempio, per consentire le porte da 7100 a 7200 su entrambi tcp e udp , esegui il comando seguente:

sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udp

Consenti indirizzi IP specifici #

Se desideri consentire l'accesso su tutte le porte da un indirizzo IP specifico, utilizza ufw allow from comando seguito dall'indirizzo IP:

sudo ufw allow from 64.63.62.61

Consenti indirizzi IP specifici su una porta specifica #

Per consentire l'accesso su una porta specifica, diciamo la porta 22 dalla tua macchina di lavoro con indirizzo IP di 64.63.62.61, usa il seguente comando:

sudo ufw allow from 64.63.62.61 to any port 22

Consenti sottoreti #

Il comando per consentire la connessione da una sottorete di indirizzi IP è lo stesso di quando si utilizza un singolo indirizzo IP, l'unica differenza è che è necessario specificare la netmask. Ad esempio, se desideri consentire l'accesso per indirizzi IP compresi tra 192.168.1.1 e 192.168.1.254 sulla porta 3360 (MySQL) eseguiresti il ​​seguente comando:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Consenti connessioni a un'interfaccia di rete specifica #

Per consentire l'accesso su una porta specifica, diciamo la porta 3360 su una specifica interfaccia di rete eth2 , usa il allow in on comando seguito dal nome dell'interfaccia:

sudo ufw allow in on eth2 to any port 3306

Negare connessioni #

Il criterio predefinito per tutte le connessioni in entrata è impostato su deny il che significa che UFW bloccherà tutte le connessioni in entrata a meno che tu non apra specificamente la connessione.

Supponiamo che tu abbia aperto le porte 80 e 443 e il tuo server è sotto attacco dal 23.24.25.0/24 Rete. Per negare tutte le connessioni da 23.24.25.0/24 , esegui il comando seguente:

sudo ufw deny from 23.24.25.0/24

Se vuoi solo negare l'accesso alle porte 80 e 443 da 23.24.25.0/24 useresti:

sudo ufw deny from 23.24.25.0/24 to any port 80sudo ufw deny from 23.24.25.0/24 to any port 443

Scrivere regole di negazione equivale a scrivere regole di autorizzazione, devi solo sostituire allow con deny .

Elimina regole UFW #

Esistono due modi diversi per eliminare le regole UFW, per numero di regola e specificando la regola effettiva.

Eliminare le regole UFW in base al numero di regola è più semplice, soprattutto se non conosci UFW.

Per eliminare una regola in base a un numero di regola, devi prima trovare il numero della regola che desideri eliminare. Per farlo, esegui il seguente comando:

sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

Ad esempio per eliminare la regola numero 3, la regola che consente le connessioni alla porta 8080, inserire:

sudo ufw delete 3

Il secondo metodo consiste nell'eliminare una regola specificando la regola effettiva. Ad esempio, se hai aggiunto una regola per aprire la porta 8069 puoi eliminarlo con:

sudo ufw delete allow 8069

Disabilita UFW #

Se per qualsiasi motivo vuoi interrompere UFW e disattivare tutte le regole esegui:

sudo ufw disable

Successivamente, se vuoi riattivare UTF e attivare tutte le regole, digita:

sudo ufw enable

Ripristina UFW #

Il ripristino di UFW disabiliterà UFW ed eliminerà tutte le regole attive. Questo è utile se vuoi annullare tutte le modifiche e ricominciare da capo.

Per ripristinare UFW è sufficiente digitare il seguente comando:

sudo ufw reset

Debian
  1. Impostare un IP statico su Debian 11 - Come farlo?

  2. Come configurare un firewall con UFW in Ubuntu \ Debian

  3. Come configurare un firewall con UFW su Ubuntu 16.04

  4. Come configurare un firewall con CSF su Debian 9

  5. Come configurare un firewall con UFW su Debian 9

Come configurare ModSecurity con Nginx su Debian/Ubuntu

Come configurare un firewall con GUFW su Linux

Come configurare UFW Firewall su Debian 10

Come configurare UFW Firewall su Debian 11

Come configurare un firewall con UFW su Debian 11

Come configurare il firewall UFW su Linux