mitigare il DNS poisoning con iptables
  Home FAQ Contact Sign in
it.comp.sicurezza.varie only
 
Advanced search
POPULAR GROUPS

more...

it.comp.sicurezza.varie Profile…
 Up
mitigare il DNS poisoning con iptables         


Author: fax
Date: Jul 28, 2008 03:29

Ciao
vi segnalo questo post su come mitigare il DNS poisoning randomizzando
le porte con iptables.

http://www.cipherdyne.org/blog/2008/07/mitigating-dns-cache-poisoning-attacks-with...

[prima]
# nmap --source-port 44444 -P0 -p 53 -sU 22.2.2.2 33.3.3.3

19:26:19.625637 IP 11.1.1.1.44444 > 22.2.2.2.53: [|domain]
19:26:19.625790 IP 11.1.1.1.44444 > 33.3.3.3.53: [|domain]
19:26:19.729520 IP 11.1.1.1.44444 > 33.3.3.3.53: [|domain]
19:26:20.626527 IP 11.1.1.1.44444 > 22.2.2.2.53: [|domain]

[iptables]
# iptables -t nat -I POSTROUTING 1 -p udp -s 11.1.1.1 --dport 53 \
-j SNAT --to 11.1.1.1 --random

[dopo]
# nmap
--source-port 44444 -P0 -p 53 -sU 22.2.2.2 33.3.3.3

19:28:05.613637 IP 11.1.1.1.9374 > 22.2.2.2.53: [|domain]
19:28:05.613792 IP 11.1.1.1.54743 > 33.3.3.3.53: [|domain]
19:28:05.717536 IP 11.1.1.1.54743 > 33.3.3.3.53: [|domain]
19:28:06.617553 IP 11.1.1.1.9374 > 22.2.2.2.53: [|domain]
16 Comments
Re: mitigare il DNS poisoning con iptables         


Author: bio
Date: Jul 28, 2008 04:30

> ma in ogni caso, il discorso è un altro; se si applica la patch ad un DNS che
> sta dietro ad un NAT, nel 90%% dei casi la patch verrà resa inutile dal NAT
> dato che quest'ultimo riassegna le porte e NON le assegna in maniera
> casuale; il che significa che un DNS aggiornato ma che sia posto dietro ad
> un NAT, resta ugualmente vulnerabile

No. Premesso che questo metodo e' utilizzabile anche senza nat, il nat
di netfilter non riassegna le porte se non e' strettamente necessario.
Quindi, nella fattispece, quanto sopra e' errato. Per i restanti casi:
per curiosita', potresti farmi qualche esempio significativo di router
o firewall o os che riassegna la porta sorgente di ogni datagramma udp
quando fa nat?

Fabio
no comments
Re: mitigare il DNS poisoning con iptables         


Author: bio
Date: Jul 28, 2008 07:46

Ok, vedo che sul fatto che *almeno* iptables non si comporta come
dici gia' ci siamo ;-)
> Credo che tu ti sia perso qualcosa; in linea di massima, un NAT, qualunque
> NAT (Cisco o quello che vuoi) non usa un randomizer per le porte, il che
> significa che queste ultime vengono assegnate in ordine (quasi) sequenziale,

Temo che tu stia dando per scontato che le porte sorgente debbano
essere sistematicamente riassegnate per *ogni* datagramma udp, ma
questo non e' vero. Quindi la supposta assenza di un "randomizer"
e le altre tue considerazioni sulla vulnerabilita' dei dns dietro
ai nat lasciano tutte il tempo che trovano.
> il che a sua volta significa che l'aumento di entropia introdotto dalla patch
> viene ridotto se non annullato; per quanto riguarda il "qualche firewall"

Quello che dici e' privo di senso generale. Non puoi dire "il nat
vanifica le patch ai server". Lo fara', eventualmente, per *quei*
nat che si dovessero comportano in quel modo [assurdo].

Ripeto: mi daresti i riferimenti di qualche implementazione di un
nat che riscriva la porta sorgente di *ogni* datagramma udp? E di
queste, quali lo fanno sequenzialmente?
Show full article (1.44Kb)
no comments
Re: mitigare il DNS poisoning con iptables         


Author: fax
Date: Jul 28, 2008 08:19

bio ha scritto:
> Ok, vedo che sul fatto che *almeno* iptables non si comporta come
> dici gia' ci siamo ;-)
>
>> Credo che tu ti sia perso qualcosa; in linea di massima, un NAT, qualunque
>> NAT (Cisco o quello che vuoi) non usa un randomizer per le porte, il che
>> significa che queste ultime vengono assegnate in ordine (quasi) sequenziale,
>
> Temo che tu stia dando per scontato che le porte sorgente debbano
> essere sistematicamente riassegnate per *ogni* datagramma udp, ma
> questo non e' vero. Quindi la supposta assenza di un "randomizer"
> e le altre tue considerazioni sulla vulnerabilita' dei dns dietro
> ai nat lasciano tutte il tempo che trovano.
>
>> il che a sua volta significa che l'aumento di entropia introdotto dalla patch
>> viene ridotto se non annullato; per quanto riguarda il "qualche firewall"
>
> Quello che dici e' privo di senso generale. Non puoi dire "il nat
> vanifica le patch ai server". Lo fara', eventualmente, per *quei*
> nat che si dovessero comportano in quel modo [assurdo]. ...
Show full article (1.78Kb)
no comments
Re: mitigare il DNS poisoning con iptables         


Author: fax
Date: Jul 28, 2008 08:25

Arne Saknussemm ha scritto:
>> Temo che tu stia dando per scontato che le porte sorgente debbano
>> essere sistematicamente riassegnate per *ogni* datagramma udp, ma
>> questo non e' vero.

in fondo a quell'articolo c'è però l'update:

UPDATE:
Show full article (1.52Kb)
no comments
Re: mitigare il DNS poisoning con iptables         


Author: bio
Date: Jul 28, 2008 08:55

> * PAT (Port Address Translation). Also called simply "NAT" or "Network
> Address Port Translation, NAPT". This involves the translation of both
> IP addresses and port numbers.

C'e' un implicito "if required" alla fine. Non e' necessario che ci sia
la traduzione della porta sorgente, quoando lo scopo e' quello di fare
"MASQUERADING", per dirala lla linuxese.

Fabio
no comments
Re: mitigare il DNS poisoning con iptables         


Author: bio
Date: Jul 28, 2008 08:53

>> Temo che tu stia dando per scontato che le porte sorgente debbano
>> essere sistematicamente riassegnate per *ogni* datagramma udp, ma
>> questo non e' vero.

Purtroppo l'articolo contiene molte inesattezze, tra cui quella piu'
importante:

<<...
it has to assign a new source port, because the NAT device has
to assign unique ports for all of the hosts on the internal network
... >>

Questo e' l'assunto errato da cui deriva tutta l'errata trattazione
che ne segue, che e' una sua mera speculazione priva di ogni supporto
sperimentale (che lo avrebbe messo sulla buona strada). Ci sono anche
errori relativi alla vulnerabilita' dns in oggetto, come il riferirsi
ai "caching dns" invece che agli "iterative dns" o "recursive dns",
ecc, ma sono d'importanza marginale per questo problema.
Show full article (1.47Kb)
no comments
Re: mitigare il DNS poisoning con iptables         


Author: bio
Date: Jul 28, 2008 09:09

> NAT (e neanche pochi, visto che, a quanto sembra anche diversi Cisco soffrono
> del problema) che invece non si "comportano bene"; a questo punto,

Quali Cisco? Io ho sotto mano solo una decina di prodotti, che spaziano
in un range di circa 12 anni di produzione, ma... nessuno fa quello che
dici. Mi daresti i riferimenti dove hai letto di questi "diversi Cisco"
che vorrei dargli un'occhiata?

Fabio
no comments
Re: mitigare il DNS poisoning con iptables         


Author: whiplash
Date: Jul 28, 2008 09:16

Arne Saknussemm ha scritto:
>
> http://blog.spoofed.org/2008/07/mitigating-dns-cache-poisoning-with-pf.html
>
> ma in ogni caso, il discorso è un altro; se si applica la patch ad un DNS che
> sta dietro ad un NAT, nel 90%% dei casi la patch verrà resa inutile dal NAT
> dato che quest'ultimo riassegna le porte e NON le assegna in maniera
> casuale; il che significa che un DNS aggiornato ma che sia posto dietro ad
> un NAT, resta ugualmente vulnerabile

Falso, in generale.
Netfilter, ad esempio, tende a conservare le porte sorgente.
no comments
Re: mitigare il DNS poisoning con iptables         


Author: whiplash
Date: Jul 28, 2008 09:24

fax ha scritto:
> Arne Saknussemm ha scritto:
>>> Temo che tu stia dando per scontato che le porte sorgente debbano
>>> essere sistematicamente riassegnate per *ogni* datagramma udp, ma
>>> questo non e' vero.
>
> in fondo a quell'articolo c'è però l'update:

Un update superfluo per chiunque conosca decentemente il nat di netfilter.
E a me risulta che anche tanti altri nat facciano lo stesso; quello di PF,
invece, di default randomizza la porta sorgente, se male non ricordo e
in tal caso va benissimo lo stesso.
no comments
1 2