<HTML> <HEAD> <TITLE>Si votre serveur PPP utilise PAP (Password Authentification Protocol) </TITLE> </HEAD> <BODY> <A NAME="pap"></A> <H1>13. <A NAME="s13"></A>Si votre serveur PPP utilise PAP (Password Authentification Protocol) </H1> <P> <A HREF="PPP-HOWTO.html#toc13">Contenu de cette section</A></P> <P>Si le serveur sur lequel vous vous connectez a besoin de l'authentification PAP ou CHAP, vous avez un petit peu plus de travail.</P> <P></P> <P>Pour les fichiers de configuration précédents, ajouter les lignes suivantes : <HR> <PRE> # # force pppd a utiliser le nom utilisateur de FAI comme 'nom d'hote' pendant # le processus d'authentification name <le nom de votre FAI> # vous devez editer cette ligne # # Si vous avez un *serveur* PPP vous devez forcer PAP ou CHAP en decommentant # l'une des lignes suivantes. Ne pas les utiliser si vous etes un client qui # se connecte sur un serveur PPP (meme s'il utilise PAP ou CHAP) puisque cela # forcera le serveur a s'authentifier aupres de votre machine (alors que cela # ne sera certainement pas possible - et la liaison echouera). #+chap #+pap # # Si vous utilisez des secrets ENCRYPTES dans le fichier /etc/ppp/pap-secrets, # alors decommentez la ligne suivante. # Remarque: ce n'est pas pareil que d'utiliser les mots de passe MS encryptes # comme ils peuvent etres avec MS RAS sur Windows NT. #+papcrypt </PRE> <HR> </P> <P></P> <H2>13.1 <A NAME="ss13.1"></A> Utiliser MSCHAP</H2> <P>Microsoft Windows NT RAS peut être configuré pour utiliser une variation particulière de CHAP (Challenge/Handshake Authentication Protocol). Dans l'archive des sources de PPP, vous devriez trouver un fichier appelé README.MSCHAP80 qui parle de cela.</P> <P></P> <P>Vous pouvez déterminer si le serveur demande une authentification utilisant ce protocole en activant le deboguage dans <CODE>pppd</CODE>. Si le serveur demande une authentification MS CHAP, vous devriez voir les lignes </P> <P> <HR> <PRE> rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>] </PRE> <HR> </P> <P></P> <P>L'information critique ici est <B>auth chap 80</B>.</P> <P></P> <P>Pour utiliser MS CHAP, vous devez recompiler pppd. Veuillez consulter les instructions dans le fichier README.MSCHAP80 des sources de PPP pour obtenir les instructions sur la façon de compiler en utilisant cette variante.</P> <P></P> <P>Vous devez remarquer que le code présent supporte uniquement des clients Linux PPP connectés sur un serveur MS Windows NT. Mais NE supporte PAS la configuration d'un serveur PPP Linux pour utiliser l'authentification MSCHAP80 pour les clients.</P> <P></P> <H2>13.2 <A NAME="ss13.2"></A> Le fichier de secrets de PAP/CHAP</H2> <P>Si vous utilisez l'authentification PAP ou CHAP, alors vous devez créer les fichiers . Ce sont <HR> <PRE> /etc/ppp/pap-secrets /etc/ppp/chap-secrets </PRE> <HR> </P> <P></P> <P>Il doivent être possédés par <B>root</B>, le groupe <B>root</B> et avoir les permissions 740 pour la sécurité.</P> <P></P> <P>Le premier point à remarquer au sujet de PAP et CHAP est qu'ils sont conçus pour authentifier <B>les ordinateurs</B> mais pas <B>les utilisateurs</B></P> <P></P> <P>"Humm? Qu'est ce que ça change ? " Me demandez vous.</P> <P></P> <P>Hé bien, une fois que l'ordinateur a établi une connexion PPP avec le serveur, <B>n'importe quel</B> utilisateur de votre système peut utiliser cette connexion - pas seulement vous. C'est pourquoi vous pouvez configurer un réseau à large domaine en reliant deux réseaux locaux avec PPP.</P> <P></P> <P>PAP peut (et CHAP <B>DOIT</B>) demander une authentification <B>bidirectionnelle</B> - c'est un nom et un code secret qui est nécessaire pour chaque ordinateur avec lequel il est impliqué. Cependant, ce n'est pas la façon dont tous les serveurs PPP fonctionnent pour offrir l'authentification PAP des appels PPP.</P> <P></P> <P>Il a été dit que votre FAI vous donnerait certainement un nom utilisateur et un mot de passe pour vous permettre de vous connecter sur son système et ensuite sur Internet. Votre FAI se fiche de connaître le nom de votre ordinateur, vous devrez donc utiliser votre nom utilisateur chez votre FAI comme nom pour votre machine.</P> <P></P> <P>Cela est possible avec l'option <CODE>name username</CODE> de <CODE>pppd</CODE>. Donc, si vous utilisez le nom donné par votre FAI, ajoutez la ligne <HR> <PRE> name votre_utilisateur nom_chez_votre_FAI </PRE> <HR> </P> <P>dans votre fichier <CODE>/etc/ppp/options</CODE>.</P> <P></P> <P>Techniquement, vous devrez utiliser <CODE>user votre_utilisateur nom_chez_votre_FAI</CODE> pour PAP, mais <CODE>pppd</CODE> est suffisamment intelligent pour interpréter l'option <CODE>name</CODE> comme <CODE>user</CODE> si nécessaire pour utiliser PAP. L'avantage d'utiliser l'option <CODE>name</CODE> est qu'elle est également valide pour CHAP.</P> <P></P> <P>Puisque PAP permet d'authentifier les <B>ordinateurs</B>, techniquement, vous devez aussi spécifier un nom d'ordinateur distant. Toutefois, comme de nombreuses personnes ont plus d'un seul FAI, vous pouvez utiliser un caractère générique (*) pour le nom d'ordinateur distant dans le fichier de secrets.</P> <P></P> <P>Il est aussi intéressant de remarquer que de nombreux FAI utilise des banques de modems multiples connectés sur différents serveurs de terminaux - tous ont un nom différent, mais sont accessibles avec un seul numéro d'appel. Il peut alors être difficile dans certaines circonstances de savoir à l'avance quel est le nom de l'ordinateur distant, puisque cela dépendra du serveur de terminal sur lequel vous vous connecterez !</P> <P></P> <H2>13.3 <A NAME="ss13.3"></A> Le fichier de secrets de PAP</H2> <P>Le fichier <CODE>/etc/ppp/pap-secrets</CODE> ressemble à <HR> <PRE> # Authentication Secrete avec PAP # client serveur secret adresses_IP_locale_acceptable </PRE> <HR> </P> <P></P> <P>Les quatre champs sont séparés par des espaces et le dernier peut être omis (c'est l'adresse dynamique ou sans doute statique de votre FAI).</P> <P></P> <P>Supposons que votre FAI vous ait donné un nom utilisateur <CODE>fred</CODE> et un mot de passe <CODE>flintstone</CODE> vous aurez l'option <CODE>name fred</CODE> dans <CODE>/etc/ppp/options[.ttySx]</CODE> et vous configurerez votre <CODE>/etc/ppp/pap-secrets</CODE> comme suit</P> <P> <HR> <PRE> # Authentication Secrete avec PAP # client serveur secret adresses_IP_locale_acceptable fred * flintstone </PRE> <HR> </P> <P></P> <P>Cela signifie que pour une machine locale <CODE>fred</CODE> (<CODE>pppd</CODE> lui impose de s'appeler comme cela même si ça n'est pas son nom de machine réel) et pour <B>n'importe quel</B> serveur, utiliser le mot de passe (secret) <CODE>"flintstone"</CODE>.</P> <P></P> <P>Remarquez que vous ne devez pas spécifier d'adresse IP locale, à moins que vous ne deviez FORCER une adresse locale statique particulière. Même si vous essayez cette option, il y a peu de chances qu'elle marche puisque la plupart des serveurs PPP (pour des raisons de sécurité) ne permettent pas au système distant de configurer l'adresse IP qu'ils reçoivent.</P> <P></P> <H2>13.4 <A NAME="ss13.4"></A> Le fichier de secrets de CHAP</H2> <P> Cette méthode nécessite une méthode authentification mutuelle - c'est à dire que vous devez permettre à votre machine d'authentifier le serveur distant <B>ET</B> le serveur distant d'authentifier votre machine.</P> <P></P> <P>Donc, si votre machine s'appelle <CODE>fred</CODE> et que le serveur distant s'appelle <CODE>barney</CODE> il faut définir sur fred <CODE>name fred remotename barney</CODE> et sur la machine distante <CODE>name barney remotename fred</CODE> dans les fichiers <CODE>/etc/ppp/options.ttySx</CODE> respectifs.</P> <P></P> <P>Le fichier <CODE>/etc/chap-secrets</CODE> de <CODE>fred</CODE> ressemblera à <HR> <PRE> # Authentication Secrete avec CHAP # client serveur secret adresses_IP_locale_acceptable fred barney flintstone barney fred wilma </PRE> <HR> </P> <P></P> <P>et pour <CODE>barney</CODE></P> <P> <HR> <PRE> # Authentication Secrete avec CHAP # client serveur secret adresses_IP_locale_acceptable barney fred flintstone fred barney wilma </PRE> <HR> </P> <P></P> <P></P> <P>Remarquez en particulier que les deux machines doivent avoir des entrées pour une authentification bidirectionnelle. Cela permet à la machine locale d'authentifier elle-même la machine distante <B>ET</B> la machine distante d'authentifier elle-même la machine locale.</P> <P></P> <H2>13.5 <A NAME="ss13.5"></A> Supporter plusieurs connexions authentifiées avec PAP</H2> <P>Certains utilisateurs ont plus d'un serveur sur lesquels ils se connectent en utilisant PAP. A partir du moment où votre nom utilisateur est différent sur chacune des machines sur lesquelles vous vous connectez, il n'y a pas de problème.</P> <P></P> <P>Mais, nombreux sont les utilisateurs qui ont le même nom utilisateur sur deux (ou plus, voire même tous les) systèmes où ils se connectent. Le problème revient donc à choisir la bonne ligne du fichier <CODE>/etc/ppp/pap-secrets</CODE>.</P> <P></P> <P>Comme vous pouvez le supposer, PPP fournit un mécanisme pour régler cela. PPP permet de définir un << pseudonyme >> pour le serveur distant final de la connexion en utilisant l'option <B>remotename</B> de pppd.</P> <P></P> <P>Supposons que vous vous connectiez sur deux serveurs PPP utilisant le même nom utilisateur <CODE>fred</CODE>. Vous configurerez votre <CODE>/etc/ppp/pap-secrets</CODE> avec</P> <P> <HR> <PRE> fred pppserveur1 barney fred pppserveur2 wilma </PRE> <HR> </P> <P></P> <P>Maintenant, pour se connecter sur <CODE>pppserveur1</CODE> vous utiliserez <CODE>name fred remotename pppserver1</CODE> dans votre <CODE>ppp-options</CODE> et pour <CODE>pppserveur2</CODE> <CODE>name fred remotename pppserver2</CODE>.</P> <P></P> <P>Puisque vous pouvez sélectionner le fichier d'options à utiliser avec <CODE>pppd</CODE> en utilisant l'option <CODE>file filename</CODE>, vous pouvez définir un script pour se connecter sur chacun de vos serveurs PPP, qui choisira le fichier d'options correct et mettra la bonne option <CODE>remotename</CODE>.</P> <P></P> <HR> <P> Chapitre <A HREF="PPP-HOWTO-14.html">suivant</A>, Chapitre <A HREF="PPP-HOWTO-12.html">Précédent</A> <P> Table des matières de <A HREF="PPP-HOWTO.html#toc13">ce chapitre</A>, <A HREF="PPP-HOWTO.html#toc">Table des matières</A> générale</P> <P> <A HREF="PPP-HOWTO.html">Début</A> du document, <A HREF="#0"> Début de ce chapitre</A></P> </BODY> </HTML>