I firewall girano sempre nello spazio utente?

1

Esistono molte soluzioni firewall per il mondo su diversi sistemi operativi: iptables, pf, ipfw.

La mia domanda è: i firewall vengono eseguiti nello spazio del kernel o tutti vengono eseguiti nello spazio utente? (in generale, non solo quelli citati)

    
posta evachristine 27.05.2014 - 13:11
fonte

5 risposte

2

Dipende dalla tua definizione di firewall, e tu sei la definizione di run .

L'attuale intercettazione del pacchetto viene eseguita nello spazio del kernel, prima che i pacchetti vengano visti da qualsiasi programma utente. Lo stack di rete si trova nel kernel, quindi anche il filtro su quello stack di rete deve essere nel kernel. Potresti creare uno stack di rete in userspace, ma è molto lavoro senza vantaggi reali, e nessuno lo fa più.

Quindi, con questa definizione, tutti i firewall moderni funzionano nello spazio del kernel.

Tranne che esistono programmi userspace per la gestione delle regole del firewall. La parola iptables si riferisce a volte al componente "netfilter" del kernel, e anche un programma userspace chiamato iptables per la gestione delle regole di netfilter. Ci sono storie simili per altri sistemi operativi.

Ma diventa ancora più fangoso perché la maggior parte dei sistemi operativi moderni supporta la possibilità di inviare pacchetti a uno strumento usespace per ispezione, modifica, ecc. Così mentre l'intercettazione iniziale avviene nel kernel, il kernel esternalizza parte per le attività del firewall per i programmi dello spazio utente.

E ancora meno chiaro quando si tratta di ciò che si qualifica come "firewall". Da un punto di vista purista, un firewall viene eseguito a livello 3 e può eseguire il monitoraggio dello stato di base per TCP e può anche eseguire la scansione delle associazioni di porte FTP, ma non sta analizzando le richieste HTTP. Questo non vuol dire che una scatola che hai designato come "il firewall" non possa farlo, comunque. Non è raro associare un dispositivo "firewall" con un proxy HTTP trasparente e causare tutti i tipi di mal di testa per gli utenti nel nome della sicurezza. Questo, ovviamente, è sicuramente non nel kernel. Questo non vuol dire che non potrebbe essere . Ma nessuno lo fa.

: oltre a iptables , c'è anche ebtables , che fa la stessa cosa ma per i frame ethernet.

    
risposta data 27.05.2014 - 22:15
fonte
2

Dipende, la maggior parte del software firewall utilizza le interfacce a livello del kernel disponibili per tracciare le connessioni, ma la gestione e i set di regole effettivi sono definiti nello spazio utente.

    
risposta data 27.05.2014 - 13:18
fonte
1

La maggior parte dei firewall gira nello spazio del kernel. So che iptables e pf funzionano nello spazio del kernel, e puoi agganciare le applicazioni dello spazio utente per fare magie aggiuntive sul traffico ispezionato.

Ad esempio, puoi configurare iptables per inviare pacchetti a un processo userspace come gli id suricata usando NFQUEUE.

Gli altri firewall (Check Point) filtrano i pacchetti prima che raggiungano lo stack di rete del sistema operativo. Questo per aumentare le prestazioni di un firewall, e iptables non è davvero interessante per il software Check Point in quanto hanno il loro firewall.

    
risposta data 27.05.2014 - 13:22
fonte
0

I firewall possono essere eseguiti su entrambi gli spazi utente (Ring 3 OR Ring 0) tuttavia Ring 0 è preferito in quanto i firewall possono osservare tutte le connessioni di rete o le connessioni in entrata prima che un malware lo avvii o bypassa il firewall utilizzando funzioni di rete di livello inferiore (esempio LSP. )

I firewall usano gli sniffer di rete per rilevare euristicamente il malware, che può essere eseguito su Usermode, ma altri firewall usano le deviazioni per intercettare tutte le attività di rete e analizzarle e questo normalmente viene eseguito sul kernel in quanto i malware non possono bypassarne le deviazioni o addirittura sganciare esso.

Quindi per concludere possono correre su qualsiasi anello o su entrambi.

    
risposta data 27.05.2014 - 14:56
fonte
0

Dipende dalle funzionalità di un firewall, in particolare dalla profondità dell'ispezione:

  • i filtri di pacchetti come iptables vengono eseguiti nello spazio del kernel, ma si preoccupano principalmente dell'origine e della destinazione e non controllano il contenuto (sì, possono farlo un po ', ma questo di solito è facilmente aggirabile)
  • IDS come snort, bro o suricata vengono eseguiti nello spazio utente. Sebbene non siano strettamente firewall, possono essere utilizzati per ispezionare il traffico e causare il blocco delle connessioni ecc.
  • I gateway a livello di applicazione (ad esempio i proxy) vengono eseguiti nello spazio utente. Sono in grado non solo di ispezionare i dati, ma di modificarli, ad es. filtrare cattivo traffico o normalizzare costrutti non comuni e quindi potenzialmente dannosi. Uno scanner antivirus, che fa parte della maggior parte dei firewall aziendali, viene eseguito anche nello spazio utente.

Solo un esempio: Sophos UTM utilizza iptables come filtro del pacchetto (kernel), ma usa anche un proxy HTTP (spazio utente) e un IDS (snort, anche lo spazio utente) per registrare o filtrare potenziali problemi.

In sintesi, nello spazio del kernel di solito si limita a filtrare semplicemente per sorgente e destinazione, le cose più complesse sono fatte nello spazio dell'utente ma potrebbero "parlare" allo spazio del kernel per bloccare connessioni specifiche.

    
risposta data 27.05.2014 - 21:17
fonte

Leggi altre domande sui tag