Page suivante Page précédente Table des matières
13. Si votre serveur PPP utilise PAP (Password Authentification Protocol)
Si le serveur sur lequel vous vous connectez a besoin de l'authentification PAP ou CHAP, vous avez un petit peu plus de travail.
Pour les fichiers de configuration précédents, ajouter les lignes suivantes :
# # 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
13.1 Utiliser MSCHAP
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.
Vous pouvez déterminer si le serveur demande une authentification utilisant ce protocole en activant le deboguage dans
pppd. Si le serveur demande une authentification MS CHAP, vous devriez voir les lignes
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]
L'information critique ici est auth chap 80.
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.
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.
13.2 Le fichier de secrets de PAP/CHAP
Si vous utilisez l'authentification PAP ou CHAP, alors vous devez créer les fichiers . Ce sont
/etc/ppp/pap-secrets /etc/ppp/chap-secrets
Il doivent être possédés par root, le groupe root et avoir les permissions 740 pour la sécurité.
Le premier point à remarquer au sujet de PAP et CHAP est qu'ils sont conçus pour authentifier les ordinateurs mais pas les utilisateurs
"Humm? Qu'est ce que ça change ? " Me demandez vous.
Hé bien, une fois que l'ordinateur a établi une connexion PPP avec le serveur, n'importe quel 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.
PAP peut (et CHAP DOIT) demander une authentification bidirectionnelle - 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.
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.
Cela est possible avec l'option
name usernamedepppd. Donc, si vous utilisez le nom donné par votre FAI, ajoutez la ligne
name votre_utilisateur nom_chez_votre_FAI
dans votre fichier
/etc/ppp/options.
Techniquement, vous devrez utiliser
user votre_utilisateur nom_chez_votre_FAIpour PAP, maispppdest suffisamment intelligent pour interpréter l'optionnamecommeusersi nécessaire pour utiliser PAP. L'avantage d'utiliser l'optionnameest qu'elle est également valide pour CHAP.
Puisque PAP permet d'authentifier les ordinateurs, 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.
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 !
13.3 Le fichier de secrets de PAP
Le fichier
/etc/ppp/pap-secretsressemble à
# Authentication Secrete avec PAP # client serveur secret adresses_IP_locale_acceptable
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).
Supposons que votre FAI vous ait donné un nom utilisateur
fredet un mot de passeflintstonevous aurez l'optionname freddans/etc/ppp/options[.ttySx]et vous configurerez votre/etc/ppp/pap-secretscomme suit
# Authentication Secrete avec PAP # client serveur secret adresses_IP_locale_acceptable fred * flintstone
Cela signifie que pour une machine locale
fred(pppdlui impose de s'appeler comme cela même si ça n'est pas son nom de machine réel) et pour n'importe quel serveur, utiliser le mot de passe (secret)"flintstone".
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.
13.4 Le fichier de secrets de CHAP
Cette méthode nécessite une méthode authentification mutuelle - c'est à dire que vous devez permettre à votre machine d'authentifier le serveur distant ET le serveur distant d'authentifier votre machine.
Donc, si votre machine s'appelle
fredet que le serveur distant s'appellebarneyil faut définir sur fredname fred remotename barneyet sur la machine distantename barney remotename freddans les fichiers/etc/ppp/options.ttySxrespectifs.
Le fichier
/etc/chap-secretsdefredressemblera à
# Authentication Secrete avec CHAP # client serveur secret adresses_IP_locale_acceptable fred barney flintstone barney fred wilma
et pour
barney
# Authentication Secrete avec CHAP # client serveur secret adresses_IP_locale_acceptable barney fred flintstone fred barney wilma
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 ET la machine distante d'authentifier elle-même la machine locale.
13.5 Supporter plusieurs connexions authentifiées avec PAP
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.
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
/etc/ppp/pap-secrets.
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 remotename de pppd.
Supposons que vous vous connectiez sur deux serveurs PPP utilisant le même nom utilisateur
fred. Vous configurerez votre/etc/ppp/pap-secretsavec
fred pppserveur1 barney fred pppserveur2 wilma
Maintenant, pour se connecter sur
pppserveur1vous utiliserezname fred remotename pppserver1dans votreppp-optionset pourpppserveur2name fred remotename pppserver2.
Puisque vous pouvez sélectionner le fichier d'options à utiliser avec
pppden utilisant l'optionfile filename, 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 optionremotename.
Page suivante Page précédente Table des matières