Debian

Best practice per la configurazione del firewall Debian per la sicurezza

Best practice per la configurazione del firewall Debian per la sicurezza

Criteri firewall restrittivi e permissivi

Oltre alla sintassi che devi conoscere per gestire un firewall, dovrai definire le attività del firewall per decidere quale policy verrà implementata. Ci sono 2 politiche principali che definiscono un comportamento del firewall e diversi modi per implementarle.

Quando aggiungi regole per accettare o rifiutare pacchetti, origini, destinazioni, porte specifici, ecc. le regole determineranno cosa accadrà con il traffico o i pacchetti che non sono classificati nelle regole del firewall.

Un esempio estremamente semplice potrebbe essere: quando definisci se inserisci nella whitelist o nella blacklist l'IP x.X.X.x, cosa succede con il resto??.

Supponiamo di autorizzare il traffico proveniente dall'IP x.X.X.X.

UN permissivo policy significherebbe tutti gli indirizzi IP che non sono x.X.X.x può connettersi, quindi y.sì.sì.y o z.z.z.z può connettersi. UN restrittivo la policy rifiuta tutto il traffico proveniente da indirizzi che non sono x.X.X.X.

In breve, un firewall secondo il quale non può passare tutto il traffico o i pacchetti che non sono definiti tra le sue regole è restrittivo. Un firewall in base al quale è consentito tutto il traffico o i pacchetti che non sono definiti tra le sue regole è permissivo.

Le politiche possono essere diverse per il traffico in entrata e in uscita, molti utenti tendono a utilizzare una politica restrittiva per il traffico in entrata mantenendo una politica permissiva per il traffico in uscita, questa varia a seconda dell'uso del dispositivo protetto.

Iptables e UFW

Mentre Iptables è un frontend per consentire agli utenti di configurare le regole del firewall del kernel, UFW è un frontend per configurare Iptables, non sono concorrenti effettivi, il fatto è che UFW ha portato la capacità di configurare rapidamente un firewall personalizzato senza imparare la sintassi ostile, tuttavia alcune regole possono non essere applicato tramite UFW, regole specifiche per prevenire attacchi specifici.

Questo tutorial mostrerà regole che considero tra le migliori pratiche firewall applicate principalmente ma non solo con UFW.

Se non hai installato UFW, installalo eseguendo:

# apt install ufw

Iniziare con UFW:

Per iniziare abilitiamo il firewall all'avvio eseguendo:

# sudo ufw enable

Nota: se richiesto è possibile disabilitare il firewall utilizzando la stessa sintassi sostituendo “enable” con “disable” (sudo ufw disable).

In qualsiasi momento, sarai in grado di controllare lo stato del firewall con dettaglio eseguendo:

# sudo ufw status verbose

Come puoi vedere nell'output la politica predefinita per il traffico in entrata è restrittiva mentre per il traffico in uscita la politica è permissiva, la colonna "disabilitato (instradato)" significa che il routing e l'inoltro sono disabilitati.

Per la maggior parte dei dispositivi che considero una politica restrittiva fa parte delle migliori pratiche firewall per la sicurezza, quindi iniziamo rifiutando tutto il traffico tranne quello che abbiamo definito come accettabile, un firewall restrittivo:

# sudo ufw default nega in arrivo

Come puoi vedere, il firewall ci avverte di aggiornare le nostre regole per evitare errori quando serviamo i client che si connettono a noi. Il modo per fare lo stesso con Iptables potrebbe essere:

# iptables -A INPUT -j DROP

Il negare regola su UFW interromperà la connessione senza informare l'altra parte che la connessione è stata rifiutata, se vuoi che l'altra parte sappia che la connessione è stata rifiutata puoi usare la regola "rifiutare" anziché.

# sudo ufw default rifiuta in arrivo

Una volta bloccato tutto il traffico in entrata indipendentemente da qualsiasi condizione, iniziamo a impostare regole discriminanti per accettare ciò che vogliamo che venga accettato in modo specifico, ad esempio, se stiamo configurando un server web e vuoi accettare tutte le petizioni che arrivano al tuo server web, in porta 80, eseguire:

# sudo ufw consenti 80

Puoi specificare un servizio sia per numero di porta che per nome, ad esempio puoi usare il prot 80 come sopra o il nome http:

Oltre a un servizio puoi anche definire una fonte, ad esempio puoi negare o rifiutare tutte le connessioni in entrata ad eccezione di un IP di origine.

# sudo ufw allow from

Regole comuni di iptables tradotte in UFW:

Limitare rate_limit con UFW è abbastanza semplice, questo ci consente di prevenire abusi limitando il numero che ogni host può stabilire, con UFW che limita la velocità per ssh sarebbe:

# limite sudo ufw da qualsiasi porta 22
# sudo ufw limit ssh/tcp

Per vedere come UFW ha semplificato il compito di seguito, hai una traduzione dell'istruzione UFW sopra per istruire lo stesso:

# sudo iptables -A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NUOVO
-m recente --set --name DEFAULT --mask 255.255.255.0 --rsource
#sudo iptables -A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NUOVO
-m recente --update --seconds 30 --hitcount 6 --name DEFAULT --mask 255.255.255.255
--rsource -j ufw-user-limit
# sudo iptables -A ufw-user-input -p tcp -m tcp --dport 22 -j ufw-user-limit-accept

Le regole scritte sopra con UFW sarebbero:

Spero che tu abbia trovato utile questo tutorial su Debian Firewall Setup Best Practices for Security.

Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...
Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...