Politiche di firewall restrittivo vs permissive
Oltre alla sintassi devi sapere per gestire un firewall, dovrai definire le attività del firewall per decidere quale politica verrà implementata. Esistono 2 politiche principali che definiscono un comportamento del firewall e diversi modi per implementarli.
Quando si aggiungono regole per accettare o rifiutare pacchetti, fonti, destinazioni, porti, ecc. Le regole determineranno cosa accadrà con il traffico o i pacchetti che non sono classificati nelle regole del firewall.
Un esempio estremamente semplice sarebbe: quando si definisce se la lista bianca o la lista nera dell'IP X.X.X.x, cosa succede con il resto?.
Supponiamo che il traffico della whitelist provenga dall'IP X.X.X.X.
UN permissivo La politica significherebbe tutti gli indirizzi IP che non sono x.X.X.x può connettersi, quindi y.y.y.y o z.z.z.Z può connettersi. UN restrittivo La politica rifiuta tutto il traffico proveniente da indirizzi che non sono x.X.X.X.
In breve, un firewall secondo il quale tutto il traffico o i pacchetti che non sono definiti tra le sue regole non è permesso di passare restrittivo. È consentito un firewall secondo il 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 arrivo e in uscita, molti utenti tendono a utilizzare una politica restrittiva per il traffico in arrivo mantenendo una politica permissiva per il traffico in uscita, questo varia a seconda dell'uso del dispositivo protetto.
Iptables e ufw
Mentre iptables è un frontend per gli utenti per configurare le regole del firewall del kernel, UFW è un frontend per configurare iptables, non sono reali concorrenti, il fatto è che UFW ha portato la capacità di configurare rapidamente un firewall personalizzato senza imparare la sintassi ostile, ma alcune regole possono essere applicato tramite UFW, regole specifiche per prevenire attacchi specifici.
Questo tutorial mostrerà le regole che considero tra le migliori pratiche di firewall applicate principalmente ma non solo con UFW.
Se non hai installato UFW, installalo eseguendo:
# APT Installa UFW
Iniziare con UFW:
Per iniziare abiliriamo il firewall all'avvio eseguendo:
# sudo ufw abilita
Nota: Se necessario, è possibile disabilitare il firewall utilizzando la stessa sintassi in sostituzione di "abilita" per "disabilita" (sudo UFW disabilita).
In qualsiasi momento, sarai in grado di controllare lo stato del firewall con verbosità eseguendo:
# sudo ufw status verbose
Come puoi vedere nell'output, la politica predefinita per il traffico in arrivo è restrittiva mentre per il traffico in uscita la politica è permissiva, la colonna "disabilitata (instradata)" significa che il routing e l'inoltro sono disabilitati.
Per la maggior parte dei dispositivi considero una politica restrittiva fa parte delle migliori pratiche di firewall per la sicurezza, quindi iniziano rifiutando tutto il traffico tranne quello che abbiamo definito accettabile, un firewall restrittivo:
# sudo ufw predefinito negano in arrivo
Come puoi vedere, il firewall ci avverte di aggiornare le nostre regole per evitare guasti quando si servono i clienti che ci connettono. Il modo per fare lo stesso con iptables potrebbe essere:
# iptables -a input -j drop
IL negare La regola su UFW rilascia la connessione senza informare l'altro lato che la connessione è stata rifiutata, se si desidera che l'altro lato sappia che la connessione è stata rifiutata, puoi usare la regola "rifiutare" Invece.
# sudo UFW RIPEGNIMENTO DEI PRESEZZA
Una volta bloccato tutto il traffico in arrivo indipendentemente da qualsiasi condizione, inizia a impostare regole discriminanti per accettare ciò che vogliamo essere accettati in modo specifico, ad esempio, se stiamo impostando un server Web e si desidera accettare tutte le petizioni che arrivano sul tuo server web, Porta 80, Esegui:
# sudo ufw consenti 80
È possibile specificare un servizio sia per numero di porta o nome, ad esempio è possibile utilizzare il prot 80 come sopra o il nome http:
Inoltre, a un servizio è anche possibile definire una fonte, ad esempio, è possibile negare o rifiutare tutte le connessioni in arrivo ad eccezione di un IP di origine.
# sudo ufw consente
Regole iptables comuni tradotte in UFW:
Limitare rate_limit con UFW è abbastanza semplice, questo ci consente di prevenire l'abuso limitando il numero che ogni host può stabilire, con UFW che limita la tariffa per SSH:
# SUDO UFW Limite da qualsiasi porta 22
# sudo UFW Limit SSH/TCP
Per vedere come UFW ha reso facile l'attività di seguito hai una traduzione dell'istruzione UFW sopra per istruire lo stesso:
# sudo iptables -a ufw -uker -input -p tcp -m tcp -dport 22 -m conntrack -ctstate nuovo
-m recente -set --name default -maschera 255.255.255.0 - -rsource
#sudo iptables -a ufw -uker -input -p tcp -m tcp -dport 22 -m Conntrack -ctstate new
-m recente -aggiornamento -secondi 30 -hitCount 6 -NAME Default -Maschera 255.255.255.255
--rsource -j ufw-uker-limit
# sudo iptables -a ufw-user-input -p tcp -m tcp-dport 22 -j ufw-uker-limit-accecept
Le regole scritte sopra con UFW sarebbero:
Spero che tu abbia trovato questo tutorial su Debian Firewall Setup Best Practices for Security utile.