cerhu > comp.divers.* > comp.reseaux.ip

R12y (24/09/2005, 18h42)
Bonjour

Toujurs à la découverte des proxies, je me demandait un truc à leur sujet.
J'explique d'abord le contexte.
J'ai les logiciels Gaim (pour du instant messenging), Thunderbird et le
client ssh de OpenSSH, le tout sous Linux.
Je dois passer par un proxy http transparent pour acceder à ces services.

Si j'ai bien compris comment fonctionne le réseau, pour "laisser passer"
quoi que ce soit, le proxy doit d'abord croire que c'est du traffic http.
C'est ça?

Si je tente une connexion directe avec Gaim, par exemple, je me fais
filtrer. Par contre, si je specifie un proxy http (et le port) dans les
réglages de Gaim, j'arrive à me connecter aux serveur de mesagerie que
j'utilise. Est ce que ça veut dire qu'il "encapsule" les paquets dans du
http pour leur permettre de passer le proxy?

Mais dans ce cas, qui est-ce qui s'occupe de décapsuler tout ça?

Merci beaucoup.
Guillaume (24/09/2005, 23h48)
R12y a wroté :

> Bonjour


Bonsoir,

> Toujurs à la découverte des proxies, je me demandait un truc à leur sujet.
> J'explique d'abord le contexte.
> J'ai les logiciels Gaim (pour du instant messenging), Thunderbird et le
> client ssh de OpenSSH, le tout sous Linux.
> Je dois passer par un proxy http transparent pour acceder à ces services.


IPtables ou squid ?

> Si j'ai bien compris comment fonctionne le réseau, pour "laisser passer"
> quoi que ce soit, le proxy doit d'abord croire que c'est du traffic http.
> C'est ça?


Un proxy 'basique' n'analyse pas au niveau tcp les trames qu'il reçoit.
Basiquement, s'il écoute sur le port 8080 et qu'il relaie ce qu'il y
reçoit, il le fait, et c'est tout, sans faire la distinction entre du http,
du https ou ... du ssh.

Après, il existe des choses plus fines, pour filtrer les flux en streaming
par exemple, ce qui est déjà pas mal (et arrêtera sans doute Gaim ;), ou
carrément pour analyser ce qui passe aux niveaux 5 à 7 OSI, mais là, il
faut une machine qui encaisse la charge, et un patron qui encaisse la
facture :).

> Si je tente une connexion directe avec Gaim, par exemple, je me fais
> filtrer. Par contre, si je specifie un proxy http (et le port) dans les
> réglages de Gaim, j'arrive à me connecter aux serveur de mesagerie que
> j'utilise. Est ce que ça veut dire qu'il "encapsule" les paquets dans du
> http pour leur permettre de passer le proxy?


Bah non, ton proxy relaie ton flux puisqu'il le voit arriver par le bon
port, et voilà.

/me n'utilise pas Gaim ... quels ports écoutent sur les serveurs Gaim ?
80 ? 443 ?
R12y (25/09/2005, 10h45)
>> Toujurs à la découverte des proxies, je me demandait un truc à leur
>> sujet. J'explique d'abord le contexte. J'ai les logiciels Gaim (pour du
>> instant messenging), Thunderbird et le client ssh de OpenSSH, le tout
>> sous Linux. Je dois passer par un proxy http transparent pour acceder à
>> ces services.

> IPtables ou squid ?


Le Proxy est un Squid.
Mais sur la patte LAN de la machine qui fait proxy, il y a un iptables qui
redirige toutes les requetes à destination du port 80 vers le 3128 du
Squid (sur la même machine).

>> Si j'ai bien compris comment fonctionne le réseau, pour "laisser
>> passer" quoi que ce soit, le proxy doit d'abord croire que c'est du
>> traffic http. C'est ça?

> Un proxy 'basique' n'analyse pas au niveau tcp les trames qu'il reçoit.
> Basiquement, s'il écoute sur le port 8080 et qu'il relaie ce qu'il y
> reçoit, il le fait, et c'est tout, sans faire la distinction entre du
> http, du https ou ... du ssh.


Ok. Mais donc, je viens de comprendre une chose:

En réseau, j'ai toujours cru que quand une machine (appellons-la
"client") voulait "dialoguer" avec une autre (serveur), le paquet utilisé
pour dialoguer contenait (en gros) l'adresse et le port de la machine
emettrice, et l'adresse et le port du destinataire. Manifestement, on peut
rajouter, sans encapsuler quoi que ce soit, l'adresse et le port d'une
machine "intermédiaire".

C'est ça?

Ce petit bout rajouté n'est pas manipulé par le proxy, il est juste lu.
Ce petit bout parvient donc à la machine destinataire ou pas?

> /me n'utilise pas Gaim ... quels ports écoutent sur les serveurs Gaim ?
> 80 ? 443 ?


Gaim est un client multi réseau que j'utilise sous Linux pour chatter avec
des correspondants sur MSN && Yahoo && Jabber.
Les serveur auxquels il se connecte sont ceux qui gèrent ces différents
réseaux de chat...
Guillaume (25/09/2005, 11h31)
R12y a wroté :
>> IPtables ou squid ?

> Le Proxy est un Squid.
> Mais sur la patte LAN de la machine qui fait proxy, il y a un iptables qui
> redirige toutes les requetes à destination du port 80 vers le 3128 du
> Squid (sur la même machine).


OK, donc c'est un squid, mais il écoute sur deux ports (80 + 3128).
Il me semble donc qu'avec squid (ou est-ce squid + squidguard ?), tu peux
mettre en oeuvre un filtrage par type de flux plus fin que si tu te
contentais de faire du NAT avec Iptables. Notamment en bloquant tous les
flux en streaming, tu devrais empêcher la diffusion de vidéos, de flux
audio, les messageries instantanées et les petits malins qui feraient
passer une session ssh par les ports autorisés.

> Ok. Mais donc, je viens de comprendre une chose:
> En réseau, j'ai toujours cru que quand une machine (appellons-la
> "client") voulait "dialoguer" avec une autre (serveur), le paquet utilisé
> pour dialoguer contenait (en gros) l'adresse et le port de la machine
> emettrice, et l'adresse et le port du destinataire.


Oui (quoique le port d'origine ne soit pas souvent pertinent).

> Manifestement, on peut
> rajouter, sans encapsuler quoi que ce soit, l'adresse et le port d'une
> machine "intermédiaire".


Euh... oui et non :).
Si l'on parle d'un élément intermédiaire, tu peux rajouter
- une passerelle par défaut, vers laquelle ira tout le trafic qui ne
correspond plus au couple adresse / masque de la machine.
- des routes statiques dont tu viens enrichir ta table de routage.
- des passerelles logiques, tels qu'un relais proxy ou un firewall qui
ferait du NAT, vers lequel tu vas envoyer un trfic spécifique (web + https
pour un proxy classique) après l'avoir renseigné dans l'appli kivabien.

Dans ce dernier cas, si le proxy fait du pur NAT, la machine d'origine est
invisible depuis le réseau de destination, on ne voit ... que le proxy.
Sauf si le proxy est paramétré pour laisser dans les entêtes http le champ
x-originating-ip : on voit alors l'adresse de la machine d'origine derrière
le proxy, ce qui révèle l'existence de ce dernier et du réseau derrière lui
(c'est donc rarement une bonne idée).

> Ce petit bout rajouté n'est pas manipulé par le proxy, il est juste lu.
> Ce petit bout parvient donc à la machine destinataire ou pas?


Dans le cas d'une translation IP (NAT) pure et simple, non. On ne voit que
la patte externe du proxy, et c'est tout.
Pour un proxy logiciel, ça dépend de sa config' (cf. çi-dessus).

>> /me n'utilise pas Gaim ... quels ports écoutent sur les serveurs Gaim ?
>> 80 ? 443 ?

> Gaim est un client multi réseau que j'utilise sous Linux pour chatter avec
> des correspondants sur MSN && Yahoo && Jabber.
> Les serveur auxquels il se connecte sont ceux qui gèrent ces différents
> réseaux de chat...


Ca je le sais, je connais l'utilité du produit, c'est juste que je conchie
les messageries instantanées (désolé hein ;)).
Ce qui m'intéresse, c'est le port d'écoute sur les serveurs, pour savoir si
une telle messagerie instantanée peut se fondre de bout en bout dans du
trafic web.
Patrick Mevzek (25/09/2005, 11h55)
Le Sun, 25 Sep 2005 10:45:28 +0200, R12y a écrit :
> En réseau, j'ai toujours cru que quand une machine (appellons-la
> "client") voulait "dialoguer" avec une autre (serveur), le paquet utilisé
> pour dialoguer contenait (en gros) l'adresse et le port de la machine
> emettrice, et l'adresse et le port du destinataire. Manifestement, on peut
> rajouter, sans encapsuler quoi que ce soit, l'adresse et le port d'une
> machine "intermédiaire".
> C'est ça?


Non.
Quand un client utilise un proxy pour contacter un serveur, le
destinataire de l'information envoyée par le client est le proxy, qui lui
fait une nouvelle connexion dont l'émetteur est le proxy et le
destinataire le serveur.

Sauf en présence d'un proxy transparent (mais c'est mal en général),
qui récupère tout le trafic quel que soit l'adresse de destinataire
spécifiée par le client.

> Ce petit bout rajouté n'est pas manipulé par le proxy, il est juste lu.
> Ce petit bout parvient donc à la machine destinataire ou pas?


Je pense qu'il faudrait se replonger dans la pile TCP/IP et comprendre que
des informations différentes se trouvent dans des couches différentes et
ont des rôles différents.

Dans le cas de HTTP, qui est le plus simple, au niveau IP/TCP l'échange
est entre le client et le proxy, et au niveau HTTP (au-dessus d'IP donc),
le client indique l'URL finale (celle sur le serveur) au proxy.
Patrick 'Zener' Brunet (25/09/2005, 18h13)
Bonjour.

Je réponds à Patrick Mevzek <pm-N200509>
qui dans pan.2005.09.25.09.55.25.564938 a écrit :
[..]
>> Je pense qu'il faudrait se replonger dans la pile TCP/IP et

> comprendre que des informations différentes se trouvent dans des
> couches différentes et ont des rôles différents.
> Dans le cas de HTTP, qui est le plus simple, au niveau IP/TCP
> l'échange est entre le client et le proxy, et au niveau HTTP
> (au-dessus d'IP donc), le client indique l'URL finale (celle sur le
> serveur) au proxy.


Vous êtes peut-être le sauveur de mes neurones qui crament depuis des jours
à essayer de trouver une solution pratique pour un tel routage.

Pourriez-vous SVP jeter un petit coup d'oeil à mon post du 23/09
4333c809$1$24527$636a15ce intitulé
"Résolution alternative de noms de serveurs" ?

En fait je cherche soit une solution en "routage par défaut", soit un tel
proxy local transparent et générique, ceci pour Windows 2000/XP. Je suis
sidéré d'avoir fouillé tout le Web sans rien trouver, à part des gens qui
semblaient avoir les boules pour le même problème !

Merci de tout conseil.
Cordialement,
R12y (26/09/2005, 19h11)
On Sun, 25 Sep 2005 11:55:26 +0200, Patrick Mevzek wrote:

> Sauf en présence d'un proxy transparent (mais c'est mal en général),


Ok. Mais dans le cas présent, je ne suis pas l'dministrateur du proxy,
plutot une "victime"... :-)
Croco (27/09/2005, 00h38)
Le 26-09-2005, R12y <mihamina.rakotomandimby> a écrit :
> On Sun, 25 Sep 2005 11:55:26 +0200, Patrick Mevzek wrote:
>> Sauf en présence d'un proxy transparent (mais c'est mal en général),

> Ok. Mais dans le cas présent, je ne suis pas l'dministrateur du proxy,
> plutot une "victime"... :-)


Dans ce cas, la bonne question à se poser est "Pourquoi un tel cache ?"
et c'est principalement ton admin qui pourra te répondre. Et si la
demande est justifiée, il préfèrera mille fois ouvrir le port qui va
bien plutôt que te forcer à camoufler un flux.

Je comprends qu'il soit dans la nature humaine de vouloir toujours
contourner les mécanismes de sécurité, mais ça devient un vrai
casse-tête de monter une protection efficace sans être trop restrictif.
En tout cas, s'il y a une chose dont je suis sur c'est que l'admin de ta
fac n'a pas mis ce serveur mandataire _juste_ pour te faire suer.

Pour répondre à ta question, oui il faut que les requêtes soient en HTTP
valides s'il s'agit effectivement d'un cache. Sinon, il s'agit juste
d'un pare-feu. Enfin, c'est vrai pour le moment, parce que il commence à
y avoir tellement de chose qui circule encapsulé dans du HTTP qu'il
arrivera bien un jour un moment ou on y mettra un sacré coup de frein.
Et quand bien même cela passe pour le moment, rien ne dit que les
serveurs ne sont pas blacklistés (c'est le cas de msn chez nous en tout
cas...)

Croco
Patrick Mevzek (27/09/2005, 01h56)
Le Mon, 26 Sep 2005 19:11:58 +0200, R12y a écrit :

> On Sun, 25 Sep 2005 11:55:26 +0200, Patrick Mevzek wrote:
>> Sauf en présence d'un proxy transparent (mais c'est mal en général),

> Ok. Mais dans le cas présent, je ne suis pas l'dministrateur du proxy,
> plutot une "victime"... :-)


Tenter de passer outre peut être contraire à la charte d'utilisation
qui a probablement été signée, d'où éventuels déboires légaux...
R12y (27/09/2005, 09h18)
> Tenter de passer outre peut être contraire à la charte d'utilisation
> qui a probablement été signée, d'où éventuels déboires légaux...


Mon premier post soulève ce point. Je reformule ce que j'y ai déjà écrit.
L'administrateur dudit réseau m'a autorisé à passer outre, mais m'a
officieusement demandé de garder la "technique" pour moi. Tout simplement
parceque si il remarque que ça se généralise, il rendra le proxy moins
"transparent".
Cela dit, il n'a pas vraiment le temps de m'expliquer dans les détails le
fonctionnement des proxies, c'est pour cela que je me suis dit que ça
serait une bonne idée d'en parler ici :-)
R12y (27/09/2005, 09h27)
On Mon, 26 Sep 2005 22:38:22 +0000, Croco wrote:
> Dans ce cas, la bonne question à se poser est "Pourquoi un tel cache ?"


Parceque légalement il est strictement interdit par la loi de directement
connecter un étudiant à internet.

La Fac ou je suis n'étant pas non plus une Fac réputée pour
couver/fabriquer des apprentis crackers, le compromis a été trouvé de
faire un proxy transparent. L'association dont je fais partie du bureau
font partie de ceux qui ont activement négocié cette "liberté".

J'ai d'ailleurs justifié ce besoin.

> Je comprends qu'il soit dans la nature humaine de vouloir toujours
> contourner les mécanismes de sécurité, mais ça devient un vrai
> casse-tête de monter une protection efficace sans être trop restrictif.
> En tout cas, s'il y a une chose dont je suis sur c'est que l'admin de ta
> fac n'a pas mis ce serveur mandataire _juste_ pour te faire suer.


Moi personnellement, non. Je lui ai dit que pour des activités très
sérieuses j'ai besoin de SSH, des News, du mail en IMAP,...

> Pour répondre à ta question, oui il faut que les requêtes soient en HTTP
> valides s'il s'agit effectivement d'un cache. Sinon, il s'agit juste
> d'un pare-feu. Enfin, c'est vrai pour le moment, parce que il commence à
> y avoir tellement de chose qui circule encapsulé dans du HTTP qu'il
> arrivera bien un jour un moment ou on y mettra un sacré coup de frein.
> Et quand bien même cela passe pour le moment, rien ne dit que les
> serveurs ne sont pas blacklistés (c'est le cas de msn chez nous en tout
> cas...)


Merci beaucoup pour ces précisions.
J'ai trouvé un semblant de solution pour les applications GNOME (car
j'utilise GNOME comme environement):

Manifestement on peut indiquer d'une manière "pseudo system-wide" un proxy
aux aplications GNOME. Il suffit d'aller dans gconf et puis "system" ->
http_proxy. C'est local à la session GNOME en cours. Ca n'est valable que
pour l'user en cours.
J'ai découvert ça juste au moment de quiter la BU hier soir et j'ai pas
testé, je vous donne des nouvelles.
Patrick Mevzek (27/09/2005, 13h14)
Le Tue, 27 Sep 2005 09:18:58 +0200, R12y a écrit :
>> Tenter de passer outre peut être contraire à la charte d'utilisation
>> qui a probablement été signée, d'où éventuels déboires légaux...

> Mon premier post soulève ce point. Je reformule ce que j'y ai déjà écrit.
> L'administrateur dudit réseau m'a autorisé à passer outre, mais m'a


Par écrit ?
Il a le droit de modifier les termes de la charte d'usage, de faire des
exceptions ?
Guillaume (27/09/2005, 14h15)
R12y a wroté :
>> Tenter de passer outre peut être contraire à la charte d'utilisation
>> qui a probablement été signée, d'où éventuels déboires légaux...

> Mon premier post soulève ce point. Je reformule ce que j'y ai déjà écrit.
> L'administrateur dudit réseau m'a autorisé à passer outre, mais m'a
> officieusement demandé de garder la "technique" pour moi.


C'est *mal*.

Il cherche à éviter qu'on passe au travers de son proxy en n'ébruitant pas
le fait qu'il soit possible d'y faire passer plein de choses, mais en
menacant bien de verrouiller si l'on abuse. Il ne gère pas la sécurité des
accès en amont, il attend en aval que le problème survienne, alors qu'il
sera peut-être trop tard à ce moment-là (fuite de données, épidémie
virale ...).

D'autre part, parce que le jour ou l'on lui mettra sous le nez d'éventuels
abus tels que la généralisation des techniques qu'il t'autorise
offcieusement à employer, il pourra fort bien oublier votre petit accord
verbal, et te mettre très officiellement sur le dos la paternité de ces
abus, logs à l'appui.

Enfin, parce que ces pratiques ne sont jamais que des secrets de
polichinelle : le prochain geek de tes collègues qui sera attiré par ce
qu'il verra de ton desktop Gnome par-dessus ton épaule te demandera comment
tu fais pour avoir Gaim, sa curiosité sera attisée par ton "ça n'te regarde
pas" en retour, il geekera à son tour son Gnome, trouvera l'option
http_proxy, et en fera grand bruit pour être bien sûr de te faire bisquer.
Rien de tel pour éventer rapidement un secret que de recommander à quelqu'un
de "garder ça pour lui" (même à son corps défendant).

Mais là, on aborde plus les aspects relationnels, administratifs et
sécuritaires du problème.

> Tout simplement parceque si il remarque que ça se généralise, il rendra le
> proxy moins "transparent".


Comment compte-t-il le remarquer si son proxy ne différencie pas les flux ?
R12y (27/09/2005, 19h33)
On Tue, 27 Sep 2005 13:14:02 +0200, Patrick Mevzek wrote:

> Le Tue, 27 Sep 2005 09:18:58 +0200, R12y a écrit :
> Par écrit ?
> Il a le droit de modifier les termes de la charte d'usage, de faire des
> exceptions ?


Le proxy transparent est là, il suffit juste de savoir qu'il existe,
comment il fonctionne et l'utiliser. Le "hasard" à fait que je suis le
seul à le savoir (pour l'instant) parceque je suis l'un des rares
étudiants à avoir besoin de protocoles exotiques. Je ne vois pas
d'exceptions. Ceux qui ont besoin de SSH et de protocoles au delà du web
n'ont qu'à demander et ils auront la même réponse que moi. Mais en plus de
savoir qu'il y a un proxy _http_ transparent, il faut encore savoir
l'utiliser.

Sinon, oui c'est _le_ maitre du réseau de la Fac. De toutes façon je ne
comprend pas le procès d'intention que vous lui faites. J'estime même que
ça serait sympa d'encourager tous les admins systèmes de toutes les Fac
d'être aussi proche des étudiants... Si tel étudiant à besoin de tel
specifications (avec des arguments et des justificatifs), pourquoi ne pas
les lui accorder?

Bon sinon pour le réglage session-wide de GNOME, "forget it". ça ne
fonctionne que pour le HTTP. Pour IMAP et les News, c'est non.

PS: il n'y a pas d'exception, on n'est pas
directement connectés.
Xavier Roche (27/09/2005, 19h47)
R12y wrote:
> Parceque légalement il est strictement interdit par la loi de directement
> connecter un étudiant à internet.


C'est quoi ce délire ? Toute les écoles d'ingé sérieuses connectent
leurs étudiants à Internet en direct, pour une raison simple: permettre
des tests irréalisables avec un proxy.

Vous avez l'article de loi en question ?

Discussions similaires
FTP via proxy / tunnel Http ?

sorte de proxy http(s) ?

HTTP 502 Erreur du proxy

proxy http en Python


Fuseau horaire GMT +2. Il est actuellement 16h11. | Privacy Policy