[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