In che modo un software firewall intercetta le comunicazioni di rete?

5

Ho un'idea di base su cosa sia un filtro di pacchetti basato su software e non sono sicuro che sia del tutto preciso. In sostanza, un filtro di pacchetti è un modulo del kernel caricabile che viene inserito nello stack di rete tra il livello di rete e il livello di trasporto e dice al kernel " invece di inviare i pacchetti in entrata al livello di trasporto, inviarli prima a me, e Deciderò se inoltrarli o meno. Inoltre, fare la stessa cosa con i pacchetti in uscita. "

Le mie due domande sono:

  1. La mia idea è accurata,
  2. In che modo il filtro dei pacchetti ottiene il kernel per ascoltarlo e bypassare il normale comportamento di inoltro dei pacchetti, inviando invece tutti i pacchetti al filtro?

Sono curioso di sapere come un tale firewall sarebbe effettivamente implementato (ad un livello astratto, sono consapevole che potrei semplicemente guardare il codice sorgente per un firewall, ma sarebbe piuttosto noioso).

    
posta Zen Hacker 27.12.2015 - 15:14
fonte

2 risposte

2

Non è il filtro di pacchetti a far sì che il kernel lo ascolti, è il kernel che affida i dati di rete al filtro dei pacchetti.

Il filtro dei pacchetti e il kernel devono essere compatibili, tecnicamente parlando il kernel deve offrire gli hook specifici usati dal filtro pacchetti per fare il suo lavoro.

Su Linux, per esempio, dietro il front-end iptable scoprirai che il kernel Linux offre hook che permettono il framework Netfilter per registrare le funzioni di callback:

  • Se il firewall non è abilitato, non ci sarà alcuna callback registrata, quindi il kernel gestirà tutto automaticamente,
  • Se il firewall è abilitato, Netfilter avrà registrato le sue funzioni di callback in modo che il kernel possa chiamarle quando appropriato.
risposta data 28.12.2015 - 14:30
fonte
0

I segnali elettrici trasmessi lungo i fili RX / TX vengono letti dalla scheda di rete e tradotti / trasmessi verso l'alto lo stack nello spazio del kernel dove viene interpretato da netfilter. Se lsmod, puoi trovare i moduli del kernel che fanno questo. Gli hook di Netfilter forniscono un modo per passare dallo spazio del kernel ai programmi dello spazio utente.

Ormai è piuttosto consumato, quindi il concetto di firewall è un set di regole basato su filtri che può interagire con il dispositivo a pacchetto.

    
risposta data 28.12.2015 - 16:03
fonte

Leggi altre domande sui tag