Newsgroup: it.comp.reti.locali
Titolo: Filtro IP di provenienza

Ciao a tutti.
Sto abilitando alcuni servizi (porte singole) che devono essere
raggiunti via internet attraverso un piccolo router Netgear collegato
con Alice Adsl.
Siccome questi servizi devo essere disponibili esclusivamente a 2
nostri uffici che dispongono entrambi di 2 IP pubblici fissi, io ho
configurato la sezione NAT/PAT del router in modo che il collegamento
in entrata da Internet al servizio stesso possa essere accettato SOLO
dai 2 IP fissi in questione.
Secondo voi ci sono delle possibilità che qualcuno non proveniente dai
2 IP "legittimi" possa riuscire ugualmente a collegarsi ai miei
servizi sostituendosi in qualche modo agli IP legittimi ?
Grazie a tutti, Rosgiof.

 wrote in message,
1185374659....@r34g2000hsd.googlegroups.com

si, spoofando l'ip.
-- 
Edoardo Benussi - 
e...@mvps.org
Microsoft® MVP - Windows Server
http://mvp.support.microsoft.com
 

 
1185374659.877278.35...@r34g2000hsd.googlegroups.com

Lo presumevo.... ma è una cosa fattibile, nel senso che ci riesce
chiunque, o è enormemente difficile ?

 si, spoofando l'ip.
Beh, un syn spoofato ci sta anche; che ai giorni nostri si riesca a fare
 di più è però estremamente improbabile, su internet, almeno.


Mmhhh.... interessante questo argomento, dici che spoofarsi l'IP
completamente ottenendo una connessione completa (non un singolo SYN
spoofato con NMAP) è difficile da fare?

 spoofato con NMAP) è difficile da fare?
Se hai usato nmap dovresti saperlo.
TCP Sequence Prediction: Class=random positive increments
                         Difficulty=3359224 (Good luck!)
Un messaggio del genere, che ottieni praticamente con qualsiasi stack
tcp ip moderno, sta a significare che predirre i sequence number
dell'header tcp è decisamente difficile.
Il che implica che mandare ack "al buio" pretendendo di indovinare l'ack
number vuol dire essere estremamente ottimisti.
A quel punto, meglio giocare al superenalotto: almeno lì, se ci
azzecchi, ti porti a casa un po' di soldini.
Parlo, ovviamente, di blind spoofing, altrimenti il discorso cambia
radicalmente.

 radicalmente.
Questo invece non l'ho capito, non mi spiegheresti il termine blind
spoofing e anche in quale caso "il discorso cambia radicalmente" per
favore?
Grazie tantissime per il tuo aiuto.
Ciao, Rosgiof.

 Mi puoi dare un link per leggere qualcosa per favore?
Come saprai, una connessione TCP necessita del cosiddetto handshake
iniziale, che è composto da tre pacchetti: il primo con flag SYN inviato
 dall'host A che intende aprire la connessione verso l'host B, il
secondo con flag SYN e ACK inviato dall'host B ed un terzo ACK inviato
dall'host A all'host B in risposta al SYN ACK.
Dopo questo scambio la connessione è pienamente stabilita ed inizia lo
scambio di dati vero e proprio.
Nell'header TCP sono presenti due campi a 32 bit, il Sequence Number
(SN) e l'Ack Number (AN).
Quando l'host A invia il primo pacchetto SYN, inserisce un valore a 32
bit, scelto in maniera pseudocasuale dagli stack tcp ip moderni, nel
campo SN; chiamiamo tale valore alpha.
L'host B, nel rispondere al SYN con un SYN ACK, inserirà a sua volta un
valore pseudocasuale nel campo SN, che chiameramo beta, ed un valore
pari ad alpha+1 nel campo AN.
Per completare la sessione, A risponderà con il terzo pacchetto, ACK,
che avrà il valore alpha+1 in SN e beta+1 in AN.
Torando allo spoofing, si dice blind spoofing un tentativo di instaurare
una connessione con un certo host falsificando l'ip sorgente senza avere
la possibilità di osservare in alcun modo i pacchetti di risposta che
verranno inviati dall'host che sto tentando di contattare.
Cosa accade, dunque?
Abbiamo i tre attori: B, l'host con cui si vorrebbe instaurare una
connessione spoofata, A, l'host di cui si vorrebbe spoofare l'identità
(e che *non* deve poter rispondere ai pacchetti che B gli invierà, cosa
fondamentale) e C, l'host attaccante.
C invia un SYN con SN pari a gamma e con ip sorgente l'ip di A.
B risponde con un SYN ACK, con SN pari a beta e AN pari a gamma+1; tale
pacchetto sarà inviato ad A, che però non risponderà (è spento, è sotto
attacco, non importa...l'importante è che A non deve poter rispondere).
C non vedrà mai arrivare il pacchetto destinato ad A (siamo nell'ipotesi
di blind spoofing, ricorda).
Per poter instaurare una connessione ed iniziare finalmente a "parlare"
con lo stack applicativo, C deve essere in grado di mandare un ACK con
AN pari a beta+1 senza avere idea di quanto valga beta.
Con vecchi stack tcp ip la generazione dei SN era spesso banale e quindi
era tranquillamente possibile arrivare a completare l'handshake tcp
anche senza avere nessuna visibilità delle risposte inviate da B.
Con stack moderni, la probabilità di indovinare beta è veramente molto
bassa; nel momento in cui B si vede arrivare un ACK con AN errato, B
interromperà il tentativo di connessione con un RST.
(Il famigerato attacco di Kevin Mitnick ad uno dei server di Shimomura
avvenne proprio utilizzando come base un blind spoofing)
HTH.
Letture consigliate: TCP/IP Illustrated, Volume 1.

 > Mi sa che devo studiare un p?, ti seguo per un pezzo, ma poi sui

Caspita, una lezione d'università!
Non pretendevo tanto, grazie!
Ho leggiucchiato anche qualcosa, oltre alla tua completissima risposta
ed ho capito che se sei nella sottorete dell'host attaccato puoi
sniffare i pacchetti e mettere in atto uno spoofing non blind.
Al contrario se non sei nella sua sottorete puoi solo cercare di fare
un blind spoofing, con i problemi che hai evidenziato tu.
Comunque, in sostanza, secondo te è possibile fare come dicevo nel mio
primo post: "ci sono delle possibilità che qualcuno non proveniente
dai
2 IP "legittimi" possa riuscire ugualmente a collegarsi ai miei
servizi sostituendosi in qualche modo agli IP legittimi" ?
Dopo quello che mi hai spiegato mi sembra di no, però mi piacerebbe
avere il tuo parere.
Grazie ancora tantissime del tuo aiuto, Rosgiof.

 avere il tuo parere.
Realisticamente, in situazioni "comuni" no: se non stai cercando di
difendere il Pentagono, non mi preoccuperei del blind spoofing,
sinceramente.

 
rosg...@hotmail.it
 ha scritto:

Scusa il ritardo nella mia risposta, sono stato via un paio di
giorni...
Grazie ancora dei tuoi preziosi consigli, ora ho le idee più chiare.
Cercherò di documentarmi ulteriormente sull'argomento, che mi sembra
decisamente interessante.
Grazie ancora del tuo tempo, ciao.
Rosgiof.