13
ECOLE POLYTECHNIQUE DSI Utilisation des serveurs mandataires (« proxy ») avec les protocoles d’usage courant V2.1 ® Michel CHABANNE EP/DSI Février 2010

Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Embed Size (px)

Citation preview

Page 1: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

ECOLE POLYTECHNIQUE – DSI

Utilisation des serveurs mandataires (« proxy »)

avec les protocoles d’usage courant

V2.1 – ® Michel CHABANNE – EP/DSI – Février 2010

Page 2: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Table des matières

A. Navigateurs web, clients HTTP .................................................... 4

B. Clients FTP ............................................................................... 6

C. Messagerie électronique POP3S/IMAPS ........................................ 7

D. Connexion SSH et transferts de fichiers SFTP/SCP ......................... 9

E. Configuration client CNRS XLAB ................................................ 13

Historique :

1.0-1.3 : Versions de travail

1.4 : Première version publique

1.5 : Support SCP, tunneling X-Window par SSH 1.6 : Rappel configuration XLAB 1.7 : Modifications des IP proxies 1.75 : Ajout de quelques configurations pour logiciels Linux 2.0 : Refonte, modifications httport/corkscrew et màj captures d’écran 2.1 : Mise à jour config XLAB PC

Page 3: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Principe général d’un serveur mandataire

Un serveur mandataire ou serveur « proxy » représente un relais entre votre poste de travail et l’extérieur. Pour un protocole donné, il agit à

votre place pour récupérer les données demandées sur Internet.

Selon le protocole réseau auquel on s’intéresse, la « proxification » peut demander une modification de la trame réseau envoyée (dans notre

exemple, l’adresse de destination des données HTML reçues n’est pas celle du client final). Dans d’autres cas, il s’agit simplement de mettre en

œuvre une redirection de ports TCP/UDP sur le serveur mandataire.

Rappel : Charte d’usage des moyens informatiques Vous êtes astreint à respecter la charte d’usage des moyens informatiques de l’Ecole

Polytechnique, que vous avez signée à votre arrivée sur le site, lorsque vous utilisez les

serveurs mandataires. Nous vous rappelons que l’usage de ces serveurs implique une

journalisation de votre activité, qui pourra vous être opposée en cas d’usage constaté

contraire à la charte. Retrouvez la charte au format PDF sur

http://intranet.polytechnique.fr/documents/chartes.php

Page 4: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

A. Navigateurs web, clients HTTP

Pour la majorité des systèmes de l’Ecole, l’usage des proxies est obligatoire pour la navigation sur Internet. La configuration à utiliser est la

suivante.

Dans le panneau de configuration Windows,

cliquez sur Options

Internet. Sélectionnez l’onglet

Connexions. Cliquez sur le bouton

Paramètres réseau. Remplissez ensuite

les champs comme suit :

http://cache.polytechnique.fr/proxy.pac

Avec Firefox1, sélectionnez le menu Outils, puis Options.

Cliquez sur le menu Avancé, puis l’onglet Réseau. Remplissez

ensuite les champs comme suit :

1 http://www.getfirefox.com/

Page 5: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

En ligne de commande, vous pouvez également accéder aux

proxies lors de l’utilisation d’applications comme wget, lynx… Il

suffit de spécifier la variable http_proxy dans votre

environnement :

bash$ export http_proxy = ‘http://cache.polytechnique.fr:8080/’

WindowsUpdate ne fonctionne plus!

Vous avez suivi à la lettre les étapes de configuration ci-dessus, et vous ne pouvez plus

mettre à jour votre système Windows XP au travers de WindowsUpdate (erreurs 0x8…).

Il s’agit d’un problème de configuration du service de mise à jour. Indiquez à ce service

d’utiliser le proxy HTTP au moyen de la commande :

C:\> proxycfg –u

Réseau « visiteur »

Le réseau visiteur de l’Ecole, composé de prises physiques dédiées aux séjours de courte durée sur le site, est compatible avec l’autoconfiguration

des navigateurs. Cochez la case « Détecter automatiquement les

paramètres de connexion » (menu Outils, Options Internet, Connexion, bouton Paramètres LAN) et Internet Explorer recevra automatiquement la

configuration adéquate. Rapprochez-vous de l’administrateur système et réseaux de votre laboratoire d’accueil pour plus d’informations.

Page 6: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

B. Clients FTP

Les clients FTP peuvent bénéficier des services du proxy FTP en place sur

cache.polytechnique.fr, port 21. Ce proxy est de type

« user@host ». Il accepte les connexions sur les serveurs anonymes et

authentifiés. Utilisez par exemple le client FileZilla2. Cliquez sur le menu

Edition, puis Paramètres, et remplissez les champs comme suit.

L’hôte proxy est cache.polytechnique.fr.

En ligne de commande, vous pouvez également accéder aux

proxies FTP. Il suffit de spécifier la variable ftp_proxy dans

votre environnement : $ export ftp_proxy = ftp://cache.polytechnique.fr/

Pour votre plate-forme :

Fetch 5 : http://fetchsoftworks.com/fetch/download/Fetch_5.5.1.dmg

gFTP: http://gftp.seul.org/

2 http://filezilla-project.org/download.php?type=client

Page 7: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

C. Messagerie électronique POP3S/IMAPS

Il est possible de relever son courrier électronique sur un serveur extérieur au travers des serveurs mandataires de l’Ecole. Pour cela,

l’usage d’un logiciel supplémentaire et une reconfiguration du client de courrier électronique sont nécessaires.

Note : De passage à l’Ecole, pour faciliter votre travail, renseignez-vous au préalable

auprès de votre organisme d’origine sur les moyens de consulter plus facilement votre

courrier. Ceci peut être au travers d’un webmail, d’une redirection temporaire…

Vous devez exécuter sur votre poste de travail le logiciel HTTPort qui va

se charger du relais entre votre client de courrier électronique et le proxy

http.

Serveur POP3

Port

110/

tcp

Réponse

Serveur POP3

Port

110/

tcp

Réponse

Serveur Proxy

Réponse

Port

9110/

tcp

local

Port

8080/

tcp

A l’extérieur de l’Ecole

Le logiciel client de courrier initie une connexion réseau

vers le serveur de courrier, en utilisant le protocole

POP3. Le serveur lui répond selon le même protocole.

A l’Ecole

Vous exécutez HTTPort sur votre poste de travail. Ce logiciel ouvre localement un port

9110 sur votre poste de travail. Vous configurez votre client de courrier pour se connecter à

votre propre machine (localhost) sur ce port 9110, comme si elle devenait le serveur de

courrier.

Lors du relevé des messages, le client de courrier envoie sa requête à HTTPort, qui la

transmet en protocole HTTP (en rouge) au serveur mandataire, qui la relaie vers le serveur

externe POP3 hébergeant le courrier (en bleu, protocole POP3). La réponse arrive selon le

chemin inverse.

Téléchargez et installez le logiciel HTTPort.3.SNFM3. Lancez le logiciel et

allez à l’onglet Port Mapping. Cliquez sur le bouton Remove pour

supprimer toutes les entrées existantes, et créez-en une nouvelle à l’aide

du bouton Add. Donnez un nom à cette nouvelle entrée en cliquant avec le

bouton droit sur New Mapping, puis menu Edit. Dans l’exemple, l’entrée a

été baptisée MonLabo.

Entrez ensuite le numéro de port local de redirection puis le nom du

serveur distant et le numéro du port distant selon la table suivante :

Protocole supporté Port local Port distant

POP3 9110 110

IMAP 9143 143

POP3S (SSL) 9995 995

IMPAS (SSL) 9993 993

3 http://www.htthost.com/httport3snfm.exe

Page 8: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Ce qui donne par exemple, pour un serveur distant « pop.monlabo.fr »

accessible en POP3 la configuration ci-dessous. Vous pouvez entrer

plusieurs configurations en cliquant une nouvelle fois sur Add.

Dans l’onglet Proxy, renseignez ensuite les champs comme suit.

Cliquez sur le bouton Start pour lancer la redirection. Minimisez

l’application (ne la fermez pas !)

Page 9: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Note : Envoi du courrier

L’envoi du courrier électronique utilise le protocole SMTP. Pour des raisons de sécurité,

l’utilisation d’un serveur de courrier hors du site sur lequel votre poste de travail est

connecté est prohibée. Pour répondre à vos messages, vous devez donc reconfigurer

votre client de courrier pour utiliser le serveur SMTP de votre laboratoire ou de l’Ecole

(mx.polytechnique.fr).

La connexion réclame l’installation du logiciel proxytunnel4.

Selon les plateformes, une compilation peut être nécessaire. Une fois le binaire disponible et/ou installé, vous pouvez lancer la

redirection de ports (voir le tableau de ports ci-dessus pour le choix des éléments en rouge) dans une fenêtre Terminal comme suit :

# /usr/local/bin/proxytunnel -a 9110 -g cache.polytechnique.fr \

-G 8080 -d pop.monlabo.fr -D 110

D. Connexion SSH et transferts de fichiers SFTP/SCP Une connexion SSH peut être relayée par un serveur proxy HTTP, cela à

condition que votre client le supporte, ou que vous utilisiez un logiciel tiers le permettant. Le client le plus polymorphe est PuTTY5. Il supporte

totalement l’usage des proxies HTTP sur toutes les plateformes.

Sous Mac OS X, vous devrez recompiler PuTTY à partir des

sources, ou utiliser la méthode « ligne de commande » décrite plus

loin.

Configurez les paramètres

« Connection -> Proxy » de

PuTTY comme indiqué dans l’image ci-contre.

Connectez-vous ensuite en

renseignant les champs de la page

« Session ».

4 http://proxytunnel.sourceforge.net/download.php 5 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Page 10: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Pour pouvoir utiliser le déport d’affichage d’un serveur X-Window distant,

vous devez : installer sur votre système un serveur X local6, qui accueillera les

connexions provenant des logiciels clients exécutés sur le serveur

distant ; configurer PuTTY comme indiqué ci-dessous afin d’activer le déport

de l’affichage.

Lancez votre serveur X local avant d’initier la connexion SSH. Une fois la connexion établie, tout logiciel graphique exécuté sur le serveur s’affichera

sur votre machine.

Remarque : Il peut être nécessaire de positionner manuellement la

variable DISPLAY sur le serveur à la bonne valeur (votre_machine:0).

6 Par exemple, vous trouverez un serveur gratuit pour Windows sur http://freedesktop.org/wiki/Xming

Page 11: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Si vous ne pouvez disposer de PuTTY, ou que vous

devez utiliser la ligne de commande, procurez-vous

le logiciel Corkscrew7.

Lancez ensuite une console. Modifiez votre ~/.ssh/config comme suit :

# utiliser le proxy http pour toutes les connexions

Host *

ProxyCommand corkscrew cache.polytechnique.fr 8080 %h %p

# ou utiliser le proxy http pour une connexion donnée

Host monserveurssh.dehors.com

ProxyCommand corkscrew cache.polytechnique.fr 8080 %h %p

Vous êtes alors prêt à utiliser votre client SSH en ligne de commande. Connectez-vous de manière habituelle sur le serveur distant.

Remarque : Il n’est pas possible de détailler l’ensemble des

configurations pour tous les programmes tournant sous Linux et pouvant utiliser les proxies. Merci de vous référer à la documentation en ligne pour

connaître le support et la configuration nécessaire. Suivent quelques exemples pour des programmes communs :

Lynx : Modifier le fichier lynx.cfg et ajouter

http_proxy:http://cache.polytechnique.fr:8080/

https_proxy:http://cache.polytechnique.fr:8080/

W3M : w3m –o http://cache.polytechnique.fr:8080/ <site distant>

7 http://www.agroman.net/corkscrew/

Page 12: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

Si vous désirez réaliser des transferts de fichiers, utilisez WinSCP8 qui

permet l’utilisation d’un proxy HTTP pour une connexion SCP/SFTP. Lors de l’installation, cochez la case demandant l’affichage des options de

connexion avancées. Lancez ensuite le programme et configurez-le

comme indiqué ci-dessous.

8 http://winscp.sourceforge.net

Page 13: Utilisation des serveurs mandataires (« proxy ») avec … · 2 . ... serveur distant et le numéro du port distant selon la table ... dans une fenêtre Terminal comme suit :

E. Configuration client CNRS XLAB9

Dans l’application, choisissez : DossierAdministration puis

ParamétrageParamétrage de transfert. Choisissez votre centre de

transfert puis cliquez sur « Modifier ». Renseignez les paramètres comme suit.

Pour plus d’informations, voir http://www.dsi.cnrs.fr/labo/documentation/documentation.htm