UFW: che cos'è esattamente?


13

Cos'è l'UFW? Penseresti che questa sia una domanda facile, ma più fonti leggo, meno diventa chiaro.

L'acronimo si traduce in FireWall semplice, come se in realtà implementasse un firewall stesso. E in effetti in molti luoghi viene definito firewall di per sé, come in questo articolo .

La pagina wiki della guida di Ubuntu su UFW afferma che UFW è uno strumento di configurazione per iptables. (A sua volta, la pagina della guida in linea sui firewall dice che iptables è il database delle regole del firewall e che è anche il firewall effettivo, come se un database sia un firewall, il che è ovviamente falso. E ovviamente 'iptables' è anche il nome di un programma.)

Se uww è uno strumento di configurazione, potremmo aspettarci che sia un programma che esegui per configurare qualcosa e, una volta fatto, esci con la configurazione stabilita. Questa è la posizione della risposta accettata da questa domanda: Uncomplicated FireWall (ufw) è un servizio?

Ma altre risposte su questa domanda non sono d'accordo - no, è un servizio. E infatti sulla mia macchina 18.04, vedo che ufw è in esecuzione come servizio! Perché diamine uno strumento di configurazione funziona come un servizio ?!

Inoltre, systemctl list-units --all --type=servicespettacoli ufw.serviceè loaded and active(e anche exited?!) Ancora ufw statusspettacoli inactive.

Cosa significa ufw status = inattivo?

  1. Che "il firewall" (qualunque cosa sia) è inattivo? Questo è ciò che suggerirebbe il documento della pagina man uww per "status".

  2. O significa che le regole configurate in ufw sono inattive (ma altre configurate in iptables sono attive)?

  3. O significa che ufw è iniziato all'avvio, ha instillato le sue regole in ipconfig (o ovunque vadano) in modo che siano ora in vigore, e ora uww non ha nulla da fare, quindi è inattivo?

Di particolare interesse: voglio seguire alcune istruzioni che richiedono di emettere alcuni comandi iptables, ma sono preoccupato che possano entrare in conflitto o essere sovrascritte dall'apparato uww.


2
iptables è il firewall. Contiene anche le regole, perché ovviamente è necessario, ma chiamarlo un 'database' lo sta allungando un po 'poiché il kernel non fornisce persistenza; caricarli all'avvio deve essere curato da alcuni strumenti come ufw.
Jan Hudec,

@JanHudec Vedo alcune persone parlare di iptables come se fosse il firewall, ma per quanto ne so, netfilter fornisce la funzionalità firewall, mentre iptables fornisce la data per netfilter. Mi piace il fatto che iptables contenga solo dati in memoria e quindi anche "database" sia fuorviante.
Gwideman,

Personalmente considererei netfilter come parte di iptables, ma potrei sbagliarmi in questo punto.
Jan Hudec,

Zanna ha modificato la mia domanda per riordinare cose come gli URL (grazie!), Ma ha sostituito "UFW" a tutte le istanze di "ufw". Ora credo che in minuscolo è il caso corretto (come mostrato nella manpages.ubuntu.com/manpages/xenial/en/man8/ufw.8.html e wiki.ubuntu.com/UncomplicatedFirewall , ma io non sono interessato a una modifica guerra a questo. Zanna per favore torna alle
lettere

Risposte:


21

ufw è un front-end per netfilter / iptables, il meccanismo Linux per instradare e filtrare il traffico Internet.

ufw è completamente opzionale ed è possibile creare firewall e tabelle di routing direttamente usando i comandi iptables. Alcune persone preferiscono la sintassi di ufw, che dovrebbe renderla un po 'più semplice.

di per sé non è il firewall, è uno strumento per impostare la configurazione di netfilter / iptables. È registrato come servizio perché deve essere eseguito ogni volta che si avvia la macchina. Non credo che rimanga residente in memoria dopo aver effettuato questa configurazione. "riavviando" il servizio semplicemente esegue nuovamente i suoi script. Non è insolito che le cose nelle distribuzioni Linux siano registrate come servizi anche se si tratta semplicemente di script che vengono eseguiti all'avvio o allo spegnimento senza rimanere nel mezzo.

Se usi ufw non puoi impostare le tue regole iptables usando i tuoi script, poiché verranno sovrascritte quando ufw imposta le sue. Ciò significa anche che uww può essere in conflitto con altri strumenti che impostano le regole del firewall.

Se sudo ufw statusrestituisce "inattivo", significa che ufw è stato disabilitato (e, ad esempio, non riapplicherà alcuna regola all'avvio). Devi assicurarti che ufw sia abilitato sudo ufw enable, anche se devi anche configurare le regole perché questo abbia un significato. Se sei sicuro di aver abilitato ufw ma restituisce "inattivo", potrebbero esserci altri problemi.

Si noti che "l'avvio" del servizio non abilita ufw, ma attiva solo lo script di avvio. Se ufw è disabilitato quando viene eseguito lo script di avvio, non farà nulla.

Puoi sapere se le tue regole del firewall sono state applicate in qualsiasi momento usando direttamente iptables:

sudo iptables -L
sudo ip6tables -L

1
Nota: personalmente non utilizzo ufw, utilizzo un pacchetto chiamato netfilter-persistent che ti permette di scrivere regole iptables native in un file e di farle riapplicare all'avvio. All'avvio, essenzialmente fa quello che fa: esegue uno script iniziale che applica la configurazione. La differenza è che non sta traducendo dalla propria sintassi semplificata, sta semplicemente inviando i comandi iptables direttamente a iptables.
thomasrutter,

Un sacco di cose buone lì. Grazie. Su questo: "Se usi ufw non puoi impostare le tue regole iptables usando i tuoi script, poiché verranno sovrascritte quando ufw imposta le sue." Uww elimina attivamente tutte le regole di iptables esistenti? Oppure stai solo dicendo con ufw nella foto, non puoi fare affidamento sui comandi / regole di iptables che hanno effetto perché potrebbero essere sovrascritti da ufw?
Gwideman,

Anche a Thomas: "netfilter-persistent"> si riferisce a iptables-persistent?
Gwideman,

Sì, è così che si chiamava. Se la tua versione di Ubuntu ha entrambe, allora il pacchetto persistente iptables sarà probabilmente solo un pacchetto di transizione per dare alle persone delle versioni precedenti un percorso di aggiornamento.
thomasrutter,

1
Scusate se vi ho confuso menzionando resolv.conf, stavo solo usando come esempio di un'altra configurazione di Ubuntu che potrebbe essere controllata da qualche altro servizio che ha la precedenza su qualsiasi modifica apportata direttamente. Non è collegato
thomasrutter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.