[Linux-Biella] I protocolli TCP/IP sono addomesticabili?

Remotes webmaster a remotes.it
Mar 11 Dic 2007 22:41:03 CET


in Tuesday 11 December 2007 21:39:42 TM wrote:
> > flag RST settato a
> > 1, che "costringe il ricevente ad interrompere la connessione".
> >
> > Comunque, in effetti non era il lato legale ad interessarmi ma
> > quello tecnico.
> >
> > Secondo voi tale inconveniente sarebbe superabile con un'adeguata
> > configurazione di Linux (iptables ?) oppure i protocolli NON prevedono
> > che tali comandi (di reset o altro) possano essere ignorati?
>
> Che io sappia no.
> Quando due computer comunicano si scambiano dei messaggi detti
> pacchetti che hanno una struttura fissata; uno dei protocolli di
> comunicazione è il TCP.
> La struttura di un pacchetto TCP è questa:
> http://www.wtcs.org/snmp4tpc/images/TCP-Header.jpg
>
> Quando A vuole iniziare a parlare con B manda un messaggio con il bit
> SYN impostato ad 1; B allora risponde con un pacchetto con ACK e SYN =
> 1; A risponde con ACK=1 ed inizia la trasmissione dei dati.
> (questo è detto three-way handshake)
> Per terminare una comunicazione di solito uno tra A e B manda un
> pacchetto con il bit "FIN" impostato a 1.
> In qualche caso però uno dei due comunicanti può richiedere un reset
> della connessione (per vari motivi) e lo fa utilizzando il bit di RST;
> in questo caso la connessione viene chiusa al più presto da entrambi i
> lati.
>
> Capirai bene che se tu, A, apri una connessione con B se ad un certo
> punto ricevi un pacchetto del tipo:
> sorgente: B
> destinazione: A
> reset: 1
> ...
> pensi che B voglia terminare la comunicazione.
> Ma il pacchetto appena descritto può essere "forgiato" più o meno da
> chiunque e tu non puoi sapere (almeno a livello TCP) se è stato
> davvero B a mandarlo... semplicemente ti fidi del pacchetto e chiudi
> la connessione.
>
> Potresti metterti a modificare il TCP però dubito che questa sia la
> risposta che cerchi!
> Ciao!

quindi per riuscire ad oltrepassare in parte il problema bisognerebbe 
riscrivere parte delle regole del tcp/ip per fare in modo che quando arriva 
un pacchetto di tipo reset prima di resettare vengano scambiati dei pacchetti 
tra A e B per fare in modo di essere quasi certi che sia stato davvero B a 
chiedere il reset?

dico quasi perchè come viene creato il pacchetto fasullo per il reset si 
potrebbero creare i pacchetti fasulli anche per i check del reset... imho



-- 
Nicolò "Remotes" Lucia
Debian SID (XFCE)
Debian SID (TESTUALE)
ZenWalk (XFCE)
Linux Registered User n° #449257


Maggiori informazioni sulla lista Linux