<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//FR">
<HTML>
<HEAD>
 <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <META NAME="GENERATOR" CONTENT="lfparser_2.12">
 <META NAME="LFCATEGORY" CONTENT="System Administration">
 <TITLE>lf202, System Administration:  Par le tunnel</TITLE>
<!-- stylesheet added by lfparser: --> 
<style type="text/css">
<!--
 td.top {font-family: Arial,Geneva,Verdana,Helvetica,sans-serif; }
 pre { font-familiy:monospace,Courier }
 p.cl { color:#EE9500 }
 a.nodec { text-decoration:none }
 p.trans { font-size:8pt; text-align:right }
 p.clbox { width:50%; alignment:center; background-color:#FFD700; border-style:none; border-width:medium; border-color:#FFD700; padding:0.5cm ;  text-align:center }
 p.foot { background-color:#AAAAAA; color:#FFFFFF; border-style:none; border-width:medium; border-color:#AAAAAA; padding:0.5cm ; margin-top:0.1cm; margin-right:1cm; margin-left:1cm; text-align:center }
-->
</style>
 
</HEAD>
<BODY bgcolor="#ffffff" text="#000000">
 <!-- this is generated html code. NEVER use this file for your
 translation work. Instead get the file with the same article number
 and .meta.shtml in its name. Translate this meta file and then
 use lfparser program to generate the final article -->
 <!-- lfparser can be obtained from http://main.linuxfocus.org/~guido/dev/lfparser.html -->

<!-- 2pdaIgnoreStart -->

<!-- start navegation bar -->
 <!-- top navegation bar -->
 <TABLE cellspacing="0" cellpadding="0" border="0" align="center" width="90%">
   <TR bgcolor="#2e2292">
     <TD class="top"><TABLE cellspacing="0" cellpadding="0" border="0" width=
       "100%">
         <TR><TD width="144"><IMG src="../../common/images/logolftop.gif"
           alt="[LinuxFocus-icon]" width="350" height="45" align="left" 
           border="0"></TD>

           <TD class="top">
             <TABLE width="100%">
               <TR align="right">
                 <TD class="top"><A class="nodec" href="../index.shtml"><FONT color=
                 "#DDDDDD">Sommaire</FONT></A> &nbsp;|&nbsp; <A class=
                 "nodec" href="../map.html"><FONT color=
                 "#DDDDDD">Carte</FONT></A> &nbsp;|&nbsp; <A class="nodec" href="../Themes/index.html"><FONT color=
                 "#DDDDDD">Index</FONT></A> &nbsp;|&nbsp; <A class="nodec" href="../Search/index.html"><FONT color=
                 "#DDDDDD">Recherche</FONT></A> </TD>
               </TR>

               <TR align="right">
                 <TD class="top">
                   <HR width="100%" noshade size="1">
                 </TD>
               </TR>
             </TABLE>
           </TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end top navegation bar -->
 <!-- blue bar -->
 <TABLE cellspacing="0" cellpadding="0" border="0" align="center"
 width="90%">
   <TR bgcolor="#00ffff">
     <TD><IMG src="../../common/images/transpix.gif" width="1" height=
     "2" alt=""></TD>
   </TR>
 </TABLE>
 <!-- end blue bar -->
 <!-- bottom navegation bar -->
 <TABLE cellspacing="0" cellpadding="0" border="0" align="center"
 width="94%">
   <TR bgcolor="#000000">
     <TD>
       <TABLE cellspacing="0" cellpadding="1" border="0" width=
       "100%">
         <TR align="center">
           <TD class="top"><A class="nodec" href="../News/index.shtml"><FONT color=
           "#FFFFFF">Nouvelles</FONT></A> </TD>
           <TD><FONT color="#FFFFFF">|</FONT> </TD>
           <TD><A class="nodec" href="../Archives/index.html"><FONT color=
           "#FFFFFF">Archives</FONT></A> </TD>
           <TD><FONT color="#FFFFFF">|</FONT> </TD>
           <TD><A class="nodec" href="../Links/index.html"><FONT color=
           "#FFFFFF">Liens</FONT></A> </TD>
           <TD><FONT color="#FFFFFF">|</FONT> </TD>
           <TD><A class="nodec" href="../aboutus.html"><FONT color=
           "#FFFFFF">A propos</FONT></A> </TD>
           <TD>&nbsp;</TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end bottom navegation bar -->
<!-- stop navegation bar -->

<!-- SSI_INFO -->

<!-- tr_staticssi include virtual -->
<!-- tr_staticssi exec cmd -->
<!-- addedByLfdynahead ver 1.4 --><TABLE ALIGN="right" border=0><TR><TD ALIGN="right"><FONT SIZE="-1" FACE="Arial,Helvetica">Ce document est disponible en: <A href="../../English/May2001/article202.shtml">English</a> &nbsp;<A href="../../Castellano/May2001/article202.shtml">Castellano</a> &nbsp;<A href="../../Deutsch/May2001/article202.shtml">Deutsch</a> &nbsp;<A href="../../Francais/May2001/article202.shtml">Francais</a> &nbsp;<A href="../../Italiano/May2001/article202.shtml">Italiano</a> &nbsp;<A href="../../Nederlands/May2001/article202.shtml">Nederlands</a> &nbsp;<A href="../../Portugues/May2001/article202.shtml">Portugues</a> &nbsp;<A href="../../Russian/May2001/article202.shtml">Russian</a> &nbsp;<A href="../../Turkce/May2001/article202.shtml">Turkce</a> &nbsp;<A href="../../Arabic/May2001/article202.shtml">Arabic</a> &nbsp;</FONT></TD></TR></TABLE><br>
 

<!-- 2pdaIgnoreStop -->

<!-- SHORT BIO ABOUT THE AUTHOR -->
<TABLE ALIGN=LEFT BORDER=0 hspace=4 vspace=4 WIDTH="30%" >
<TR>
<TD>

<!-- 2pdaIgnoreStart -->
<!-- PALM DOC -->
<TABLE BORDER=0 hspace=4 vspace=4> <TR> <TD>
<font size=1> <img src="../../common/images/2doc.gif" width=34 align=left border=0 height=22 alt="convert to palm"><a href="http://cgi.linuxfocus.org/cgi-bin/2ztxt">Convert to GutenPalm</a><br>or <a href="http://cgi.linuxfocus.org/cgi-bin/2pda">to PalmDoc</a></font>
</TD> </TR> </TABLE>
<!-- END PALM DOC -->
<!-- 2pdaIgnoreStop -->
<br>
<IMG SRC="../../common/images/Georges-Tarbouriech.jpg" ALT="[Photo of the Author]" HEIGHT=124 WIDTH=115>
<BR>par  <A HREF="mailto:georges.t&#64;linuxfocus.org">Georges Tarbouriech</A>
<BR><BR>
<I>L&acute;auteur:</I><BR>
<P>
Georges est un vieil utilisateur d'Unix (commercial et libre). Il s'int&eacute;resse
beaucoup &agrave; la s&eacute;curit&eacute; et tient &agrave; remercier la communaut&eacute; du logiciel libre pour
l'&eacute;norme travail r&eacute;alis&eacute; dans ce domaine.
<BR></P>
<BR><i>Sommaire</i>:
<UL>
  <LI><A HREF="#lfindex0">Pourquoi utiliser ssh ?</A></LI>
  <LI><A HREF="#lfindex1">SSH et VNC</A></LI>
  <LI><A HREF="#lfindex2">SSH et MySQL</A></LI>
  <LI><A HREF="#lfindex3">SSH et l'&eacute;mulation de terminal</A></LI>
  <LI><A HREF="#lfindex4">A partir de l&agrave;, o&ugrave; allons-nous ?</A></LI>
  <LI><A HREF="#lfindex5">Enfin, c'est fini !</A></LI>
  <LI><A HREF="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=202&lang=fr">Discussion sur cet article</A></LI>
</UL>

</TD></TR></TABLE>
<!-- HEAD OF THE ARTICLE -->
<br>&nbsp;
<H2> Par le tunnel</H2>
 <IMG SRC="../../common/images/illustration202.gif" HSPACE=10 >
<!-- ABSTRACT OF THE ARTICLE -->
<P><i>R&eacute;sum&eacute;</i>:
<P>
<p><a
href="http://www.ssh.com">SSH</a>, le "secure shell" est un tr&egrave;s bon produit
commercial. Toutefois, il existe de nombreuses versions libres de clients ou de
serveurs ssh, disponibles pour Unix (commercial ou libre) ou pour diff&eacute;rents OS.
<br>
Le plus connu est sans doute OpenSSH, disponible sur
<a
href="http://www.openssh.org">http://www.openssh.org</a>. A partir de ce site,
vous trouverez de nombreuses alternatives pour Unix, Windos, Mac... Concernant
des produits tels que Windos, vous ne trouverez que des clients libres.
<br>
Dans cet article, nous pr&eacute;sentons quelques exemples sur l'usage de ssh comme
moyen de faire passer dans un tunnel les donn&eacute;es d'applications externes. Les
VPNs (Virtual Private Network) sont &eacute;galement bas&eacute;s sur ssh, mais d'une mani&egrave;re
beaucoup plus &eacute;labor&eacute;e que celle que nous abordons ici. Une autre solution
sophistiqu&eacute;e consiste &agrave; utiliser <a
href="http://vtun.sourceforge.net">VTun</a>.
<br>
En cons&eacute;quence, consid&eacute;rons ce "tunneling" comme un moyen simple et facile de
crypter les donn&eacute;es d'un r&eacute;seau h&eacute;t&eacute;rog&egrave;ne pour pr&eacute;venir leur interception.
Evidemment, ceci s'applique aussi bien &agrave; un r&eacute;seau local qu'&agrave; un r&eacute;seau distant.
Toutefois, rappelez-vous, ssh ne fait que crypter les donn&eacute;es, il n'am&eacute;liorera
pas la s&eacute;curit&eacute; de votre r&eacute;seau &agrave; lui tout seul...
<br>
Vous voici avertis !

</p></P>
<HR size="2" noshade align="right"><BR>
<!-- BODY OF THE ARTICLE -->

<A NAME="lfindex0">&nbsp;</A>
<H2>Pourquoi utiliser ssh ?</H2>

<p>
SSH est un remplacement de telnet ou de rsh, rlogin, comme d&eacute;j&agrave; mentionn&eacute; dans <a
href="../January2001/article180.shtml"> un article pr&eacute;c&eacute;dent</a>. M&ecirc;me si
quelques probl&egrave;mes de s&eacute;curit&eacute; ont &eacute;t&eacute; d&eacute;couverts r&eacute;cemment dans ssh, il reste
un tr&egrave;s bon outil pour le cryptage des donn&eacute;es. Au fait, le probl&egrave;me de s&eacute;curit&eacute;
susmentionn&eacute; concernait les mots de passe : il est fortement recommand&eacute;
d'utiliser les passphrases &agrave; la place et bien s&ucirc;r les cl&eacute;s RSA ! Utiliser ssh
n'emp&ecirc;che pas non plus d'utiliser d'autres outils de s&eacute;curit&eacute; tels que
tcpwrappers, par exemple.
<br>
Il est tr&egrave;s facile d'intercepter les donn&eacute;es circulant sur un r&eacute;seau gr&acirc;ce &agrave; des
outils standards tels que tcpdump ou snoop. Vous pouvez tester cela sur un
r&eacute;seau o&ugrave; deux machines &eacute;changent des donn&eacute;es par telnet, par exemple. Depuis
une troisi&egrave;me machine sous Linux, par exemple, lancez tcpdump (en tant que root,
bien s&ucirc;r) et regardez : vous pouvez tout lire !
<br>
Bien s&ucirc;r, l'affichage est trop rapide pour pouvoir tout lire &agrave; l'&eacute;cran, mais
rien ne vous emp&ecirc;che de rediriger la sortie vers un fichier et ensuite de le
lire tranquillement en buvant un caf&eacute; ou en fumant une cigarette. Si c'est vrai
pour les donn&eacute;es, &ccedil;a se v&eacute;rifie aussi pour les mots de passe : autrement dit, la
porte est grande ouverte aux pirates. Vous leur donnez la cl&eacute; pour entrer chez
vous.
<br>
Imaginez que les donn&eacute;es soient confidentielles... Si vous &ecirc;tes
l'administrateur, j'ai bien peur que votre patron vous sugg&egrave;re de chercher un
autre boulot ailleurs.
<br>
Les "remote commands", rsh, rcp, rlogin sont &eacute;galement tr&egrave;s dangereuses, puisque
les donn&eacute;es circulent &eacute;galement en clair. Si ssh est un bon replacement de
rlogin ou rsh, la distribution contient aussi scp qui est &agrave; son tour un bon
remplacement de rcp.
Autrement dit, vous n'avez plus besoin des "remote commands" ou de telnet si
vous utilisez ssh, ou tout au moins, vous ne devriez plus vous en servir.
<br>
Comment installer ssh, comment g&eacute;n&eacute;rer les cl&eacute;s publiques ou priv&eacute;s... n'entre
pas dans le cadre de cet article. Vous trouverez tout ce dont vous avez besoin
dans l'archive ou en lisant la documentation disponible sur le sujet &agrave;
<a
href="http://www.linuxdoc.org">the Linux Documentation Project</a>,
par exemple.
<br>
Compte tenu que l'utilisation d'un ordinateur aujourd'hui consiste presque
toujours &agrave; transf&eacute;rer des donn&eacute;es, d'une mani&egrave;re ou d'une autre, ssh devrait
&ecirc;tre obligatoire... enfin, c'est comme vous voulez. Cela dit, ssh peut faire
beaucoup plus que remplacer telnet ou les "remote commands".
<br>
Il peut &ecirc;tre utilis&eacute; pour transf&eacute;rer des donn&eacute;es entre des applications externes
et bien s&ucirc;r, des OS diff&eacute;rents. Il peut aussi compresser ces donn&eacute;es. Il est
souvent utilis&eacute; avec des protocoles tels que pop, ftp, http... soit pour la
compression, soit pour le cryptage. C'est tr&egrave;s pratique, par exemple, si vous
&ecirc;tes administrateur, pour vous connecter de chez vous au travail ou l'inverse.
<br>
Comme il s'agit d'une application client/serveur, ssh a bien s&ucirc;r besoin des deux
pour fonctionner : il vous faut une machine avec un serveur ssh actif et une
machine avec un client ssh actif (J'esp&egrave;re que vous avez remarqu&eacute; &agrave; quel point
je suis un gros malin !).
<br>
Pourquoi insister sur l'&eacute;vidence ? Comme nous parlons de logiciel libre, Unix
mis &agrave; part, de nombreux OS n'ont pas de serveurs libres. C'est-&agrave;-dire que
parfois il sera difficile de faire ce qui semble &eacute;vident et il faudra contourner
le probl&egrave;me : la cl&eacute; se nomme redirection. D'avantage sur le sujet un peu plus
loin. Cela signifie qu'avec Mac OS ou Windos, vous n'aurez pas de serveurs
libres. Il faudra faire avec les clients et ce n'est pas toujours aussi &eacute;vident
qu'il y para&icirc;t. Prenons quelques exemples.
</p>
<A NAME="lfindex1">&nbsp;</A>
<H2>SSH et VNC</H2>

<p>
Si vous ne connaissez pas VNC, vous passez &agrave; c&ocirc;t&eacute; d'un des logiciels les plus
extraordinaires jamais vus. Vous pouvez donner un coup d'oeil
<a
href="../July2000/article155.shtml"> ici</a> pour en savoir plus.
<br>
Si vous allez sur le site de VNC, <a
href="http://www.uk.research.att.com/vnc/docs.html">
http://www.uk.research.att.com/vnc/docs.html</a> vous trouverez de nombreuses
informations sur le sujet que nous traitons. Par exemple, vous verrez comment
utiliser VNC avec ssh, depuis un client ssh Windos et un serveur ssh Unix. Par
cons&eacute;quent, je ne vais pas r&eacute;&eacute;crire le beau travail de Frank
Stajano puisqu'il est bien meilleur que ce que je pourrais en faire.
<br>
Voyons donc comment &ccedil;a marche.
<br>
Tout d'abord, vous devez choisir un client ssh libre pour Windos. Pour cet
exemple nous utiliserons Teraterm Pro avec son extension Ttssh. Vous le
trouverez sur <a
href="http://hp.vector.co.jp/authors/VA002416/teraterm.html">http://hp.vector.co.jp/authors/VA002416/teraterm.html</a>.
En fait, il se nomme Ttssf puisqu'il s'agit d'une version autoris&eacute;e en France.
(Les choses sont en train de changer, mais sachez que de nombreux pays
interdisent encore le cryptage. Visitez cet URL pour conna&icirc;tre la situation du
cryptage dans votre propre pays : <a href=
"http://www2.epic.org/reports/crypto2000/countries.html">http://www2.epic.org/reports/crypto2000/countries.html</a>.)
<br>
<p>
<strong>Additif version fran&ccedil;aise</strong>
<br>
Sachez qu'en France, la situation en vigueur date de 1999, c'est-&agrave;-dire "sous le
r&eacute;gime 128 bits". Il se trouve que ssh utilise du 168 bits (avec 3DES), donc soumis &agrave;
autorisation pr&eacute;alable. Ca signifie que si vous utilisez OpenSSL (256 bits) ou OpenSSH tels
quels, vous &ecirc;tes dans l'ill&eacute;galit&eacute;... c'est toujours bon &agrave; savoir !
<br>
La lib&eacute;ralisation est bien pr&eacute;vue... mais il faudra attendre encore un peu (de
nouvelles &eacute;lections pour que la loi sur la soci&eacute;t&eacute; de l'information soit vot&eacute;e).
<br>
Merci &agrave; Bernard Perrot pour avoir "&eacute;clair&eacute; mes lanternes".
<br>
Pour ceux qui l'ignore, Bernard Perrot est la personne &agrave; qui nous devons de
pouvoir utiliser l&eacute;galement ssh en France. Sa version de ssh, nomm&eacute;e ssf, est la
seule prenant en charge la d&eacute;claration d'utilisation et l'autorisation qui
en d&eacute;coule... et qui est obligatoire dans notre pays.
<br>
Vous trouverez ssf &agrave; <a
href="http://ww2.lal.in2p3.fr/~perrot/ssf/">http://ww2.lal.in2p3.fr/~perrot/ssf/</a>.
Si vous souhaitez rester dans la l&eacute;galit&eacute;, sans tracasserie administrative,
c'est la version qu'il vous faut. Cela dit, c'est comme vous le sentez, mais
vous devrez en assumer le risque.
<br>
<strong>Fin d'additif</strong>
</p>
<p>
Maintenant, consid&eacute;rons que vous avez lanc&eacute; un serveur ssh sur une machine Unix.
Sur la m&ecirc;me machine, nous supposons que vous pouvez lancer un serveur vnc
(vncserver). Ces deux serveurs en fonctionnement, vous connectez par exemple,
une machine NT &agrave; ce serveur Unix en utilisant Ttssh. Vous avez donc une
connexion crypt&eacute;e entre les deux machines. Mais cela ne vous permet pas d'avoir
un protocole vncviewer (le client vnc) crypt&eacute; depuis la machine NT. Pour cela,
vous devez dire &agrave; ssh de rediriger (nous y voici !) le bon port.
<br>
La machine Unix sur laquelle le vncserver est actif se nomme "bandit" et utilise
le port 5901, puisqu'il s'agit de l'affichage n°1, l'affichage X par d&eacute;faut sur
cette machine &eacute;tant le n° 0. L'usage "normal" serait d'envoyer une commande
"vncviewer bandit:1". Ceci fonctionnerait, bien s&ucirc;r, mais sans que les donn&eacute;es
soient crypt&eacute;es. A la place, avec le "shell" de NT (l'interface DOS, quoi...),
envoyez la commande
"/ssh-L5902:bandit:5901" sans espace. Cela signifie que vous cr&eacute;ez un port local
5902. Maintenant, une commande telle que "vncviewer localhost:2" lance une
connexion crypt&eacute;e du protocole VNC sur votre machine NT.
Ceci peut &ecirc;tre r&eacute;alis&eacute; sans utiliser la ligne de commande puisque Ttssh poss&egrave;de
une interface graphique. Ajoutons que cette syntaxe ne concerne que Ttssh. La
m&ecirc;me commande sur une machine Unix serait :
"ssh -L 5902:bandit:5901 bandit".
<br>
Il s'agit bien s&ucirc;r d'un exemple basique : vous pouvez faire beaucoup plus
complexe. Lisez la doc disponible sur le site de VNC, particuli&egrave;rement celle de
Frank Stajano.
</p>
<A NAME="lfindex2">&nbsp;</A>
<H2>SSH et MySQL</H2>

<p>
<a
href="http://www.mysql.org">MySQL</a> est sans doute l'une des bases de donn&eacute;es
parmi les plus utilis&eacute;es, particuli&egrave;rement sur Internet. Encore une fois, s&eacute;curiser
MySQL n'entre pas dans le cadre de cet article. Toutefois, crypter les donn&eacute;es
circulant entre un serveur et un client MySQL rend la connexion plus s&ucirc;re. SSH
permet de faire cela, de la m&ecirc;me mani&egrave;re que celle utilis&eacute;e pour VNC, autrement
dit la redirection de port.
<br>
Notre exemple concerne un Intranet. Le serveur MySQL est une machine Linux et la
plupart des clients sont des machines NT. Nous utilisons de nouveau Ttssh sur
les machines Windos.
<br>
Le port par d&eacute;faut de MySQL est le 3306. Cette fois, nous redirigeons le m&ecirc;me
port (3306).
<br>
Ce peut &ecirc;tre une redirection locale ou distante.
<br>
Une redirection locale ressemblera &agrave; "/ssh-L3306:localhost:3306" sur une machine
NT ou &agrave; "ssh -L 3306:localhost:3306" sur une machine Unix. Utiliser "localhost"
permet d'envoyer les donn&eacute;es par l'interface loopback au lieu de l'interface
h&ocirc;te.
<br>
Une redirection distante serait "/ssh-R3306:bandit:3306" pour NT et "ssh -R
3306:bandit:3306" pour Unix.
<br>
Ceci ne concerne que la connexion proprement dite. Pour vous "loger" sur la
base, vous devez bien s&ucirc;r fournir le nom d'h&ocirc;te et le nom d'utilisateur au
serveur MySQL, ce dernier &eacute;tant probablement diff&eacute;rent de celui utilis&eacute; pour se
loger sur la machine. Voir les man pages de ssh sur l'option "-l".
<br>
Bien &eacute;videmment, ceci ne fonctionnera que si vous avez un client MySQL sur votre
machine NT.
<br>
Dans le cas contraire, vous devrez utiliser une application ODBC, Sybase par
exemple (ou si vous &ecirc;tes courageux, la merveille de "PetitMou" nomm&eacute;e Access).
Vous devez donc d&eacute;marrer cette application. Utilisez ensuite le pilote ODBC pour
lier &agrave; MySQL. Vous pouvez maintenant vous connecter au localhost, pas &agrave; l'h&ocirc;te
du serveur MySQL, pour acc&eacute;der au dit serveur MySQL. Les donn&eacute;es circulant entre
le serveur et le client sont maintenant crypt&eacute;es. Vous pouvez le v&eacute;rifier &agrave;
l'aide de snoop ou de tcpdump.
<br>
Il s'agit d'un exemple pour r&eacute;seau local. Si vous souhaitez faire de m&ecirc;me sur un
r&eacute;seau distant, ce sera un peu plus complexe, en particulier si vous &ecirc;tes
derri&egrave;re un firewall, par exemple. Ceci peut &ecirc;tre un moyen de faire de
l'administration &agrave; distance depuis chez vous, si vous &ecirc;tes le sysadmin, mais
vous ne pouvez pas imaginer acc&eacute;der &agrave; une base de donn&eacute;es sur un site web de
cette mani&egrave;re. Pour cela, il faudra trouver quelque chose de plus sophistiqu&eacute;,
comme un VPN par exemple, mais c'est l'id&eacute;e.
<br>
De toutes fa&ccedil;ons, ne croyez pas que ce soit suffisant pour s&eacute;curiser un serveur
de base de donn&eacute;es qui transf&egrave;re du confidentiel tel que des num&eacute;ros de carte de
cr&eacute;dit ! Au fait, qui croit vraiment quelqu'un affirmant qu'il poss&egrave;de un
serveur suffisamment s&eacute;curis&eacute; pour transf&eacute;rer ce genre de donn&eacute;es sans risque ?
Pas moi, en tout cas !!!
</p>
<A NAME="lfindex3">&nbsp;</A>
<H2>SSH et l'&eacute;mulation de terminal</H2>

<p>
Qu'est-ce que &ccedil;a veut dire puisque nous utilisons d&eacute;j&agrave; une &eacute;mulation de terminal
?
<br>
Supposons que vous ayez une vieille application Cobol sur un serveur Unix. Les
clients sont encore une fois des machines NT. Pour se connecter, elles ont
besoin d'une &eacute;mulation de terminal plus sophistiqu&eacute;e que vt100, vt220 ou vt320,
puisqu'elle doivent obtenir la bonne interface utilisateur. Les accents, les
tableaux... D&eacute;finir une &eacute;mulation de terminal standard (vt100, vt220...) en 8
bits ne r&eacute;soudra pas le probl&egrave;me. Ce que vous obtiendrez sera inutilisable. En
cons&eacute;quence, comme il s'agit d'un "vieux" produit, nous utilisons un "vieux"
logiciel sp&eacute;cifique d'&eacute;mulation de terminal.
<br>
Apr&egrave;s une longue bataille pour trouver la bonne &eacute;mulation, vous trouvez que
"ibm3151", par exemple, offre le meilleur compromis. Jusque l&agrave;, &ccedil;a va !
<br>
Mais, ce logiciel a &eacute;t&eacute; d&eacute;velopp&eacute; voici de nombreuses ann&eacute;es, et la s&eacute;curit&eacute;...
il n'y conna&icirc;t pas grand chose. La connexion utilise telnet ! Il se trouve que
les donn&eacute;es transf&eacute;r&eacute;es sont confidentielles... Alors quoi ? Il faut au moins,
trouver un moyen de crypter les donn&eacute;es. Et une fois de plus, ssh va nous aider.
<br>
Encore une fois, There Is More Than One Way to Do It...
<br>
Soit vous redirigez telnet vers le port 22 (ssh), soit vous redirigez le port de
l'&eacute;mulation de terminal. Mais... j'ai bien peur que le serveur n'accepte pas
qu'un simple utilisateur redirige le port telnet (23 par d&eacute;faut) : vous devez
&ecirc;tre root pour cela (du moins, je l'esp&egrave;re !). Concernant l'&eacute;mulation de
terminal, elle peut &ecirc;tre utilis&eacute;e par plusieurs utilisateurs simultan&eacute;ment,
n&eacute;cessitant ainsi un port diff&eacute;rent pour chaque connexion, soit 10
utilisateurs=10 ports.
<br>
Ca devient un peu plus "coton", n'est-il pas ?
<br>
Bien, tout d'abord, le serveur d'application doit avoir un serveur ssh en
service &agrave; l'&eacute;coute du port 22.
<br>
Depuis un client NT, connectez-vous au serveur d'application soit avec Ttssh,
soit par la "ligne de commande". Autrement dit, vous &eacute;tablissez une connexion
s&eacute;curis&eacute;e entre le serveur et le client en tant qu'utilisateur sp&eacute;cifique. A
partir du panneau options de Ttssh, vous redirigez le port local 50000 vers le
port 23 (telnet) du serveur distant. A partir de la ligne de commande, ce serait
"ssh-L50000:servername:23". Maintenant, vous pouvez demander &agrave; l'&eacute;mulation de
terminal d'utiliser le port 50000 &agrave; la place du port 23. Les donn&eacute;es circulent
maintenant par un canal s&eacute;curis&eacute;, ce qui signifie crypt&eacute;. Vous pouvez v&eacute;rifier
avec snoop ou tcpdump.
<br>
De toute &eacute;vidence, vous devrez faire de m&ecirc;me pour chaque client autoris&eacute; &agrave; se
connecter &agrave; l'application en changeant le num&eacute;ro du port redirig&eacute;. Par exemple,
vous pouvez utiliser 50001, 50002, etc.
<br>
Vous pourriez demander : pourquoi des ports si &eacute;lev&eacute;s ? La r&eacute;ponse est : pour
plusieurs raisons !
<br>
S&eacute;rieusement, la raison premi&egrave;re concerne la possibilit&eacute; de "manipuler" des
ports &eacute;lev&eacute;s sans &ecirc;tre root.
<br>
La seconde raison est que le port s&eacute;lectionn&eacute; ne doit pas d&eacute;j&agrave; &ecirc;tre en
service sur l'une ou l'autre des machines. Par exemple, si le serveur fonctionne
sous Solaris, de nombreux ports &eacute;lev&eacute;s sont utilis&eacute;s en fonction des services
actifs. Ainsi, le port 50000 et les suivants devraient fonctionner. En clair,
vous devrez v&eacute;rifier les ports en service avant la redirection.
<br>
Bien s&ucirc;r, cela fonctionnera pour de nombreuw OS capables d'utiliser des clients
ssh.
<br>
Pour ce qui concerne la mani&egrave;re d'automatiser le processus sur les machines
clientes, c'est &agrave; vous de voir. Vous ne pouvez pas demander &agrave; un utilisateur
"normal" de faire tout &ccedil;a avant de se connecter, n'est-ce pas ?
Nous laissons donc cela comme un exercice pour les lecteurs...
</p>
<A NAME="lfindex4">&nbsp;</A>
<H2>A partir de l&agrave;, o&ugrave; allons-nous ?</H2>

<p>
Ces quelques exemples montrent les usages multiples de ssh. Vous pouvez faire
encore plus avec de nombreuses applications et ssh. C'est fonction de vos
besoins. Toutefois, la "philosophie" est presque toujours la m&ecirc;me : la
redirection de port.
<br>
Pourtant, soyez prudents avec des redirections plus complexes. Par exemple si
vous redirigez par l'interm&eacute;diaire d'une troisi&egrave;me machine, les donn&eacute;es
circulant par la connexion du milieu ne seront pas crypt&eacute;es.
<br>
Un autre inconv&eacute;nient concerne les clients Windos utilisant Ttssh. La connexion
vers les ports redirig&eacute;s repose sur les adresses IP, comme pour les "remote
commands", permettant ainsi des attaques de "spoofing". D'o&ugrave; la n&eacute;cessit&eacute;
d'utiliser d'autres outils en plus de ssh, tels que les tcpwrappers.
<br>
Epluchez la "litt&eacute;rature" sur ssh, elle vous apprendra beaucoup. Votre
imagination fera le reste.
</p>
<A NAME="lfindex5">&nbsp;</A>
<H2>Enfin, c'est fini !</H2>

<p>
La s&eacute;curit&eacute; devrait &ecirc;tre la pr&eacute;occupation de chacun, mais ce n'est pas le cas !
ssh n'est que l'un des outils &agrave; utiliser au quotidien. Il est tr&egrave;s bon tant que
vous le consid&eacute;rez pour ce qu'il est, c'est-&agrave;-dire un outil de cryptage ou de
compression.
<br>
Tout seul, ssh est presque inutile puisqu'il ne comblera pas les nombreux
"trous" que vous pouvez avoir sur une machine ou un r&eacute;seau. S&eacute;curiser une
machine, un r&eacute;seau, est une lourde t&acirc;che et les outils ne font pas tout, m&ecirc;me
s'ils sont tr&egrave;s efficaces.
<br>
Les op&eacute;rations basiques sont obligatoires lorsqu'il s'agit de s&eacute;curit&eacute;.
N'oubliez pas d'enlever tous les services non utilis&eacute;s, de v&eacute;rifier les
programmes SUID root, de d&eacute;sactiver les applications &agrave; risque... Il y a beaucoup
&agrave; faire et ce ne sera jamais assez. Vous pouvez installer tous les outils de
s&eacute;curit&eacute; disponibles, ce sera inutile si vous laissez une ou plusieurs "portes
de derri&egrave;re" ouvertes en grand. Certes, c'est une autre histoire, mais ne vous
voilez pas la face.
<br>
Pour en revenir &agrave; ssh, c'est un outil indispensable tant que vous l'utilisez
correctement et pour ce pour quoi il a &eacute;t&eacute; fait. Encore une fois, utilisez-le avec des
passphrases, des cl&eacute;s RSA, mais pas avec des mots de passe. V&eacute;rifiez les
permissions des diff&eacute;rents fichiers dans le r&eacute;pertoire .ssh et bien s&ucirc;r les
permissions du r&eacute;pertoire lui-m&ecirc;me. Et, encore et toujours, utilisez, au moins,
les tcpwrappers !
<br>
Toutefois, rappelez-vous, la plupart des protocoles existants peuvent &ecirc;tre
transmis par le tunnel ssh. C'est tr&egrave;s utile pour rendre les communications un
peu plus s&ucirc;res.
<br>
Il existe un autre usage r&eacute;pandu de ssh dont nous n'avons pas parl&eacute;, la
redirection de session X. Puisque &ccedil;a implique d'avoir X sous diff&eacute;rents OS, nous
l'avons intentionnellement laiss&eacute; de c&ocirc;t&eacute;. Pourtant c'est bien dans le cadre du
"tunneling" de protocole. X n'&eacute;tant pas un mod&egrave;le de s&eacute;curit&eacute;, ssh peut bien
am&eacute;liorer les choses.
<br>
Pour des usages plus sophistiqu&eacute;s, ssh ne suffira pas. Comme nous l'avons d&eacute;j&agrave;
mentionn&eacute;, penchez-vous sur VPN ou des outils tels que VTun, ils seront
probablement plus adapt&eacute;s.
<br>
Enfin, renseignez-vous bien sur la situation de la cryptographie dans votre
propre pays. Ce serait quand m&ecirc;me triste de finir en prison pour espionnage
simplement pour avoir utilis&eacute; un logiciel non autoris&eacute;.
<br>
C'est comme &ccedil;a...
<br>
N'emp&ecirc;che, on vit une &eacute;poque formidable !


<!-- vim: set sw=2 ts=2 et: -->

<!-- 2pdaIgnoreStart -->
<A NAME="talkback">&nbsp;</a>
<h2>Discussion sur cet article</h2>
Chaque article poss&egrave;de sa page de discussion. Vous pouvez y soumettre un commentaire ou lire ceux d&acute;autres lecteurs:
<center>
<table border="0"  CELLSPACING="2" CELLPADDING="1">
 <tr BGCOLOR="#C2C2C2"><td align=center>
  <table border="3"  CELLSPACING="2" CELLPADDING="1">
   <tr BGCOLOR="#C2C2C2"><td align=center>
    <A href="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=202&lang=fr"><b>&nbsp;page de discussion&nbsp;</b></a>
   </td></tr></table>
</td></tr></table>
</center>

<HR size="2" noshade>
<!-- ARTICLE FOOT -->
<CENTER><TABLE WIDTH="95%">
<TR><TD ALIGN=CENTER BGCOLOR="#9999AA">
<A HREF="../../common/lfteam.html">Site Web maintenu par l&acute;&eacute;quipe d&acute;&eacute;dition LinuxFocus</A>
<BR><FONT COLOR="#FFFFFF">&copy; Georges Tarbouriech, <a href="../../common/copy.html">FDL</a> <BR><a href="http://www.linuxfocus.org">LinuxFocus.org</a></FONT>
<BR><a href="http://cgi.linuxfocus.org/cgi-bin/lfcomment?lang=fr&article=article202.shtml" target="_TOP">Cliquez ici pour signaler une erreur ou envoyer un commentaire à Linuxfocus</A><BR></TD>
<TD BGCOLOR="#9999AA"><!-- TRANSLATION INFO -->
<font size=2>Translation information:</font><TABLE>
<tr><td><font size=2>en</font></td>
    <td><font size=2>-&gt;</font></td>
    <td><font size=2>--</font></td>
    <td><font size=2><a href="mailto:georges.t&#64;linuxfocus.org"><FONT COLOR="#FFFFFF">Georges Tarbouriech</FONT></a></font></td>
</tr>
<tr><td><font size=2>en</font></td>
    <td><font size=2>-&gt;</font></td>
    <td><font size=2>fr</font></td>
    <td><font size=2><a href="mailto:georges.t&#64;linuxfocus.org"><FONT COLOR="#FFFFFF">Georges Tarbouriech</FONT></a></font></td>
</tr>
</TABLE></TD>
</TR></TABLE></CENTER>
<p><font size=1>2001-04-28, generated by lfparser version 2.12</font></p>
<!-- 2pdaIgnoreStop -->
</BODY>
</HTML>