par tomtom » 23 Juin 2003 14:39
C'est normal car ce n'est pas le resultat d'un netstat que tu vois là.
<BR>
<BR>Il faut savoir que iptables utilise des "conntracks" pour ouvrir dynamiquement des ports (ce que l'on appelle un firewall statefull".
<BR>
<BR>EN clair, supposons que tu etablisse une session tcp avec google pour prendre une page.
<BR>
<BR>Tu auras tout d'abbord un paquet :
<BR>
<BR>ip source : ton_ip_publique
<BR>port source : 2000 (par exemple)
<BR>
<BR>ip destination : ip_google
<BR>port destination : 80
<BR>
<BR>flags : syn
<BR>
<BR>
<BR>
<BR>quand netfilter va voir passer ce paquet, il va creer ce que l'on appelle un conntrack. En gros, c'est une table qui dit quels paquets sont attendus et doivent donc pouvoir passer le firewall. Les paquets qui coorespondent à une entrée de cette table sont marqués avec le state "ESTABLISHED" ou "RELATED" (si ftp par exemple). Et comme les paquets ESTABLISHED et RELATED sont autorisés à traverser le firewall, la reponse pourra passer.
<BR>
<BR>Avec l'exemple precedent, on aurrait un conntrack comme ceci :
<BR>
<BR>ipsource : ip_google
<BR>port source : 80
<BR>ip destination : ton_ip_publique
<BR>port destination : 2000
<BR>state : ESTABLISHED
<BR>
<BR>et quand ce fameux paquet va arriver, il pourra traverser le firewall et la communication pourra s'etablir. Ensuite, tous les paquets emis par google sur ce port seront autorisés, soit jusqu'à la fin de la session tcp, soit jusqu'à expiration du timeout.
<BR>
<BR>Le timeout n'est pas specifié par google maios par toi. Le conntrack suit en effet le timeout tcp de ta session, qui est de 5 jours par defaut !
<BR>En clair, si ton browser plante sans avoir le temps de fermer la session tcp proprement, le conntrack peut rester valide 5 jours !
<BR>
<BR>Pour pouvoir modififier le timeout par defaut, il faut avoir le patch tcp-window-tracking (que l'on trouve dans tous les bons patch-o-matics <IMG SRC="images/smiles/icon_lol.gif"> ).
<BR>Si c'est le cas sur IPCop, alors il faut modifier la variable /proc/sys/net/ipv4/netfilter/ip_ct_tcp_timeout_established pour modifier tout ça.....
<BR>
<BR>Voila, ce n'est pas une grosse faille de securité vu qu'il faut pouvoir hijacker le numero de port, le numero de sequence TCP et encore avoir quelquechose à l'ecoute sur le port aléatoire pour pouvoir exmploiter ça... en clair, no souci...
<BR>
<BR>Pour info, la page des connexions dans IPCop reprnd juste les infos du fichier /proc/net/ip_conntrack qui est le fichier de suivi de connexions Netfilter.
<BR>
<BR>Thomas
One hundred thousand lemmings can't be wrong...