[Tech] script-iptables

Marco Ermini markoer@usa.net
Lun 18 Ago 2003 16:23:38 CEST


Aldo Podavini disse:
[...]
> Questo terzo punto della tua risposta (contrariamente ai primi due) mi
> suona poco chiaro.

http://mike.passwall.com/networking/ippacket.html


> Io potrò anche formare un raw header con IP sorgente fasullo, ma a meno
> che io sia l'ISP a cui il target host è connesso, come diavolo ci arriva
> fin là questo pacchetto, attraversando tutti i vari routers lungo la sua
> strada ?!?

Il pacchetto arriva perche' viene instradato seguendo il suo indirizzo di
destinazione. Chi l'ha inviato ovviamente non ricevera' alcuna risposta.

L'IP spoofing esclude a priori l'"interoperability" (v. RFC 1180) degli
host: puo' essere dunque utilizzato esclusivamente per attacchi DoS e
DDoS. Per questo ritengo che, in questo caso, lo scanning provenga da un
altro utente ADSL e /non/ si tratti di spoofing. Scanning e spoofing
insieme non hanno senso: se non c'e' risposta al pacchetto IP inviato non
si puo' sapere se una porta e' chiusa o aperta.

Sul fatto che un router verifichi la sorgente dei pacchetti che gli
arrivano... cio' che io sappia in genere, non avviene. I protocolli di
routing IP (almeno quelli che io conosco: non sono un uber-geek nel campo
ma i piu' importanti - RIP, BGP ecc. - li bazzico) che mi risulti non
prevedono nulla del genere. I router costruiscono e memorizzano delle
tabelle di discovery per i path di destinazione, non certo di provenienza.

Esiste una tecnica di source route verification (c'e' anche nel kernel di
Linux), ma e' utilizzata per scartare i pacchetti IP "illogici" (cioe' con
flag non utilizzati nel contesto in cui si trovano, per esempio un NAT
server puo' scartare i pacchetti X-MAS, FIN, ACK), o scartare gli
indirizzi non routabili, o cercare di evitare, per quanto possibile, le
tecniche DoS; non mi vengono in mente protocolli che verificano la
corretta sorgente di un pacchetto IP.



> Applicativamente: se io ricevo una connessione da un host il cui IP
> considero trusted, quanta confidenza posso avere che questo IP non sia
> faked ?

Nessuna. Il protocollo IP e' insicuro per definizione. Per fare questa
verifica dovresti implementare un "traceroute all'indietro" per tutti i
nuovi indirizzi che ti mandano pacchetti IP *prima* di risponderli; e'
qualcosa di estremamente macchinoso e che scombussola due diversi livelli
OSI, quello di trasporto e quello applicativo (ed e' "male" mescolare i
diversi livelli). Direi che e' praticamente sconveniente con IPv4.

Una rete che trasporta unicamente pacchetti "certificati" e' una rete che
implementa un protocollo sicuro (/non/ IP), che quindi certifica i singoli
pacchetti uno ad uno. E' qualcosa di altamente sofisticato - e sicuramente
molto meno efficiente di IPv4, IMHO.


ciao
-- 
Marco Ermini
http://macchi.markoer.org



Maggiori informazioni sulla lista flug-tech