diff --git a/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml
index 2e8eabb285..d3d049b2ae 100644
--- a/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml
@@ -1,1686 +1,1686 @@
Installer des applications: les logiciels pré-compilés
et les logiciels portés
&trans.a.fonvieille;
Synopsislogiciels portéslogiciels pré-compilésFreeBSD est livré avec une riche collection d'outils en tant
que partie du système de base. Cependant, beaucoup de choses
peuvent être faites avant d'avoir besoin de recourir à
l'installation d'une application tiers pour effectuer un travail
précis. FreeBSD fournit deux technologies complémentaires
pour installer des logiciels tiers sur votre système:
le Catalogue des logiciels portés de FreeBSD (pour une installation à partir des sources), et les logiciels
pré-compilés ou paquetages (pour installer des binaires pré-compilés). N'importe laquelle de ces deux méthodes peut
être utilisée pour installer les nouvelles versions de vos
applications favorites à partir d'un
support local ou directement depuis le réseau.Après la lecture de ce chapitre, vous saurez:Comment installer des logiciels tiers
pré-compilés.Comment compiler des logiciels tiers à partir des sources en utilisant le catalogue
de logiciels portés.Comment effacer les logiciels pré-compilés ou
portés précédemment installés.Comment modifier les paramètres par défaut
utilisés par le catalogue des logiciels
portés.Comment trouver l'application recherchée.Comment mettre à jour vos applications.Généralités sur l'installation de logicielsSi vous avez utilisé auparavant un système &unix; vous
saurez que la procédure typique pour installer les logiciels
tiers ressemble à ceci:Télécharger le logiciel, qui peut être
distribué sous forme de code source, ou sous forme d'un
binaire.Extraire le logiciel de son format de distribution
(généralement une archive tar compressée
soit avec &man.compress.1;, soit avec &man.gzip.1;, ou encore &man.bzip2.1;).Recherchez la documentation (peut être un fichier
INSTALL ou README, ou des fichiers dans un sous
répertoire doc/) et lisez les
informations sur comment installer le logiciel.Si le logiciel était distribué sous forme de
sources, compilez-le. Cela peut impliquer l'édition d'un
Makefile, ou l'exécution d'une
procédure configure, et d'autres
activités.Tester et installer le logiciel.Et cela si seulement tout se passe bien. Si vous installez un
logiciel qui n'a pas été spécialement porté
pour FreeBSD, il se peut que vous deviez éditer le code source
pour le faire fonctionner correctement.Si vous le voulez, vous pouvez continuer d'installer des
logiciels suivant la méthode “traditionnelle” sous
FreeBSD. Cependant, FreeBSD fournit deux technologies avec
lesquelles vous pouvez vous économiser beaucoup d'efforts: les
logiciels pré-compilés et le catalogue des logiciels
portés. A l'heure de l'écriture de ces lignes, plus de
&os.numports; applications tierces sont ainsi mises à
disposition.Pour n'importe quelle application donnée, le logiciel
pré-compilé FreeBSD pour cette application est un unique
fichier à télécharger. Il contient les copies
pré-compilées de toutes les
commandes de l'application, ainsi que tous fichiers de
configuration et documentation. Un logiciel pré-compilé
téléchargé peut être manipulé avec
les commandes FreeBSD de gestion des logiciels
pré-compilés, comme &man.pkg.add.1;,
&man.pkg.delete.1;, &man.pkg.info.1;, et ainsi de suite.
L'installation d'une nouvelle application peut être
effectuée grâce à une unique commande.Un logiciel porté pour FreeBSD est un ensemble de fichiers
conçus pour automatiser le processus de compilation d'une
application à partir du code source.Rappelez-vous qu'il y a un certain nombre d'étapes que vous
effectueriez si vous compiliez un programme vous-même (téléchargement, extraction,
application de correctifs, compilation, installation). Les
fichiers qui composent un logiciel porté contiennent toute
l'information nécessaire pour permettre au système de faire
cela pour vous. Vous lancez une poignée de commandes simples et
le code source de l'application est automatiquement
téléchargé, extrait, corrigé, compilé,
et installé pour vous.En fait, le catalogue des logiciels portés peut être
utilisé pour générer ce qui pourra plus tard
être manipulé avec pkg_add et d'autres
commandes de gestion des logiciels pré-compilés qui
seront présentés sous peu.Les logiciels pré-compilés et le catalogue des
logiciels portés comprennent la notion de
dépendances.
Supposez que vous voulez installer une application qui dépend
de l'installation d'une bibliothèque particulière.
L'application et la bibliothèque ont été toutes
deux rendues disponibles sous forme de logiciel porté pour
FreeBSD ou de logiciel pré-compilé.
Si vous utilisez la commande pkg_add ou le
catalogue des logiciels portés pour ajouter l'application, tous
les deux remarqueront que la bibliothèque n'a pas été
installée, et installeront automatiquement en premier la
bibliothèque.Etant donné que les deux technologies sont presque semblables,
vous pourriez vous demander pourquoi FreeBSD s'ennuie avec les
deux. Les logiciels pré-compilés et le catalogue de
logiciels portés ont chacun leurs propres forces, et celle que vous
emploierez dépendra de votre préférence.Avantages des logiciels pré-compilésL'archive compressée d'un logiciel
pré-compilé est généralement plus
petite que l'archive compressée contenant le
code source de l'application.Les logiciels pré-compilés ne
nécessitent pas de compilation supplémentaire.
Pour les grosses applications, comme
Mozilla,
KDE, ou GNOME
cela peut s'avérer important, particulièrement si
vous êtes sur un système lent.Les logiciels pré-compilés ne demandent pas une
compréhension du processus impliqué dans la compilation de
logiciels sous FreeBSD.Avantages du catalogue des logiciels portésLes logiciels pré-compilés sont normalement
compilés avec des options conservatrices, parce qu'ils
doivent pouvoir tourner sur le plus grand nombre de systèmes.
En installant à partir du catalogue des logiciels
portés, vous pouvez ajuster les options de compilation pour
(par exemple) générer du code
spécifique au Pentium IV ou à l'Athlon.Certaines applications ont des options de compilation
concernant ce qu'elles peuvent faire et ne pas faire. Par
exemple, Apache peut être
configuré avec une très large variété
d'options intégrées différentes.
En compilant à partir du catalogue des logiciels
portés vous n'avez pas à accepter les options par
défaut, et vous pouvez
les configurez vous-même.Dans certains cas, de multiples logiciels
pré-compilés existeront pour la même
application pour spécifier certaines configurations.
Par exemple, Ghostscript est
disponible comme logiciel pré-compilé
ghostscript et
ghostscript-nox11 , en fonction de si
vous avez installé ou non un serveur X11. Ce type
d'arrangement est possible avec les logiciels
pré-compilés, mais devient rapidement impossible
si une application a plus d'une ou deux options de
compilation.Les licences de certains logiciels interdisent les
distributions binaires. Ils doivent être distribués sous
forme de code source.Certaines personnes ne font pas confiance aux
distributions binaires. Au moins avec le code source, vous
pouvez (en théorie) le parcourir et chercher les
problèmes
potentiels par vous-même.Si vous avez des correctifs locaux, vous aurez besoin du
code source afin de les appliquer.Certaines personnes aiment avoir le code source à
portée de main, ainsi elles peuvent le lire si elles
s'ennuient, le
modifier, y faire des emprunts (si la licence le permet bien
sûr), etc...Pour suivre les mises à jour du catalogue des logiciels
portés, inscrivez-vous à la &a.ports; et la &a.ports-bugs;.Avant d'installer une application, vous devriez consulter
à la
recherche de problème de sécurité
concernant votre application.Vous pouvez également installer security/portaudit qui
contrôlera automatiquement toutes les applications
installées à la recherche de
vulnérabilités connues, un contrôle sera
également effectué avant toute compilation de
logiciel porté. De même, vous pouvez utiliser la
commande portaudit -F -a après avoir
installé des logiciels
pré-compilés.Le reste de ce chapitre expliquera comment utiliser les
logiciels pré-compilés et le catalogue des logiciels
portés et la
gestion des logiciels tiers sous FreeBSD.Trouver votre applicationAvant que vous puissiez installer des applications
vous devez savoir ce que vous voulez, et comment se nomment les
applications.La liste des applications disponibles pour FreeBSD augmente de
jours en jours. Heureusement, il y a plusieurs façons de trouver
ce que vous désirez:Le site web de FreeBSD maintient à jour une liste, dans
laquelle on peut effectuer des recherches, de toutes les
applications disponibles à l'adresse
http://www.FreeBSD.org/ports/.
Le catalogue des logiciels portés est divisé en catégories, et vous pouvez soit
chercher une application par son nom (si vous le connaissez),
soit lister toutes les applications disponibles dans une
catégorie.FreshPortsDan Langille maintient FreshPorts, à l'adresse
.
FreshPorts suit les modifications des applications dans le
catalogue des logiciels portés, vous permet de
“surveiller” un ou plusieurs logiciels portés, et
peut vous envoyer un courrier électronique quand ils sont mis
à jour.FreshMeatSi vous ne connaissez pas le nom de l'application que vous
voulez, essayez d'utiliser un site comme FreshMeat
()
pour trouver une application, ensuite vérifiez sur le site de
FreeBSD si l'application a déjà été
portée.Si vous connaissez le nom exact du logiciel, vous devez
juste déterminer dans quelle catégorie il se
trouve, vous pouvez utiliser la commande &man.whereis.1; pour
cela. Tapez simplement whereis
file où
file est le programme que vous
voulez installer. S'il est trouvé sur le
système, on vous indiquera où il se trouve, de
la manière suivante:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofCela nous indique que lsof (un
utilitaire système) peut être trouvé
dans le répertoire /usr/ports/sysutils/lsof.Encore une autre façon de trouver un logiciel
porté particulier est d'utiliser le mécanisme de
recherche interne du catalogue des logiciels portés.
Pour utiliser la fonction de recherche, vous devrez vous
trouver dans le répertoire
/usr/ports. Une fois dans ce
répertoire, lancez make search
name=program-name
où program-name
représente le nom du programme que vous voulez
localiser. Par exemple, si vous recherchiez
lsof:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps: La partie du message de sortie à laquelle vous
devez prêter attention est la ligne
“Path:”, car cela vous indique où trouver
le logiciel porté. Les autres informations ne sont
pas nécessaires afin d'installer le logiciel
porté, aussi on en parlera pas ici.Pour une recherche plus en profondeur vous pouvez
également utiliser make search
key=string où
string est le texte à
rechercher. Cela recherche les noms de logiciels
portés, les commentaires, les descriptions et les
dépendances et peut être utilisé pour
trouver des logiciels portés se rapportant à
un sujet particulier si vous ne connaissez pas le nom du
programme que vous cherchez.Dans les deux cas, la chaîne de caractère
de recherche n'est pas sensible à la casse des
caractères. Rechercher “LSOF”
mènera aux même résultats que la
recherche de “lsof”.ChernLeeContribution de Utiliser le système des logiciels
pré-compilésInstallation d'un logiciel pré-compilélogiciels pré-compilésinstallationpkg_addVous pouvez utiliser l'utilitaire &man.pkg.add.1; pour
installer un logiciel pré-compilé FreeBSD à
partir d'un fichier
local ou d'un serveur sur le réseau.Télécharger un logiciel pré-compilé
à la main puis l'installer localement&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzSi vous ne disposez pas d'une source locale de logiciels
pré-compilés (comme l'ensemble de CDROM de FreeBSD)
alors il sera probablement plus facile d'utiliser l'option
de &man.pkg.add.1;. Cela fera déterminer
automatiquement à l'utilitaire le format objet et la version
corrects et ensuite récupérer et installer le logiciel
pré-compilé à partir d'un site FTP.pkg_add&prompt.root; pkg_add -r lsofL'exemple ci-dessus téléchargera le logiciel
pré-compilé
correct sans plus d'intervention de l'utilisateur.
Si vous désirez indiquer un autre miroir &os; pour les
logiciels pré-compilés à la place du site
de distribution principal, vous devez positionner en
conséquence la variable d'environnement
PACKAGESITE, pour remplacer les
paramètres par défaut.
&man.pkg.add.1; utilise &man.fetch.3; pour télécharger les
fichiers, qui respecte diverses variables d'environnement, dont
FTP_PASSIVE_MODE, FTP_PROXY, et
FTP_PASSWORD. Il se peut que vous ayez besoin de
configurer une ou plusieurs de ces dernières si vous êtes
derrière un coupe-feu, ou devez utiliser un proxy FTP/HTTP.
Consultez la page de manuel &man.fetch.3; pour la liste complète
des variables. Vous pouvez également remarquer que dans
l'exemple ci-dessus lsof est utilisé au lieu
de lsof-4.56.4. Quand la fonction de
récupération à distance est utilisée,
le numéro de version doit être retiré.
&man.pkg.add.1; téléchargera automatiquement la
toute dernière version de l'application.&man.pkg.add.1; téléchargera la
dernière version de votre application si vous êtes
sous &os.current; ou &os.stable;. Si vous utilisez une version
-RELEASE, il récupérera la version compilée
avec votre version lors de sa publication. Il est possible de
modifier ce comportement en surchargeant la variable
d'environnement PACKAGESITE. Par exemple,
si vous utilisez un système &os; 5.4-RELEASE,
par défaut &man.pkg.add.1; tentera de
récupérer les applications
pré-compilées à partir de
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/.
Si vous désirez forcer &man.pkg.add.1; à
télécharger les versions des logiciels
pré-compilés pour &os; 5-STABLE,
positionnez la variable PACKAGESITE à
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/.
Les logiciels pré-compilés sont distribués
dans les formats .tgz et .tbz. Vous pouvez les trouver
sur , ou
sur le CDROM de distribution de FreeBSD. Chaque CD de
l'ensemble de 4-CD de FreeBSD (et le PowerPak, etc...) contient
des logiciels pré-compilés dans le répertoire
/packages. L'organisation des logiciels
pré-compilés est semblable à celle de
l'arborescence /usr/ports. Chaque
catégorie possède son propre répertoire, et
chaque logiciel pré-compilé peut être
trouvé dans le répertoire All.La structure de répertoires du système de logiciels
pré-compilés correspond à celle du catalogue
des logiciels portés; ils travaillent ensemble pour former
l'intégralité du système de logiciels
pré-compilés/portés.Gestion des logiciels pré-compiléslogiciels pré-compilésgestion&man.pkg.info.1; est un utilitaire qui liste et décrit les
divers logiciels pré-compilés installés.
pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...&man.pkg.version.1; est un utilitaire qui récapitule les
versions de tous les logiciels pré-compilés
installés. Il compare la version du logiciel
pré-compilé avec la version
actuelle trouvée dans le catalogue des logiciels portés.
pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...Les symboles dans la seconde colonne indiquent l'âge relatif
de la version installée et de la version disponible dans le
catalogue des logiciels portés local.SymboleSignification=La version du logiciel
pré-compilé installée est équivalente
à celle de celui trouvé dans le
catalogue des logiciels portés local.<La version installée est plus ancienne que celle
disponible dans le catalogue des logiciels portés.>La version installée est plus
récente que celle trouvée dans le catalogue local des
logiciels portés. (le catalogue local des logiciels
portés est probablement ancien)?Le logiciel pré-compilé
ne peut être
trouvé dans l'index du catalogue des logiciels
portés. (Cela peut se produire quand, par exemple,
un logiciel installé est supprimé du catalogue des logiciels
portés ou renommé.)*Il y a de multiples versions de ce
logiciel pré-compilé.Effacer un logiciel pré-compilépkg_deletelogiciels pré-compiléseffacerPour désinstaller un logiciel pré-compilé
précédemment installé, utilisez l'utilitaire
&man.pkg.delete.1;.&prompt.root; pkg_delete xchat-1.7.1DiversToute l'information sur les logiciels pré-compilés
est stockée dans le répertoire
/var/db/pkg. La liste des fichiers
installés pour chaque logiciel pré-compilé
peut être trouvée dans des fichiers de ce
répertoire.Utiliser le catalogue des logiciels portésLes sections suivantes fournissent des instructions de base
sur l'utilisation du catalogue des logiciels portés pour installer
et désinstaller des programmes sur votre système.
Une description détaillée des cibles make et
de variables d'environnement est disponible dans la page de
manuel &man.ports.7;.Obtenir le catalogue des logiciels portésAvant que vous puissiez installer des logiciels portés, vous
devez d'abord récupérer le catalogue des logiciels
portés— qui est essentiellement un ensemble de
Makefiles, de correctifs, et de fichiers de
description habituellement placés dans
/usr/ports.Quand vous avez installé votre système FreeBSD,
sysinstall vous a demandé si vous
aimeriez installer le catalogue des logiciels portés. Si vous
avez choisi non, vous pouvez suivre ces instructions pour
obtenir le catalogue des logiciels portés:La méthode CVSupC'est une méthode rapide pour récupérer
le catalogue des
logiciels portés en utilisant CVSup.
Si vous voulez garder à jour votre catalogue, ou apprendre
plus au sujet de CVSup, lisez les
sections mentionnées précédemment.Installer le logiciel porté
net/cvsup-without-gui:&prompt.root; pkg_add -r cvsup-without-guiVoir Installation de CVSup () pour plus de details.Lancez cvsup:&prompt.root; cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfileRemplacez cvsup.FreeBSD.org
avec un serveur CVSup proche de
vous. Voir Sites
CVSup () pour une
liste complète des sites miroirs.Certains peuvent vouloir utiliser leur propre
ports-supfile, par exemple pour
éviter d'avoir à passer le serveur
CVSup sur la ligne de
commande.Dans ce cas, en tant que
root, copier
/usr/share/examples/cvsup/ports-supfile
à un nouvel emplacement, comme
/root ou votre répertoire
d'utilisateur.Editez
ports-supfile.Remplacez
CHANGE_THIS.FreeBSD.org
avec un serveur CVSup
proche de vous. Voir Sites CVSup () pour une liste
complète des sites miroirs.Maintenant pour lancer cvsup,
utilisez ce qui suit:&prompt.root; cvsup -L 2 /root/ports-supfileL'exécution ultérieure de &man.cvsup.1;
téléchargera et appliquera
tous les changements récents à
votre catalogue des logiciels portés sans
pour autant recompiler vos logiciels.La méthode PortsnapPortsnap est un
système alternatif de distribution du catalogue des
logiciels portés. Il a été fourni pour
la première fois avec &os; 6.0. Sur les
systèmes plus anciens vous pouvez l'installer
à partir du logiciel pré-compilé
sysutils/portsnap:&prompt.root; pkg_add -r portsnapVeuillez vous reporter à la section
Utiliser Portsnap pour une
description détaillée de toutes les
caractéristiques de
Portsnap.Depuis &os; 6.1-RELEASE et avec les versions
récentes pré-compilées ou
portées de Portsnap,
vous pouvez sans risque passer cette étape. Le
répertoire /usr/ports sera
créé automatiquement à la
première utilisation de la commande
&man.portsnap.8;. Avec les versions
précédentes de
Portsnap, vous devrez
créé un répertoire /usr/ports s'il n'existe
pas:&prompt.root; mkdir /usr/portsTéléchargez un instantané
compressé du catalogue des logiciels portés
dans le répertoire /var/db/portsnap. Vous pouvez
vous déconnecter de l'Internet, si vous le
désirez, après cette opération:&prompt.root; portsnap fetchSi vous exécutez
Portsnap pour la première
fois, il faut extraire l'instantané dans le
répertoire /usr/ports:&prompt.root; portsnap extractSi votre répertoire /usr/ports contient
déjà une version du catalogue des logiciels
portés et que vous désirez juste mettre
à jour, utilisez plutôt la commande:&prompt.root; portsnap updateLa méthode SysinstallCette méthode implique l'utilisation de
sysinstall pour installer le
catalogue des logiciels portés à partir du
disque d'installation. Il faut noter que la version du
catalogue qui sera installée est la version datant de
la publication de votre disque d'installation. Si vous
disposez d'un accès à l'Internet, vous devriez
toujours utiliser une des méthodes
précédemment exposées.En tant que root, lancez
sysinstall
(/stand/sysinstall dans les versions de
&os; antérieure à 5.2) comme montré
ci-dessous:&prompt.root; /stand/sysinstallFaites défiler l'écran vers le bas et
sélectionnez Configure,
appuyez sur Entrée.Faites défiler l'écran vers le bas et
sélectionnez Distributions,
appuyez sur Entrée.Faites défiler l'écran vers le bas jusqu'à
ports, appuyez sur
Espace.Remontez jusqu'à Exit,
appuyez sur Entrée.Choisissez le support d'installation désiré,
comme un CDROM, par FTP, etc.Remontez jusqu'à Exit
et appuyez sur Enter.Appuyez sur la touche X pour quitter
sysinstall.Une autre alternative pour obtenir et garder à jour votre
catalogue des logiciels portés est d'utiliser
CVSup. Jetez un coup d'oeil au
fichier CVSup du catalogue des
logiciels portés,
/usr/share/examples/cvsup/ports-supfile.
Consultez Utiliser CVSup () pour plus d'information sur l'utilisation de
CVSup et ce fichier.Installation de logiciels portéslogiciels portésinstallationLa première chose qui devrait être expliquée
quand on aborde le catalogue des logiciels portés est ce que
l'on entend par “squelette”. En bref, un squelette
est un ensemble minimal de fichiers qui indique à votre
système FreeBSD comment compiler et installer proprement un
programme. Chaque squelette contient:Un fichier Makefile. Le fichier
Makefile contient les diverses
déclarations qui indiquent comment l'application devrait
être compilée et où elle devrait être
installée sur votre système.Un fichier distinfo. Ce fichier
contient l'information à propos des fichiers qui doivent
être téléchargés pour compiler le
logiciel, et leurs sommes de contrôle, pour s'assurer que
ces fichiers n'ont pas été
corrompus durant le téléchargement en
utilisant &man.md5.1;.Un répertoire files.
Ce répertoire
contient les correctifs pour permettre la compilation et
l'installation du programme sur votre système FreeBSD. Les
correctifs sont à la base de petits fichiers qui indiquent
des modifications sur des fichiers particuliers. Ils sont
sous forme de fichiers texte, qui disent “Effacer la
ligne 10” ou “Modifier la ligne 26
par...”. Les correctifs sont également connus sous le
nom de “diffs” car ils sont
générés par le programme &man.diff.1;.Ce répertoire peut également contenir d'autres
fichiers utilisés pour la compilation du logiciel
porté.Un fichier pkg-descr. C'est une
description plus détaillée du programme, souvent en
plusieurs lignes.Un fichier pkg-plist. C'est une
liste de tous les fichiers qui seront installés par le
logiciel porté. Il indique également au
système des logiciels portés quels fichiers
sont à effacer lors d'une désinstallation.Certains logiciels portés utilisent d'autres fichiers,
comme pkg-message. Le catalogue des
logiciels portés utilise ces fichiers pour faire face à
certaines situations spéciales. Si vous désirez plus
de détails
au sujet de ces fichiers, et sur les logiciels portés en
général, consultez le Manuel du développeur de
logiciels portés.Le logiciel porté contient les instructions pour
compiler le code source, mais ne contient pas le code source.
Vous pouvez obtenir le code source à partie d'un CDROM ou de
l'Internet. Le code source est distribué de la façon dont
l'auteur le désire. Fréquemment c'est une archive tar
compressée avec gzip, mais elle pourra être
compressée avec un
autre outil ou même non compressée. Le code source d'un
programme, peu importe la forme sous laquelle il est distribué,
est appelé un fichier “distfile”. Les deux
méthodes pour l'installation d'un logiciel porté
pour &os; sont décrites ci-dessous.Vous devez avoir ouvert une session sous l'utilisateur
root pour installer des logiciels
portés.Avant d'installer un logiciel porté, vous devez
vous assurer d'avoir un catalogue des logiciels portés
à jour et vous devez consulter pour les
problèmes de sécurité relatifs à
votre logiciel.Un contrôle des problèmes de
sécurité peut être effectué
automatiquement par portaudit
avant toute nouvelle installation d'application. Cet outil
peut être trouvé dans le catalogue des
logiciels porté (security/portaudit). Vous pouvez
lancer portaudit -F avant l'installation
d'un nouveau logiciel porté, pour
télécharger la base de données
actualisée des vulnérabilités. Un
audit de sécurité et une mise à jour de
la base de données sera effectuée lors du
contrôle quotidien de sécurité de la
machine. Pour plus d'informations, lisez les pages de
manuel &man.portaudit.1; et &man.periodic.8;.Le catalogue des logiciels portés suppose que vous
disposez d'une connection active à l'Internet. Si ce n'est
pas le cas, vous devez placer manuellement une copie
du distfile dans le répertoire /usr/ports/distfiles.Pour commencer, rendez-vous dans le répertoire du logiciel
porté que vous voulez installer:&prompt.root; cd /usr/ports/sysutils/lsofUne fois à l'intérieur du répertoire
lsof vous verrez le squelette du logiciel
porté. L'étape suivante est de compiler
(également appelé la
“construction”) le logiciel porté. Cela est fait en tapant
simplement make à l'invite. Une fois que
c'est fait, vous devriez voir quelque chose comme ceci:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> Extracting for lsof-4.57
...
[extraction output snipped]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[configure output snipped]
...
===> Building for lsof-4.57
...
[compilation output snipped]
...
&prompt.root;Notez qu'une fois la compilation terminée, vous vous
retrouvez face à l'invite. L'étape suivante est
d'installer
le logiciel porté. Afin de l'installer, vous devez juste
ajouter un mot à la commande make, et ce
mot est install:&prompt.root; make install
===> Installing for lsof-4.57
...
[installation output snipped]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Une fois de retour à l'invite, vous devriez être
en mesure d'exécuter l'application que vous venez juste
d'installer.
Comme lsof est un programme qui tourne avec
des privilèges accrus, un avertissement sur la
sécurité est affiché. Durant la compilation
et l'installation de logiciels portés, vous devriez faire
attention à tout avertissement qui
pourrait apparaître.Il est conseillé de supprimer le sous-répertoire de
travail, qui contient tous les fichiers temporaires utilisés
lors de la compilation. Non seulement cela consomme de
l'espace disque, mais cela posera problème plus tard lors de
la mise à jour vers une nouvelle version du logiciel
porté.&prompt.root; make clean
===> Cleaning for lsof-4.57
&prompt.root;Vous pouvez vous économiser deux étapes
supplémentaires en lançant juste
make install clean à la place de
make, make install
et make clean
sous la forme de trois étapes séparées.Certains interpréteurs de commandes maintiennent un
cache des commandes qui sont disponibles dans les
répertoires listés dans la variable d'environnement
PATH, pour accélérer les
opérations de
recherche des fichiers exécutables de ces commandes. Si
vous utilisez un de ces interpréteurs de commandes, vous
pourrez avoir à utiliser la commande
rehash après l'installation d'un logiciel
porté, avant que la commande fraîchement
installée ne puisse être utilisée.
Cette commande fonctionnera pour les interpréteurs
de commandes comme tcsh. Utilisez la
commande hash -r pour les
interpréteurs tels que sh.
Consultez la documentation de votre interpréteur de
commandes pour plus d'information.Certains DVD-ROMs comme le &os; Toolkit de FreeBSD Mall
contiennent des distfiles.
Ils peuvent être utilisés avec le catalogue des logiciels
portés.
Montez le DVD-ROM sous /cdrom. Si vous
utilisez un point de montage différent, positionnez la
variable &man.make.1; CD_MOUNTPTS. Les
distfiles nécessaires seront automatiquement utilisés s'ils
sont présent sur le disque.Soyez conscient que les licences de quelques logiciels
portés n'autorisent pas leur présence sur le
CD-ROM. Cela peut être dû à la
nécessité de remplir un formulaire
d'enregistrement avant le téléchargement, ou
que la redistribution n'est pas permise, ou toute autre
raison. Si vous désirez installer un logiciel
porté qui n'est pas disponible sur le CD-ROM, vous
devrez vous connecter afin de récupérer les
fichiers nécessaires.Le catalogue des logiciels portés utilise &man.fetch.1;
pour télécharger les fichiers, qui respecte diverses
variables d'environnement, dont FTP_PASSIVE_MODE,
FTP_PROXY, et FTP_PASSWORD. Il
se peut que vous ayez besoin de configurer une ou plusieurs
de ces dernières si vous êtes derrière un
coupe-feu, ou devez utiliser un proxy FTP/HTTP.
Consultez la page de manuel &man.fetch.3; pour la liste
complète des variables.Pour les utilisateurs qui ne peuvent rester
connectés à l'Internet indéfiniment, il
existe la commande make
fetch. Exécutez
cette commande à la base du catalogue des logiciels
portés (/usr/ports) et les fichiers
nécessaires seront téléchargés.
Cette commande fonctionnera également dans les
sous-répertoires du catalogue, par exemple: /usr/ports/net. Notez que si un
logiciel porté dépend de bibliothèques
particulières ou d'autres logiciels portés,
cette commande de récupérera
pas les sources de ces logiciels.
Remplacez fetch par
fetch-recursive si vous voulez
récupérer également les sources des
logiciels dont dépend un logiciel
porté.Vous pouvez compiler tous les logiciels d'une
catégorie ou de l'ensemble du catalogue en
exécutant la commande make dans un
répertoire de base, juste comme la commande
make fetch
précédente. C'est, cependant, une idée
dangereuse étant donné que certains logiciels
portés ne peuvent coexister. Dans d'autres cas,
certains logiciels portés peuvent installer des
fichiers différents ayant le même
nom.Dans de rares cas les utilisateurs peuvent vouloir
récupérer les archives à partir d'un
site différent du MASTER_SITES par
défaut (l'emplacement par défaut à
partir duquel les fichiers sont
téléchargés). Vous pouvez surcharger
l'option MASTER_SITES avec la commande
suivante:&prompt.root; cd /usr/ports/répertoire
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchDans cet exemple nous modifions la valeur par
défaut de l'option MASTER_SITES
pour ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.Certains logiciels portés autorisent (ou
même nécessitent) des options de compilation
qui permettent l'activation/désactivation de parties
de l'application qui ne sont pas nécessaires, de
certaines options de sécurité, et autres
personnalisations. Quelques noms de logiciels viennent
immédiatement à l'esprit: www/mozilla, security/gpgme, et mail/sylpheed-claws. Un message
sera affiché quand de telles options sont
disponibles.Modifier les répertoires par défaut des
logiciels portésIl est parfois utile (ou obligatoire) d'utiliser des
répertoires de travail ou cible différents.
Les variables
WRKDIRPREFIX et PREFIX
permettent de modifier les répertoires par
défaut. Par exemple:&prompt.root; make WRKDIRPREFIX=/usr/home/example/ports installcompilera le logiciel dans le répertoire
/usr/home/example/ports et
installera tout dans /usr/local.&prompt.root; make PREFIX=/usr/home/example/local installle compilera dans /usr/ports et l'installera dans
/usr/home/example/local.Et bien sûr&prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local installcombinera les deux (c'est trop long pour tenir sur cette
page, mais cela devrait vous donner une idée
générale).Alternativement, ces variables peuvent également
être configurées dans votre environnement.
Consultez la page de manuel de votre interpréteur de
commandes pour des instructions sur la procédure
à suivre.Travailler avec imakeCertains logiciels portés qui utilisent
imake (une partie du système X
Window) ne fonctionnent pas correctement avec la variable
PREFIX, et insisteront pour s'installer
sous /usr/X11R6. De
façon similaire, certains logiciels Perl ignorent
PREFIX et s'installent dans
l'arborescence Perl. Faire en sorte que ces logiciels
portés respectent PREFIX est une
tâche difficile voire impossible.Supprimer des logiciels portés installéslogiciels portésdésinstallationMaintenant que vous savez comment installer des logiciels
portés, vous vous demandez probablement comment les effacer,
juste au cas où vous en installez un et plus tard vous vous
apercevez que vous n'avez pas installé le bon logiciel
porté. Nous désinstallerons notre exemple
précédent (qui était
lsof pour ceux d'entre vous qui n'ont pas
suivi). Les logiciels portés sont supprimés de
la même manière que pour les logiciels
pré-compilés (comme décrit dans la
section Utiliser le
système des logiciels
pré-compilés) en utilisant la commande
&man.pkg.delete.1;:&prompt.root; pkg_delete lsof-4.57Mise à jour des logiciels portéslogiciels portésmise à jourTout d'abord, listez les logiciels portés
périmés dont une nouvelle version est disponible
dans le catalogue des logiciels portés à l'aide de
la commande &man.pkg.version.1;:&prompt.root; pkg_version -vUne fois que vous avez mis à jour le catalogue
des logiciels portés, avant de tenter la mise à
jour d'un logiciel porté, vous devrez consulter le
fichier /usr/ports/UPDATING. Ce fichier
décrit les problèmes divers et les étapes
supplémentaires que les utilisateurs pourront
rencontrer ou devront exécuter lors de la mise
à jour un logiciel porté.Mise à jour des logiciels portés à
l'aide de portupgradeportupgradeLe logiciel portupgrade a
été conçu pour une mise à jour
aisée des logiciels portés installés. Il
est disponible via le logiciel porté sysutils/portupgrade. Installez-le
de la même manière que pour n'importe quel autre
logiciel en employant la commande make
install clean:&prompt.root; cd /usr/ports/sysutils/portupgrade
&prompt.root; make install cleanEnsuite, parcourez la liste des logiciels installés
avec la commande pkgdb -F et corrigez
- toutes les inconsistences qu'il signale. C'est une bonne
+ toutes les inconsistances qu'il signale. C'est une bonne
idée d'effectuer ce contrôle
régulièrement avant chaque mise à
jour.En lançant portupgrade -a,
portupgrade mettra à jour
tous les logiciels portés périmés
installés sur votre système. Ajoutez
l'indicateur si vous voulez être
consulté pour confirmer chaque mise à jour
individuelle.&prompt.root; portupgrade -aiSi vous désirez mettre à jour qu'une seule
application bien particulière et non pas
l'intégralité des applications, utilisez la
commande: portupgrade
nom_du_logiciel_porté.
Ajoutez l'option si
portupgrade doit mettre à
jour en premier lieu tous les logiciels portés
nécessaires à l'application.&prompt.root; portupgrade -R firefoxPour utiliser les versions pré-compilées
plutôt que les logiciels portés pour
l'installation, utilisez l'option . Avec
cette option portupgrade cherche
les répertoires locaux listé dans la variable
PKG_PATH, ou récupère les
paquetages à partir d'un site distant s'ils ne sont pas
trouvés localement. Si les paquetages ne peuvent pas
être trouvés localement ou
récupérés à distance,
portupgrade utilisera les logiciels
portés. Pour éviter l'usage des logiciels
portés, spécifiez l'option
.&prompt.root; portupgrade -PR gnome2Pour juste récupérer les sources (ou les
paquetages, si l'option est
utilisée) sans compiler ni installer quelque chose,
utilisez . Pour plus d'informations
consultez la page de manuel &man.portupgrade.1;.Mise à jour des logiciels portés à
l'aide de PortmanagerportmanagerPortmanager est un autre
utilitaire de mise à jour aisée des logiciels
portés installés. Il est disponible via le
logiciel portés sysutils/portmanager:&prompt.root; cd /usr/ports/sysutils/portmanager
&prompt.root; make install cleanTous les logiciels portés installés
peuvent être mis à jour en utilisant cette
simple commande:&prompt.root; portmanager -uVous pouvez ajouter l'option pour
- être solicité pour une confirmation à
+ être sollicité pour une confirmation à
chaque opération qu'effectuera
Portmanager.
Portmanager peut également
être employé pour installer de nouveaux
logiciels portés sur le système.
Contrairement à la commande make install
clean habituelle, il mettra à jour toutes
les dépendances avant de compiler et d'installer le
logiciel sélectionné.&prompt.root; portmanager x11/gnome2Si des problèmes concernant les
dépendances du logiciel porté
sélectionné apparaissent, vous pouvez utiliser
Portmanager pour toutes les
recompiler dans le bon ordre. Cette recompilation
achevée, le logiciel porté en question peut
alors être à son tour recompilé.&prompt.root; portmanager graphics/gimp -fPour plus d'information, consultez la page de manuel
de Portmanager.Logiciels portés et espace disquelogiciels portésespace disqueA la longue, l'utilisation du catalogue des logiciels
portés consommera rapidement votre espace disque.
Après la compilation et l'installation de logiciels
à partir du catalogue des logiciels portés, vous
devriez toujours penser à supprimer
les répertoires de travail temporaires, work, en utilisant la commande
make clean. Vous pouvez
balayer l'intégralité du catalogue des logiciels
portés pour supprimer tous les répertoires
temporaires oubliés précédement, employez
alors la commande suivante:&prompt.root; portsclean -CAvec le temps, vous accumulerez beaucoup de fichiers
sources obsolètes dans le répertoire distfiles. Vous pouvez les
supprimer manuellement, ou vous pouvez utiliser la commande
suivante pour effacer toutes les sources qui ne correspondent
plus à des logiciels portés
d'actualité:&prompt.root; portsclean -DL'utilitaire portsclean fait partie
de la suite portupgrade.Pensez à supprimer les logiciels portés
installés que vous n'utilisez plus. Un outil qui
permet d'automatiser cette tâche est disponible via le
logiciel porté sysutils/pkg_cutleaves.Activités de post-installationAprès l'installation d'une nouvelle application vous voudrez
normalement lire la documentation qui a pu être également
installée, éditer les fichiers de configuration
nécessaires, vérifier que l'application est
lancée au démarrage (si c'est un
daemon), et ainsi de suite.Les étapes que vous devez suivre pour configurer
chaque application seront bien évidemment différentes.
Cependant, si vous venez juste d'installer une nouvelle application
et que vous vous demandez “Et maintenant?” les astuces
suivantes pourront vous aider:Utilisez &man.pkg.info.1; pour déterminer quels fichiers
ont été installés et à quel endroit.
Par exemple, si vous
venez juste d'installer FooPackage version 1.0.0, alors la
commande&prompt.root; pkg_info -L foopackage-1.0.0 | lessaffichera tous les fichiers installés par le logiciel
pré-compilé. Portez une attention toute
particulière aux
fichiers dans les répertoires man/, qui
seront des pages de manuel, dans les répertoires
etc/ , qui seront des fichiers de
configuration, et dans doc/ qui seront de
la documentation plus complète.Si vous n'êtes pas sûr de la version de
l'application qui vient juste d'être installée,
une commande comme&prompt.root; pkg_info | grep -i foopackagedéterminera tous les logiciels
pré-compilés installés qui
ont foopackage dans leur nom.
Remplacez foopackage dans votre
ligne de commande par ce qui convient.Une fois que vous avez identifié où les
pages de manuel de l'application ont été
installées, consultez-les en utilisant
la commande &man.man.1;. De même, jetez un coup d'oeil
aux exemples de fichiers de configuration, et toute autre
documentation additionnelle qui peut avoir été
fournie.Si l'application a un site web, consultez-le pour de la
documentation supplémentaire, des listes de questions
fréquemment posées, etc. Si vous n'êtes
pas sûr de
l'adresse du site web, elle peut être affichée dans le
résultat de la commande:&prompt.root; pkg_info foopackage-1.0.0La ligne WWW:, si elle est présente,
devrait donner l'URL du site web de l'application.Les logiciels qui doivent être lancés au
démarrage (comme les serveurs Internet) installent
généralement un exemple de procédure de
lancement dans le répertoire /usr/local/etc/rc.d. Vous devriez
contrôler si ce fichier est correct et l'éditer
ou le renommer si nécessaire. Consultez la section
Démarrer
des services pour plus d'informations.Que faire avec les logiciels portés ne fonctionnant
pas?Si vous rencontrez un portage qui ne fonctionne pas, il y a
certaines choses que vous pouvez faire:Vérifiez s'il n'y a pas de correctif en attente
pour le logiciel porté dans la base des rapports de
bogue. Si c'est le cas, il se peut que vous
puissiez utiliser le correctif proposé.Demandez l'aide du responsable du logiciel porté.
Tapez la
commande make maintainer ou lisez le
fichier Makefile pour trouver l'adresse
électronique du responsable. Pensez à
préciser le nom et la
version du logiciel porté (envoyer la ligne
$FreeBSD: du fichier
Makefile) et les messages d'erreurs
quand vous écrivez au responsable.Certains logiciels portés ne sont pas
maintenus par une personne mais par une liste
de diffusion. Plusieurs, si ce n'est toutes, les
adresses de ces listes ressemblent à freebsd-listname@FreeBSD.org.
Veuillez prendre cela en compte en rédigeant vos
questions.En particulier, les logiciels portés
apparaissant comme maintenus par freebsd-ports@FreeBSD.org ne sont
en fait maintenus par personne. Correctifs et aide,
s'ils y en a, provient de la communauté qui est
abonnée à cette liste de diffusion. Des
volontaires supplémentaires sont toujours les
bienvenus!Si vous n'obtenez pas de réponse, vous pouvez
utiliser &man.send-pr.1; pour soumettre un rapport de
bogue (consultez Ecrire
des rapports de bogue pour &os;).Corrigez le problème! Le Manuel du développeur
de logiciels portés inclut des informations
détaillées sur l'infrastructure des logiciels
portés vous permettant de corriger le portage
éventuellement défectueux
ou même soumettre le votre!Récupérez la version pré-compilée
sur un serveur FTP proche de vous. Le catalogue de
“référence” des logiciels
pré-compilés se trouve
sur ftp.FreeBSD.org dans le
répertoire
packages,
mais vérifiez d'abord votre miroir
local! Il y a globalement plus de chances que cela marche,
que d'essayez de compiler à partir des sources, et cela va
également beaucoup plus vite. Utilisez le programme
&man.pkg.add.1; pour installer le logiciel
pré-compilé sur votre système.
diff --git a/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml
index 7048dca12b..0aa64b3db2 100644
--- a/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,2055 +1,2055 @@
JimMockRestructuré, réorganisé, et mis à
jour par PPP et SLIP
&trans.a.fonvieille;
SynopsisPPPSLIP&os; dispose de nombreuses façons pour relier un
ordinateur à un autre. Pour mettre en place un
réseau ou établir une connexion Internet par
l'intermédiaire d'un modem, ou pour autoriser d'autres
à le faire par votre intermédiaire, il est
nécessaire d'utiliser PPP ou SLIP. Ce chapitre
décrit la configuration en détail de ces services
de communication par modem.Après la lecture de ce chapitre, vous saurez:Comment configurer PPP en mode utilisateur.Comment configurer PPP intégré au
noyau.Comment configurer PPPoE (PPP sur
Ethernet).Comment configurer PPPoA (PPP sur
ATM).Comment configurer et utiliser un client et un serveur
SLIP.PPPPPP en mode utilisateurPPPPPP intégré au noyauPPPsur EthernetAvant de lire ce chapitre, vous devrez:Etre familier avec la terminologie réseau de
base.Comprendre les bases, le but d'une connexion entrante
par modem, et PPP et/ou SLIP.Vous pouvez vous demander quelle est la principale
différence entre PPP en mode utilisateur et PPP
intégré au noyau. La réponse est simple:
PPP en mode utilisateur traite les données entrantes et
sortantes en dehors du noyau. C'est coûteux en terme de copie
de donnée entre le noyau et l'espace utilisateur mais
permet l'implémentation de plus de fonctionnalités
PPP. PPP en mode utilisateur utilise le
périphérique tun pour
communiquer avec le monde extérieur alors que PPP
intégré au noyau utilise le
périphérique ppp.Dans ce chapitre, le programme utilisateur PPP sera
simplement appelé ppp,
à moins qu'il faille explicitement faire la distinction
entre lui et d'autres logiciels PPP comme
pppd. Sauf indications contraires,
toutes les commandes mentionnées dans ce chapitre doivent
être exécutées par le super-utilisateur
root.Using User PPP ** Traduction en Cours **Gennady B.SorokopudContribution originale de RobertHuffUtiliser PPP intégré au noyauConfigurer PPP intégré au noyauPPPPPP intégré au noyauAvant de configurer PPP sur votre machine, vérifiez
que pppd est bien dans le répertoire
/usr/sbin et que le
répertoire /etc/ppp existe.La commande pppd peut fonctionner selon
deux modes:Comme “client” — si vous
désirez connecter votre machine au monde
extérieur via une liaison PPP série ou un
modem.PPPserveurComme “serveur” — si votre machine
est sur le réseau, et sert à y connecter
d'autres ordinateurs avec PPP.Dans les deux cas, vous devrez renseigner un fichier
d'options (/etc/ppp/options ou
~/.ppprc si vous avez plus d'un
utilisateur sur votre machine utilisant PPP).Vous aurez également besoin d'un logiciel
“modem/série” (de préférence
comms/kermit), pour
appeler et établir la connexion avec la machine
distante.TrevRoydhouseBasé sur des informations fournies
par Utiliser pppd comme clientPPPclientCiscoLe fichier /etc/ppp/options suivant
pourrait être utilisé pour se connecter à la
liaison PPP d'un concentrateur Cisco:crtscts # contrôle de flux matériel
modem # liaison par modem
noipdefault # adresse IP affectée par le serveur PPP distant
# si la machine distante ne vous donne pas d'adresse
# IP lors de la négociation IPCP, retirez cette option
passive # attendre les paquets LCP
domain ppp.foo.com # mettre ici votre nom de domaine
:<remote_ip> # mettre ici l'adresse IP de la machine PPP distante
# elle servira à router des paquets via la liaison PPP
# si vous n'avez pas précisé l'option noipdefault
# changez cette ligne en <ip_locale>:<ip_distante>
defaultroute # mettre cette ligne si vous voulez que le serveur PPP soit
# votre routeur par défautPour se connecter:kermitmodemAppelez la machine distante en utilisant
kermit (ou un autre programme
pour modem), puis entrez votre nom d'utilisateur et mot de
passe (ou ce qu'il faut pour activer PPP sur la machine
distante).Quittez kermit (sans
raccrocher la ligne).Entrez la commande suivante:&prompt.root; /usr/src/usr.sbin/pppd.new/pppd /dev/tty0119200Assurez-vous d'utiliser la vitesse et le nom de
périphérique adéquats.Votre ordinateur est maintenant connecté via PPP.
Si la connexion échoue, vous pouvez ajouter l'option
au fichier
/etc/ppp/options, et consulter les
messages sur la console pour tracer le problème.La procédure /etc/ppp/pppup
ci-dessous effectuera automatiquement ces trois
étapes:#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'arrêt de pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'arrêt de kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200kermit/etc/ppp/kermit.dial est une
procédure kermit qui appelle
et fournit toutes les informations d'authentification
nécessaires à la machine distante (un exemple
d'une telle procédure est donné à la fin de
ce document).Utilisez la procédure
/etc/ppp/pppdown suivante pour terminer
la session PPP et vous déconnecter:#!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'arrêt de pppd, PID=' ${pid}
kill -TERM ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'arrêt de kermit, PID=' ${pid}
kill -9 ${pid}
fi
/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptestVérifiez si pppd tourne toujours
en lançant la procédure
/usr/etc/ppp/ppptest, qui devrait
ressembler à ceci:#!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'pppd actif: PID=' ${pid-NONE}
else
echo 'Pas de pppd en cours d'exécution.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0Pour raccrocher la ligne, exécutez
/etc/ppp/kermit.hup, qui devrait
contenir:set line /dev/tty01 ; mettre ici le périphérique pour votre modem
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exitVoici une autre méthode qui utilise
chat au lieu de
kermit.Les deux fichiers suivants suffisent à
établir une connexion avec
pppd./etc/ppp/options:/dev/cuaa1 115200
crtscts # contrôle de flux matériel
modem # liaison par modem
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # adresse IP affectée par le serveur PPP distant
# si la machine distante ne vous donne pas d'adresse
# IP lors de la négociation IPCP, retirer cette option
passive # attendre les paquets LCP
domain <your.domain> # mettre ici votre nom de domaine
: # mettre ici l'adresse IP de la machine PPP distante
# elle servira à router des paquets via la liaison PPP
# si vous n'avez pas précisé l'option noipdefault
# modifier cette ligne en <ip_locale>:<ip_distante>
defaultroute # mettre cette ligne si vous voulez que le serveur PPP soit
# votre routeur par défaut/etc/ppp/login.chat.script:Ce qui suit doit être tapé sur une seule
ligne.ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<numéro_de_téléphone>
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <nom_d_utilisateur>
TIMEOUT 5 sword: <mot_de_passe>Une fois que ces fichiers sont installés et
correctement modifiés, tout ce dont vous avez besoin de
faire est de lancer pppd, comme
suit:&prompt.root; pppdUtiliser pppd comme serveurLe contenu du fichier
/etc/ppp/options devrait être
semblable à ce qui suit:crtscts # contrôle de flux matériel
netmask 255.255.255.0 # masque de sous-réseau (facultatif)
192.114.208.20:192.114.208.165 # adresses IP des machines locales et distantes
# l'adresse locale ne doit pas être la même que
# celle que vous avez assignée à l'interface
# Ethernet (ou autre) de la machine.
# l'adresse IP de la machine distante est
# l'adresse IP qui lui sera affectée
domain ppp.foo.com # votre nom de domaine
passive # attendre LCP
modem # liaison modemLa procédure /etc/ppp/pppserv
ci-dessous demandera à pppd
de se comporter comme un serveur:#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'arrêt de pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'arrêt de kermit, PID=' ${pid}
kill -9 ${pid}
fi
# réinitialiser l'interface ppp
ifconfig ppp0 down
ifconfig ppp0 delete
# activer le mode réponse automatique
kermit -y /etc/ppp/kermit.ans
# lancer ppp
pppd /dev/tty01 19200Utilisez cette procédure
/etc/ppp/pppservdown pour arrêter
le serveur:#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'arrêt de pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'arrêt de kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.noansLa procédure kermit
ci-dessous (/etc/ppp/kermit.ans) activera
ou désactivera le mode réponse automatique de
votre modem:set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13 ; remplacer cela par ATS0=0\13 si vous voulez désactiver
; le mode réponse automatique
inp 5 OK
echo \13
exitUne procédure nommée
/etc/ppp/kermit.dial est utilisée
pour appeler et s'authentifier sur la machine distante. Vous
devrez l'adapter à vos besoins. Mettez-y votre nom
d'utilisateur et votre mot de passe; vous devrez
également modifier les entrées en fonctions des
réponses que vous envoient votre modem et la machine
distante.;
; mettre ici la liaison série à laquelle est raccordé le modem:
;
set line /dev/tty01
;
; mettre ici la vitesse du modem:
;
set speed 19200
set file type binary ; transfert 8 bits
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto ; puis SET CARRIER si nécessaire,
set dial display on ; puis SET DIAL si nécessaire,
set input echo on
set input timeout proceed
set input case ignore
def \%x 0 ; compteur d'ouverture de session
goto slhup
:slcmd ; mettre le modem en mode commande
echo Put the modem in command mode.
clear ; vider le tampon d'entrée
pause 1
output +++ ; séquence d'échappement Hayes
input 1 OK\13\10 ; attendre OK
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd ; si le modem ne répond pas OK, réessayer
:slhup ; raccrocher la ligne
clear ; vider le tampon d'entrée
pause 1
echo Hanging up the phone.
output ath0\13 ; commande Hayes pour raccrocher
input 2 OK\13\10
if fail goto slcmd ; si pas de réponse OK, passer le modem en mode commande
:sldial ; composer le numéro
pause 1
echo Dialing.
output atdt9,550311\13\10 ; mettre ici le numéro de téléphone
assign \%x 0 ; mettre le compteur à zéro
:look
clear ; vider le tampon d'entrée
increment \%x ; compter les secondes
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup
:sllogin ; ouverture de session
assign \%x 0 ; mettre le compteur à zéro
pause 1
echo Looking for login prompt.
:slloop
increment \%x ; compter les secondes
clear ; vider le tampon d'entrée
output \13
;
; put your expected login prompt here:
;
input 1 {Username: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop ; essayer 10 fois d'obtenir une invite de session
else goto slhup ; raccrocher et recommencer après 10 échecs
:sluid
;
; mettre ici votre nom d'utilisateur:
;
output nom-d-utilisateur-ppp\13
input 1 {Password: }
;
; mettre ici votre mot de passe:
;
output mot-de-passe-ppp\13
input 1 {Entering SLIP mode.}
echo
quit
:slnodial
echo \7Pas de tonalité. Vérifiez votre ligne téléphonique!\7
exit 1
; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:JimMockContribution de (d'après
http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html)Utiliser PPP sur Ethernet (PPPoE)PPPsur EthernetPPPoEPPP, sur EthernetCette section décrit comment configurer PPP sur Ethernet
(PPPoE).Configuration du noyauIl n'est plus du tout nécessaire de configurer le
noyau pour utiliser PPPoE. Si le support netgraph
nécessaire n'est pas compilé dans le noyau, il
sera chargé dynamiquement par
ppp.Renseigner ppp.confVoici un exemple de fichier ppp.conf
opérationnel:default:
set log Phase tun command # vous pouvez détailler plus les traces si vous le désirez
set ifaddr 10.0.0.1/0 10.0.0.2/0
nom_du_fournisseur_d'accès:
set device PPPoE:xl1 # remplacez xl1 par votre périphérique Ethernet
set authname VOTRENOMDUTILISATEUR
set authkey VOTREMOTDEPASSE
set dial
set login
add default HISADDRExécuter pppEn tant que root, vous pouvez
lancer:&prompt.root; ppp -ddial nom_du_fournisseur_d'accèsLancer ppp au
démarrageAjoutez ce qui suit à votre fichier
/etc/rc.conf:ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # si vous voulez activer NAT pour votre réseau local, sinon NO
ppp_profile="nom_du_fournisseur_d'accès"Utilisation d'une étiquette de service PPPoEParfois il sera nécessaire d'utiliser une
étiquette de service pour établir votre
connexion. Les étiquettes de service sont
employées pour faire la distinction entre
différents serveurs PPPoE attachés à un
réseau donné.Vous devez avoir l'information concernant
l'étiquette de service dans la documentation fournie
par votre fournisseur d'accès. Si vous ne pouvez la
trouver, contactez le support technique de votre fournisseur
d'accès Internet.En dernier ressort, vous pourrez essayer la méthode
suggérée par le programme Roaring Penguin
PPPoE qui peut-être trouvé dans le catalogue des logiciels portés.
Gardez cependant à l'esprit, que cela peut
déprogrammer votre modem et le rendre inutilisable,
aussi réfléchissez à deux fois avant de
le faire. Installez simplement le logiciel fourni avec le
modem par votre fournisseur d'accès. Ensuite
accédez au menu Système du
programme. Le nom de votre profil devrait y figurer. C'est
habituellement le nom du FAI.Le nom du profil (étiquette de service) sera
utilisé dans l'entrée de configuration PPPoE
dans le fichier ppp.conf dans la partie
fournisseur d'accès de la commande set
device (voir la page de manuel &man.ppp.8; pour plus
de détails). Cela devrait ressembler à
ceci:set device PPPoE:xl1:FAIN'oubliez pas de changer xl1
pour le périphérique correct correspondant
à votre carte Ethernet.N'oubliez pas de changer FAI
par le profil que vous avez déterminé
ci-dessus.Pour une information supplémentaire,
consultez:Cheaper
Broadband with FreeBSD on DSL par Renaud
Waldura.
Nutzung von T-DSL und T-Online mit FreeBSD
par Udo Erdelhoff (en allemand).PPPoE avec un modem ADSL &tm.3com; HomeConnect Dual LinkCe modem ne respecte pas la RFC 2516
(A Method for transmitting PPP over Ethernet
(PPPoE), rédigée par L. Mamakos, K.
Lidl, J. Evarts, D. Carrel, D. Simone, et R. Wheeler). Au
lieu de cela des codes différents pour les types de
paquets sont utilisés pour les frames Ethernet.
Veuillez vous plaindre auprès de 3Com si vous pensez que le
modem devrait respecter la spécification PPPoE.Afin de permettre à &os; de communiquer avec ce
périphérique, un paramètre sysctl doit
être configuré. Cela peut être
effectué de manière automatique au
démarrage en renseignant le fichier
/etc/sysctl.conf:net.graph.nonstandard_pppoe=1ou peut être paramétré pour prendre
immédiatement effet avec la commande:&prompt.root; sysctl net.graph.nonstandard_pppoe=1Malheureusement, parce que c'est un paramétrage
concernant l'intégralité du système, il
n'est pas possible de communiquer en même temps avec un
client ou un serveur PPPoE normal et un modem ADSL &tm.3com;
HomeConnect.Utiliser PPP sur ATM (PPPoA)PPPsur ATMPPPoAPPP, sur ATMCe qui suit décrit comment configurer PPP sur ATM
(PPPoA). PPPoA est très populaire parmi les fournisseurs
d'accès DSL européens.Utiliser PPPoA avec le modem Alcatel &speedtouch;
USBLe support PPPoA pour ce périphérique est
fourni sous la forme d'un logiciel porté sous &os; car
le “firmware” est distribué sous l'accord de
licence d'Alcatel et ne peut être
redistribué librement avec le système de base de
&os;.Pour installer le logiciel, utilisez simplement le catalogue des logiciels portés.
Installez le logiciel porté net/pppoa et suivez les instructions
fournies avec.Comme de nombreux périphériques, le modem
USB Alcatel &speedtouch; a besoin de charger un
“firmware” à partir de l'ordinateur
hôte pour opérer correctement. Il est possible
d'automatiser ce processus sous &os; de manière
à ce que ce transfert ait lieu dès que le
périphérique est branché dans un port
USB. L'information suivante peut être ajoutée au
fichier /etc/usbd.conf pour autoriser ce
transfert automatique de “firmware”. Ce fichier
doit être édité en tant que
super-utilisateur.device "Alcatel SpeedTouch USB"
devname "ugen[0-9]+"
vendor 0x06b9
product 0x4061
attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"Pour activer le “daemon” USB,
usbd, ajoutez la ligne suivante
dans le fichier /etc/rc.conf:usbd_enable="YES"Il est également possible de paramétrer
ppp pour se connecter au
démarrage. Pour cela ajoutez les lignes suivantes au
fichier /etc/rc.conf. Encore une fois,
vous devrez être attaché sous l'utilisateur
root pour effectuer ces ajouts.ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"Pour que cela fonctionne correctement, vous devrez
utiliser le fichier d'exemple ppp.conf
qui est fourni avec le logiciel porté net/pppoa.Utiliser mpdVous pouvez utiliser mpd pour
vous connecter à différents services, en
particulier aux services PPTP. Vous trouverez
mpd dans le catalogue des logiciels
portés, net/mpd.
De nombreux modems ADSL demandent à ce qu'un tunnel
PPTP soit créé entre le modem et l'ordinateur,
le &speedtouch; Home d'Alcatel en fait partie.Vous devez tout d'abord installer le logiciel
porté, ensuite vous pouvez configurer
mpd selon vos besoins et les
paramètres propres au fournisseur d'accès. Le
logiciel porté place un ensemble de fichiers de
configuration très bien commentés dans le
répertoire PREFIX/etc/mpd/.
Notez qu'ici PREFIX
représente le répertoire dans lequel les
logiciels portés sont installés, par
défaut le répertoire /usr/local/. Un guide complet
pour la configuration de mpd est
disponible dans le format HTML, une fois que le logiciel a
été installé. Il se trouve dans le
répertoire PREFIX/share/doc/mpd/.
Voici un exemple de configuration pour se connecter à
un service ADSL à l'aide de
mpd. La configuration est
séparée en deux fichiers, le premier est
mpd.conf:default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname username
set bundle password password
set bundle disable multilink
set link no pap acfcomp protocomp
set link disable chap
set link accept chap
set link keep-alive 30 10
set ipcp no vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface route default
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
openLe nom d'utilisateur utilisé pour vous identifier
auprès de votre FAI.Le mot de passe utilisé pour vous identifier
auprès de votre FAI.Le fichier mpd.links contient les
informations concernant la liaison, ou les liaisons, que vous
souhaitez établir. En exemple de fichier
mpd.links accompagnant l'exemple
précédent est donné ci-dessous:adsl:
set link type pptp
set pptp mode active
set pptp enable originate outcall
set pptp self 10.0.0.1
set pptp peer 10.0.0.138L'adresse IP de la machine &os; à partir de
laquelle vous utiliserez
mpd.L'adresse IP de votre modem ADSL. Pour le
&speedtouch; Home d'Alcatel cette adresse est par
défaut 10.0.0.138.Il est possible d'initialiser aisément une
connexion en tapant la commande suivante en tant que
root:&prompt.root; mpd -b adslVous pouvez voir quel est l'état de votre connexion
à l'aide de la commande suivante:&prompt.user; ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffffL'utilisation de mpd est la
méthode recommandée de connexion à un
service ADSL sous &os;.Utiliser pptpclientIl est également possible d'utiliser &os; pour se
connecter à d'autres service PPPoA en utilisant
net/pptpclient.Pour utiliser net/pptpclient pour vous connecter
à un service DSL, installez le logiciel porté ou
le paquetage correspondant et éditez votre fichier
/etc/ppp/ppp.conf. Vous aurez besoin des
droits de super-utilisateur pour effectuer ces deux
opérations. Un exemple de fichier
ppp.conf est donné plus bas. Pour
plus d'information sur les options du fichier
ppp.conf, consultez la page de manuel de
ppp, &man.ppp.8;.adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname username
set authkey password
set ifaddr 0 0
add default HISADDRLe nom d'utilisateur de votre compte chez le
fournisseur d'accès DSL.Le mot de passe de votre compte.Etant donné que vous devez mettre le mot de passe
de votre compte en clair dans le fichier
ppp.conf, vous devez vous assurer que
personne d'autre ne puisse lire le contenu de ce fichier. La
série de commandes suivante s'assurera que ce fichier
n'est lisible que par root.
Référez-vous aux pages de manuel de
&man.chmod.1; et &man.chown.8; pour plus
d'informations.&prompt.root; chown root:wheel /etc/ppp/ppp.conf
&prompt.root; chmod 600 /etc/ppp/ppp.confCela créera un tunnel pour une session PPP vers
votre routeur DSL. Les modems DSL Ethernet ont une adresse IP
pour le réseau local pré-configurée
à laquelle vous vous connectez. Dans le cas du modem
&speedtouch; Home d'Alcatel cette adresse est 10.0.0.138. La documentation de votre
routeur devrait mentionner quelle adresse utilise votre
périphérique. Pour créer le tunnel et
démarrer une session PPP exécutez la commande
suivante:&prompt.root; pptp addressadslVous pourrez ajouter un “et commercial”
(“&”) à la fin de la commande
précédente car sinon
pptp ne vous rendra pas la
main.Un périphérique virtuel de tunnel
(tun) sera créé pour la
communication entre les processus
pptp et
ppp. Une fois
retourné à l'invite, ou que le processus
pptp a confirmé la
connexion, vous pouvez examiner le tunnel de cette
manière:&prompt.user; ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918Si vous n'êtes pas en mesure de vous connecter,
vérifiez la configuration de votre routeur qui est
généralement accessible par
telnet ou avec un navigateur web.
Si le problème persiste, vous devrez examiner la sortie
de la commande pptp et le contenu du
fichier de trace de ppp,
/var/log/ppp.log à la recherche
d'indices.SatoshiAsamiContribution originale de GuyHelmerAvec la participation de PieroSeriniUtiliser SLIPSLIPConfigurer un client SLIPSLIPclientCe qui suit décrit une manière de configurer
une machine &os; pour utiliser SLIP sur un réseau
où les noms de machine sont statiques. Si le nom de
machine est affecté dynamiquement (votre adresse change
à chaque connexion), vous devrez probablement utiliser
une méthode plus sophistiquée.Tout d'abord, déterminez sur quel port série
votre modem est connecté. De nombreuses personnes
utilisent un lien symbolique, comme
/dev/modem, pour pointer vers le nom
réel du périphérique,
/dev/cuaaN (ou
/dev/cuadN sous &os; 6.X). Ceci
vous permet de faire abstraction du véritable nom du
périphérique même si vous déplacez
le modem vers un autre port. Cela évite le
côté pénible de devoir modifier un certain
nombre de fichiers dans le répertoire /etc et les fichiers
.kermrc pour l'ensemble du
système!/dev/cuaa0 (ou
/dev/cuad0 sous &os; 6.X)
représente COM1,
cuaa1 (ou
/dev/cuad1)
COM2, etc.Assurez-vous d'avoir dans votre fichier de configuration
du noyau ce qui suit:device slSous &os; 4.X, utilisez à la place la ligne
suivante:pseudo-device sl 1Cette configuration fait partie du noyau
GENERIC, aussi cela ne devrait pas
être un problème à moins que vous ne
l'ayez effacée.Ce que vous n'aurez à faire qu'une seule
foisAjoutez votre machine, la passerelle et les serveurs
de noms de domaines à votre fichier
/etc/hosts. Le notre ressemble
à ceci:127.0.0.1 localhost loghost
136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Example.EDU ns2Assurez-vous que hosts
apparaît avant bind dans votre
fichier /etc/host.conf sous les
versions de &os; antérieures à 5.0. Depuis
&os; 5.0, le système utilise à la place
le fichier /etc/nsswitch.conf,
vérifiez que files est avant
dns dans la ligne
hosts de ce fichier. Sans ces
paramètres, il peut se passer des choses
bizarres.Editez le fichier
/etc/rc.conf.Définissez votre nom de machine en
éditant la ligne:hostname="myname.my.domain"Le nom Internet complet de la machine doit
être utilisé ici.Ajoutez sl0 à la
liste des interfaces réseau en modifiant la
ligne:network_interfaces="lo0"en:network_interfaces="lo0 sl0"Définissez les paramètres de
configuration de sl0 en
ajoutant une ligne:ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"route par
défautIndiquez la passerelle par défaut en
modifiant la ligne:defaultrouter="NO"en:defaultrouter="slip-gateway"Créez un fichier
/etc/resolv.conf qui contient:domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12serveurs de noms de
domainesnom de domaineComme vous pouvez le voir, ceci définit les
serveurs de noms de domaines. Bien entendu, les noms de
domaines et les adresses dépendront de votre
environnement.Donnez des mots de passe pour les utilisateurs
root et toor
(et à tous les autres comptes qui n'auraient pas
de mot de passe).Redémarrez votre machine et vérifiez
qu'elle a bien le nom voulu.Etablir une connexion SLIP SLIPse connecter avecTéléphonez, tapez
slip à l'invite, puis entrez
votre nom de machine et votre mot de passe. Ce que vous
devez entrer dépend de votre environnement. Si
vous utilisez Kermit, vous
pouvez essayer une procédure comme celle-ci:# configuration kermit
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# The next macro will dial up and login
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0aVous devez, bien évidemment, remplacer le nom
- d'utilisateur et le mot de passe par les votres.
+ d'utilisateur et le mot de passe par les votre.
Après cela vous pouvez alors entrer simplement
slip à l'invite de
Kermit pour vous
connecter.Conserver votre mot de passe en clair dans un
fichier quelconque est en général une
mauvaise idée. Faites-le
à vos risques et périls.Laissez ensuite Kermit
tel quel (vous pouvez le mettre en arrière-plan
avec
Ctrlz) et en tant que root,
tapez:&prompt.root; slattach -h -c -s 115200 /dev/modemSi vous êtes en mesure d'envoyer un
ping vers des machines situées
de l'autre côté du routeur, c'est que vous
êtes connecté! Si cela ne fonctionne pas,
vous pouvez essayer l'option au lieu
de en argument de
slattach.Comment couper la connexionEffectuez ceci:&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`pour tuer slattach. Gardez à
l'esprit que vous devez avoir les droits du
super-utilisateur pour faire cela. Revenez ensuite sous
kermit (en tapant fg
si l'avez mis en tâche de fond) et quittez-le
(q).La page de manuel de &man.slattach.8; dit que vous devez
employer la commande ifconfig sl0 down
pour indiquer que l'interface n'est plus active, mais cela
ne change apparemment rien (les diagnostics donnés
par la commande ifconfig sl0 restent
identiques).Il arrive que parfois que votre modem refuse de
raccrocher. Dans ce cas, relancez kermit
et quittez-le de nouveau. Cela fonctionne en
général à la seconde tentative.DépannageSi cela ne fonctionne pas, n'hésitez pas à
contacter la liste de diffusion &a.net.name;. Voici les
problèmes que certains ont rencontré
jusqu'ici:Ne pas utiliser l'option ou
avec slattach (Cela
ne devrait pas poser de problème, mais des
utilisateurs ont signalé que l'utilisation de cet
indicateur a résolu leur problème).Utiliser au lieu de
(avec certaines polices de
caractères, il est parfois difficile de faire la
différence).Essayez ifconfig sl0 pour
connaître la configuration de votre interface.
Vous obtiendrez, par exemple:&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00Si vous obtenez le message d'erreur no
route to host lors de l'utilisation de
&man.ping.8;, il se peut qu'il y ait un problème
avec votre table de routage. Vous pouvez utiliser la
commande netstat -r pour afficher les
routes actives:&prompt.root; netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)Les exemples précédents proviennent
d'un système relativement chargé. La
valeurs sur votre système varieront en fonction
de l'activité réseau.Configurer un serveur SLIPSLIPserveurCe document donne des indications pour la mise en oeuvre
d'un serveur SLIP sur un système &os;, ce qui signifie
généralement configurer votre système
pour ouvrir automatiquement une connexion à l'ouverture
d'une session depuis un client SLIP distant.Prérequisréseau TCP/IPCette section est très technique, il vous faut
donc quelques connaissances de base. On supposera que vous
connaissez le protocole réseau TCP/IP et, en
particulier, l'adressage des réseaux et des noeuds,
les masques de sous-réseau, les sous-réseaux,
le routage et les protocoles de routage tels que RIP. Ce
sont les concepts que vous devez maîtriser pour
configurer les services SLIP sur un serveur de connexions,
et si ce n'est pas le cas, veuillez lire TCP/IP
Network Administration de Craig Hunt chez
O'Reilly & Associates, Inc. (ISBN 0-937175-82-X), ou les
ouvrages de Douglas Comer sur le protocole TCP/IP.modemOn suppose également que vous avez
déjà installé vos modems et
configuré les fichiers systèmes
appropriés pour permettre l'ouverture de session via
vos modems. Si vous ne l'avez pas encore fait reportez-vous
à la pour des informations sur
la configuration des connexions entrantes. Vous pouvez aussi
consulter les pages de manuel de &man.sio.4; pour plus
d'information sur le pilote du port série et
&man.ttys.5;, &man.gettytab.5;, &man.getty.8;, & et
&man.init.8; en ce qui concerne la configuration du
système pour qu'il autorise les connexions en
provenance de modems, et peut-être la page de manuel
&man.stty.1; pour des informations sur le paramétrage
des ports série (comme clocal pour
les interfaces série directement
connectées).Rapide vue d'ensembleUne configuration typique d'utilisation de &os; comme
serveur SLIP fonctionne de la manière suivante: un
utilisateur SLIP appelle votre serveur SLIP &os; et ouvre
une session sous un identifiant utilisateur SLIP particulier
qui lance /usr/sbin/sliplogin comme
interpréteur de commandes. Le programme
sliplogin consulte le fichier
/etc/sliphome/slip.hosts à la
recherche d'une ligne correspondant à cet utilisateur
particulier, et s'il la trouve, connecte la ligne
série à une interface SLIP disponible et lance
ensuite la procédure
/etc/sliphome/slip.login pour
configurer cette interface SLIP.Un exemple d'ouverture de session sur un serveur
SLIPPar exemple, si Shelmerg
était un identifiant utilisateur SLIP,
l'entrée pour Shelmerg
ressemblerait à ceci:Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliploginQuand Shelmerg ouvre une session,
sliplogin consulte
/etc/sliphome/slip.hosts à la
recherche d'une ligne correspondant à l'identifiant
de l'utilisateur correspondant; par exemple, il peut y
avoir dans le fichier
/etc/sliphome/slip.hosts la
ligne:Shelmerg dc-slip sl-helmer 0xfffffc00 autocompsliplogin trouvera alors cette
ligne, affectera la ligne série à
l'interface SLIP suivante,et ensuite exécutera
/etc/sliphome/slip.login avec les
arguments suivants:/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocompSi tous se passe bien,
/etc/sliphome/slip.login
exécutera un ifconfig sur
l'interface SLIP que s'est attribué
sliplogin (l'interface SLIP 0, dans
l'exemple ci-dessus, qui est le premier paramètre
passé à slip.login)
pour définir l'adresse IP locale
(dc-slip), l'adresse IP de la machine
distante (sl-helmer), le masque de
sous-réseau de l'interface SLIP (0xfffffc00), et tout autre
indicateur supplémentaire
(autocomp). Si quelque chose se passe
mal, sliplogin fournit en
général des messages d'information via la
fonctionnalité de trace du
démonsyslogd, qui les enregistre
habituellement dans le fichier
/var/log/messages (reportez-vous au
pages de manuel de &man.syslogd.8; et &man.syslog.conf.5;
et consultez peut-être aussi le fichier
/etc/syslog.conf pour voir ce que
trace syslogd et où il
enregistre ces messages.).Configuration du noyaunoyauconfigurationSLIPLe noyau par défaut de &os;
(GENERIC) fourni le support SLIP
(&man.sl.4;); dans le cas d'un noyau personnalisé,
vous devez ajouter la ligne suivante à votre fichier
de configuration du noyau:device slSous &os; 4.X, utilisez la ligne suivante:pseudo-device sl 2Le chiffre en fin de ligne représente le nombre
maximum de connexions SLIP qui peuvent cohexister. Depuis
&os; 5.0, le pilote &man.sl.4; est capable
d'auto-clonage.Par défaut, votre machine &os; ne transmettra pas
les paquets. Si vous désirez que votre serveur SLIP
&os; agisse en routeur, vous devez éditer le fichier
/etc/rc.conf et positionner la variable
gateway_enable à
.Vous devrez ensuite redémarrer pour que les
nouveaux paramètres prennent effet.Veuillez vous référer à la sur la configuration du noyau pour
de l'aide sur ce sujet.Configuration de sliploginComme indiqué plus haut, il y a trois fichiers
dans le répertoire /etc/sliphome qui servent
à la configuration de
/usr/sbin/sliplogin (voyez
&man.sliplogin.8; pour avoir la page de manuel de
sliplogin):
slip.hosts, définit les
utilisateurs SLIP et les adresses IP qui leur sont
associées, slip.login, qui ne
fait en général que configurer l'interface
SLIP, et (facultatif) slip.logout, qui
effectue le travail inverse de
slip.login quand la connexion
série est terminée.Configuration de slip.hosts/etc/sliphome/slip.hosts contient
des lignes avec au moins quatre champs
séparés par des espaces:L'identifiant (ID) d'utilisateur SLIP;L'adresse locale (locale au serveur SLIP) de la
liaison SLIP;L'adresse de l'autre extrémité de la
liaison SLIP;Le masque de sous-réseau.Les adresses locales et distantes peuvent être
des noms de machines (qui seront convertis en adresses IP
via /etc/hosts ou par le service de
noms de domaines, en fonction de ce que contient le
fichier /etc/nsswitch.conf, ou
/etc/host.conf si vous utilisez
&os; 4.X), et le masque de sous-réseau peut
être un nom qui sera converti en consultant le
fichier /etc/networks. Par exemple,
/etc/sliphome/slip.hosts
contiendra:#
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompLa ligne se termine par une ou plusieurs
options: — pas de compression
des en-têtes; — compression des
en-têtes; — compression des
en-têtes si la machine distante l'autorise; — interdit les
paquets ICMP (de sorte que les paquets
ping seront ignorés au lieu de
consommer votre bande passante).SLIPréseau TCP/IPLe choix des adresses pour les deux
extrémités des liaisons SLIP dépend du
fait que vous leur dédiez un sous-réseau
TCP/IP ou que vous comptiez utiliser un proxy
ARP sur votre serveur SLIP (ce n'est pas un
vrai proxy ARP, mais c'est la terminologie
que nous utiliserons dans ce document pour le
désigner). Si vous n'êtes pas sûr de la
méthode à choisir ou de la façon
d'assigner les adresses IP, référez-vous aux
ouvrages sur le TCP/IP mentionnés à section
sur les prérequis ()
et/ou consultez l'administrateur de votre réseau
IP.Si vous comptez utiliser un sous-réseau IP
séparé pour vos clients SLIP, vous devrez
définir l'adresse de sous-réseau à
partir de votre réseau IP et attribuer à
chacun de vos clients SLIP une adresse IP sur ce
sous-réseau. Ensuite, vous devrez probablement
configurer sur votre routeur IP le plus proche une route
statique vers votre sous-réseau SLIP via votre
serveur SLIP.EthernetSinon, si vous avez l'intention d'utiliser la
méthode du proxy ARP, vous devrez
assigner à vos clients SLIP des adresses IP en
provenance du sous-réseau Ethernet de votre serveur
SLIP, et vous devrez également adapter vos
procédures
/etc/sliphome/slip.login et
/etc/sliphome/slip.logout pour qu'elles
utilisent &man.arp.8; pour gérer les entrées
proxy ARP dans la table ARP de votre serveur SLIP.Configuration de slip.loginLe fichier
/etc/sliphome/slip.login ressemble
généralement à ceci:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# procédure générique d'ouverture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6Ce fichier slip.login ne fait
qu'exécuter ifconfig sur
l'interface SLIP appropriée avec comme
paramètres les adresses locales et distantes et le
masque de sous-réseau de l'interface SLIP.Si vous avez choisi d'utiliser la méthode du
proxy ARP (au lieu d'affecter un
sous-réseau distinct à vos clients SLIP),
votre fichier
/etc/sliphome/slip.login devra
ressembler à ceci:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# procédure générique d'ouverture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# répondre aux requêtes ARP concernant le client SLIP avec notre
# adresse Ethernet
/usr/sbin/arp -s $5 00:11:22:33:44:55 pubLa ligne supplémentaire dans ce fichier
slip.login, arp -s $5
00:11:22:33:44:55 pub, crée une
entrée ARP dans la table ARP du serveur SLIP.
Cette entrée ARP fait que le serveur SLIP
répond avec sa propre adresse MAC lorsqu'un autre
noeud IP du réseau Ethernet demande à
dialoguer avec le client SLIP qui possède cette
adresse IP.Ethernetadresse MACDans l'exemple donné ci-dessus, remplacez
l'adresse MAC Ethernet (00:11:22:33:44:55) avec l'adresse MAC de
la carte Ethernet de votre système, ou sinon votre
proxy ARP ne fonctionnera jamais! Vous
pouvez déterminer l'adresse MAC de votre serveur SLIP
en examinant le résultat de la commande
netstat -i; la seconde ligne doit
ressembler à ce qui suit:ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116Cela indique que l'adresse MAC Ethernet de ce
système est 00:02:c1:28:5f:4a — les points
dans les adresses MAC que donne netstat
-i doivent être remplacés par des
: et il faut ajouter un zéro devant
chaque valeur hexadécimale donnée sur un
seul digit pour obtenir des adresses dans le format requis
par &man.arp.8;; consultez la page de manuel d'&man.arp.8;
pour avoir des informations complètes sur ces
conventions.Quand vous créez les fichiers
/etc/sliphome/slip.login et
/etc/sliphome/slip.logout, le bit
exécutable (i.e., chmod
755 /etc/sliphome/slip.login
/etc/sliphome/slip.logout) doit être
positionné, ou sinon sliplogin
sera incapable d'exécuter la
procédure.Configuration de
slip.logout/etc/sliphome/slip.logout
n'est pas strictement indispensable (à moins que
vous n'implémentiez un proxy ARP),
mais si vous décidez de la créer, voici un
exemple de procédure
slip.logout
élémentaire:#!/bin/sh -
#
# slip.logout
#
# procédure générique de fermeture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 downSi vous utilisez la méthode proxy
ARP, vous voudrez que
/etc/sliphome/slip.logout supprime
l'entrée ARP pour le client SLIP:#!/bin/sh -
#
# @(#)slip.logout
#
# procédure générique de fermeture de session pour
# une liaison SLIP. sliplogin l'appelle avec les paramètres:
# 1 2 3 4 5 6 7-n
# interface vitesse nom adresse-locale adresse-distante masque arg-optionnels
#
/sbin/ifconfig sl$1 down
# Cesser de répondre aux requêtes ARP concernant le client SLIP
/usr/sbin/arp -d $5La commande arp -d $5 supprime
l'entrée ARP que la procédure
slip.login pour le proxy
ARP a ajouté quand le client SLIP a ouvert
la session.Il n'est pas inutile de répéter:
assurez-vous que le bit exécutable
de la procédure
/etc/sliphome/slip.logout a
été positionné après que vous
l'ayez créée (i.e., chmod 755
/etc/sliphome/slip.logout).A propos du routageSLIProutageSi vous n'utilisez pas proxy ARP pour
router les paquets entre vos clients SLIP et le reste de
votre réseau (et peut-être l'Internet), vous
devrez probablement ajouter des routes statiques vers le(s)
routeur(s) par défaut le(s) plus proche(s) pour
router le sous-réseau de vos clients SLIP via votre
serveur SLIP.Routes statiquesroutes statiquesAjouter des routes statiques vers vos routeurs
les plus proches peut être problématique
(voire impossible si vous n'avez pas les autorisations
pour...). Si vous avez un réseau avec plusieurs
routeurs, certains d'entre eux, tels que les Cisco et les
Proteon, devront non seulement être
configurés pour la route statique vers le
sous-réseau SLIP, mais devront aussi savoir quelles
routes statiques ils doivent annoncer aux autres routeurs,
donc quelques compétences, un peu de
dépannage ou de bidouille pourront
être nécessaire pour que vos routes statiques
fonctionnent.Utiliser &gated;&gated;&gated; est
désormais un logiciel propriétaire et les
sources ne seront donc plus disponibles (plus d'information
sur le site Web de &gated;). Cette section
existe uniquement pour des raisons de compatibilité
pour ceux qui utilisent encore une ancienne version.Une alternative aux maux de tête que provoquent
les routes statiques est d'installer
&gated; sur votre serveur SLIP
&os; et de le configurer pour qu'il utilise les protocoles
de routage appropriés (RIP/OSPF/BGP/EGP) pour
annoncer aux autres routeurs votre sous-réseau
SLIP. Vous aurez besoin de créer un fichier
/etc/gated.conf pour configurer
&gated;; voici un exemple,
semblable à celui que l'auteur a utilisé sur
un serveur SLIP &os;:#
# fichier de configuration de gated dc.dsu.edu; pour la version
# 3.5alpha5
# diffusion des informations RIP pour xxx.xxx.yy via l'interface
# Ethernet "ed"
#
#
# options de trace
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {
interface sl noripout noripin ;
interface ed ripin ripout version 1 ;
traceoptions route ;
} ;
#
# Activer un certain nombre d'informations de trace sur l'interface
# au noyau:
kernel {
traceoptions remnants request routes info interface ;
} ;
#
# Propager la route vers xxx.xxx.yy via l'Ethernet interface et RIP
#
export proto rip interface ed {
proto direct {
xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
} ;
} ;
#
# Accepter les routes de RIP via les interfaces Ethernet "ed"
import proto rip interface ed {
all ;
} ;RIPL'exemple de fichier gated.conf
ci-dessus diffuse l'information de routage concernant le
sous-réseau SLIP
xxx.xxx.yy via RIP sur
l'interface Ethernet; si vous utilisez un pilote de
périphérique Ethernet différent du
pilote ed, vous devrez modifier en
conséquence les références à
l'interface ed. Ce fichier
d'exemple active également les journaux sur
/var/tmp/gated.output pour pouvoir
déboguer le fonctionnement de
&gated;; vous pouvez
désactiver ces options de trace si
&gated; fonctionne correctement
pour vous. Vous devrez remplacer
xxx.xxx.yy par l'adresse
réseau de votre propre sous-réseau SLIP
(assurez-vous de remplacer également le masque de
sous-réseau dans la clause proto
direct).Une fois que vous avez installé et
configuré &gated; sur
votre système, vous devrez indiquer aux
procédures de démarrage de &os; de lancer
&gated; à la place de
routed. La manière la
plus simple de faire cela est de positionner les variables
router et
router_flags dans le fichier
/etc/rc.conf. Veuillez consulter la
page de manuel de &gated; pour
des informations sur les paramètres en ligne de
commande.
diff --git a/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml
index abbe073fc2..d2e77d2785 100755
--- a/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml
@@ -1,2557 +1,2557 @@
MatthewDillonUne grande partie de ce chapitre provient de la page
de manuel security(7) écrite par Sécuritésécurité
&trans.a.fonvieille;
SynopsisCe chapitre sera une introduction aux concepts de base de la
sécurité système, à certaines
règles empiriques, et à
des sujets avancés sous &os;. De nombreux sujets
abordés ici peuvent être appliqués à
la sécurité système et Internet en
général.
L'Internet n'est plus un endroit “amical”
dans lequel chacun désire être votre gentil voisin.
Sécuriser votre système est impératif pour
protéger vos données, la propriété
intellectuelle,
votre temps, et bien plus des mains des “hackers” et
équivalents.&os; fournit un ensemble d'utilitaires et de mécanismes
pour assurer l'intégrité et la sécurité
de votre système et votre réseau.Après la lecture de ce chapitre, vous
connaîtrez:Les concepts de base de la sécurité
système en ce qui concerne &os;.Les différents mécanismes de chiffrement
disponibles sous &os;, comme DES et MD5.Comment mettre en place une authentification
par mot de passe non réutilisable.Comment configurer Kerberos, un autre système
d'authentification.Comment créer des coupe-feux en utilisant IPFW.Comment configurer IPsec.Comment configurer et utiliser
OpenSSH, la version
de SSH implémentée sous &os;.Comment configurer et charger les modules d'extension
de contrôle d'accès en utilisant l'ensemble
TrustedBSD MAC.Ce que sont les ACLs et comment les
utiliser.Avant de lire ce chapitre, vous devrez:Comprendre les concepts de base de &os; et
d'Internet.Introduction ** Traduction en Cours **Securing FreeBSD ** Traduction en Cours **BillSwingleEn partie réécrit et mis à jour
par DES, MD5, et chiffrementsécuritéchiffrementchiffrementDESMD5Chaque utilisateur d'un système &unix; possède un
mot de passe associé à son compte.
Il semble évident
que ces mots de passe ne doivent être connus que de
l'utilisateur et du système d'exploitation. Afin de
conserver ces mots de passe secrets, ils sont chiffrés
avec ce que l'on appelle un “hachage
irréversible”, ce qui signifie que le mot de passe
peut être aisément chiffré mais pas
déchiffré.
En d'autres mots, ce que nous vous disions précédemment
n'est même pas vrai: le système d'exploitation
lui-même ne connaît pas vraiment
le mot de passe. Il ne connaît que la forme
chiffrée du mot de passe. La
seule manière d'obtenir le mot de passe en
clair est d'effectuer une recherche par
force brute de tous les mots de passe possibles.Malheureusement, la seule méthode sécurisée
pour chiffrer les mots de passe quand &unix; a vu le jour
était basée sur DES, le “Data Encryption
Standard” (standard de chiffrement des données).
C'était un problème mineur pour les utilisateurs
résidants aux Etats-Unis, mais puisque le code source
de DES ne pouvait être exporté en dehors des Etats-Unis,
&os; dû trouver un moyen de respecter la législation
américaine et de rester compatible avec les autres
systèmes &unix; qui utilisaient encore DES.La solution fut de séparer les bibliothèques
de chiffrement de façon à ce que les utilisateurs
américains puissent installer les bibliothèques DES
et utiliser DES, mais que les utilisateurs internationaux
disposent d'une méthode de chiffrement non restreinte
à l'exportation. C'est comment &os; est venu à
utiliser MD5 comme méthode de chiffrement par défaut.
MD5 est reconnu comme étant plus sure que DES,
l'installation de DES est proposée principalement
pour des raisons de compatibilité.Identifier votre mécanisme de chiffrementAvant FreeBSD 4.4 libcrypt.a
était un lien symbolique pointant sur la bibliothèque
utilisée pour le chiffrement. FreeBSD 4.4 modifia
libcrypt.a pour fournir une bibliothèque
de hachage pour l'authentification des mots de passe
configurable. Actuellement la bibliothèque supporte les
fonctions de hachage DES, MD5 et Blowfish. Par défaut
&os; utilise MD5 pour chiffrer les mots de passe.Il est relativement facile d'identifier quelle
méthode de chiffrement &os; utilise. Examiner les
mots de passe chiffrés dans le fichier
/etc/master.passwd est une méthode.
Les mots de passe MD5 sont plus longs que les mots de passe
DES, et commencent par les caractères
$1$. Les mots de passe
débutant par $2$ sont
chiffrés suivant la méthode Blowfish. Les mots de
passe DES n'ont pas de caractéristique particulière,
mais sont plus courts que les mots de passe MD5 et utilisent
un alphabet de 64 caractères qui ne contient pas le
caractère $, aussi une
chaîne relativement courte qui ne commence pas par un dollar
a donc de très fortes chances d'être un mot de passe
DES.Le format utilisé par les nouveaux mots de passe est
contrôlé par la capacité de classe de session
passwd_format dans
/etc/login.conf, qui prend comme
valeur des, md5 ou
blf. Voir la page de manuel
&man.login.conf.5; pour plus d'information sur les
capacités de classe de session.Mots de passe non réutilisablesmots de passe non réutilisablessécuritémots de passe non réutilisablesS/Key est un système de mots de passe non
réutilisables basé sur une fonction de hachage
irréversible. &os; utilise le hachage MD4 pour des
raisons de compatibilité mais d'autres système
utilisent MD5 et DES-MAC. S/Key fait partie du système
de base de &os; depuis la version 1.1.5 et est aussi
utilisé sur un nombre toujours plus important d'autres
systèmes d'exploitation. S/Key est une marque
déposée de Bell
Communications Research, Inc.Depuis la version 5.0 de &os;, S/Key a été
remplacé par la fonction équivalente OPIE
(“One-time Passwords In Everything” — Mots de
passe non réutilisables dans toutes les applications).
OPIE utilise le hachage MD5 par défaut.Il existe trois types de mots de passe dont nous parlerons
dans ce qui suit. Le premier est votre mot de passe &unix;
habituel ou mot de passe Kerberos; nous appellerons “mot
de passe &unix;“. Le deuxième type est le mot de passe
généré par les programmes
S/Key key ou
OPIE &man.opiekey.1; et reconnu par les programmes
keyinit ou &man.opiepasswd.1; et l'invite
de session; nous appellerons ceci un “mot de passe non
réutilisable”. Le dernier type de mot de passe
est le mot de passe secret que vous donnez aux programmes
key/opiekey (et parfois
aux programmes
keyinit/opiepasswd) qui
l'utilisent pour générer des mots de passe non
réutilisable; nous l'appellerons “mot de passe
secret” ou tout simplement “mot de
passe”.Le mot de passe secret n'a rien à voir avec
votre mot de passe &unix;; ils peuvent être identique,
mais c'est déconseillé. Les mots de passe secret
S/Key et OPIE ne sont pas limités à 8
caractères comme les
anciens mots de passe &unix;Sous &os; le mot de
passe standard peut avoir une longueur de 128 caractères
maximum., ils peuvent avoir la longueur que
vous désirez. Des mots de passe de six ou sept mots de long
sont relativement communs. La plupart du temps, le système
S/Key ou OPIE fonctionne de façon complètement
indépendante du système de mot de passe &unix;.En plus du mot de passe, deux autres types de données
sont importantes pour S/Key et OPIE. L'une d'elles est
connue sous le nom de “germe” (“seed”)
ou “clé”, formé de deux lettres et
cinq chiffres. L'autre est ce que l'on appelle le
“compteur d'itérations”, un nombre compris
entre 1 et 100. S/Key génère un mot de passe non
réutilisable en concaténant le germe et le mot de
passe secret, puis en appliquant la fonction de hachage MD4/MD5
autant de fois qu'indiqué par le compteur
d'itérations, et en convertissant le résultat en
six courts mots anglais.
Ces six mots anglais constituent votre mot de
passe non réutilisable. Le système d'authentification
(principalement PAM) conserve une trace du dernier mot de passe
non réutilisable utilisé, et l'utilisateur est
authentifié si la valeur de hachage du mot de passe fourni par
l'utilisateur est la même que celle du mot de passe
précédent. Comme le hachage utilisé est
irréversible, il est impossible de générer
de mot de passe non réutilisable si on a surpris un de
ceux qui a été utilisé avec succès; le
compteur d'itérations est décrémenté
après chaque ouverture de session réussie, de sorte que
l'utilisateur et le programme d'ouverture de session restent en
phase. Quand le compteur d'itération passe à 1,
S/Key et OPIE doivent être
réinitialisés.Il y a trois programmes impliqués dans chacun des
systèmes que nous aborderons plus bas. Les programmes
key et opiekey ont pour
paramètres un compteur d'itérations, un germe, et un
mot de passe secret, et génère un mot
de passe non réutilisable ou une liste de mots
de passe non réutilisable. Les programmes
keyinit et opiepasswd
sont utilisés pour initialiser respectivement
S/Key et OPIE, et pour modifier les mots de passe, les compteurs
d'itérations, ou les germes; ils prennent pour
paramètres soit un mot de passe secret, soit un compteur
d'itérations, soit un germe, et un mot de passe non
réutilisable. Le programme keyinfo ou
opieinfo consulte le fichier d'identification
correspondant (/etc/skeykeys ou
/etc/opiekeys) et imprime la valeur du
compteur d'itérations et le germe de l'utilisateur qui l'a
invoqué.Nous décrirons quatre sortes d'opérations. La
première est l'utilisation du programme
keyinit ou opiepasswd sur
une connexion sécurisée pour initialiser les mots
de passe non réutilisables pour la première
fois, ou pour modifier votre mot de passe ou votre germe.
La seconde opération est l'emploi des programmes
keyinit ou opiepasswd
sur une connexion non sécurisée, en conjonction
avec key ou opiekey sur
une connexion sécurisée, pour faire la même
chose. La troisième est l'utilisation de
key/opiekey pour ouvrir
une session sur une connexion non sécurisée.
La quatrième est l'emploi de key
ou opiekey pour générer
un certain nombre de clés qui peuvent être
notées ou imprimées et emportées avec vous
quand vous allez quelque part ou il n'y a aucune connexion
sécurisée.Initialisation depuis une connexion
sécuriséePour initialiser S/Key pour la première fois,
changer votre mot de passe, ou changer votre germe quand
vous êtes attaché sous votre compte par
l'intermédiaire d'une connexion sécurisée
(e.g., sur la console d'une machine ou via
ssh), utilisez la commande
keyinit sans paramètres:&prompt.user; keyinit
Adding unfurl:
Reminder - Only use this method if you are directly connected.
If you are using telnet or rlogin exit with no password and use keyinit -s.
Enter secret password:
Again secret password:
ID unfurl s/key is 99 to17757
DEFY CLUB PRO NASH LACE SOFTPour OPIE, opiepasswd est
utilisé à la place:&prompt.user; opiepasswd -c
[grimreaper] ~ $ opiepasswd -f -c
Adding unfurl:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase:
Again new secret pass phrase:
ID unfurl OTP key is 499 to4268
MOS MALL GOAT ARM AVID COED
A l'invite Enter new secret pass phrase:
ou Enter secret password:, vous devez entrer
un mot de passe ou une phrase. Rappelez-vous que ce n'est pas
le mot de passe que vous utiliserez pour ouvrir une session,
mais celui utilisé pour générer vos clés
non réutilisables. La ligne commençant par
“ID” liste les paramètres de votre instance:
votre nom d'utilisateur, la valeur de votre compteur
d'itérations et votre germe. Quand vous ouvrirez une
session, le système aura mémorisé ces
paramètres et vous les redonnera, vous n'avez donc
pas besoin de les retenir. La dernière ligne
donne le mot de passe non réutilisable correspondant
à ces paramètres et à votre mot de passe secret;
si vous devez vous reconnectez immédiatement, c'est ce
mot de passe que vous utiliseriez.Initialisation depuis une connexion non
sécuriséePour initialiser ou changer votre mot de passe secret
par l'intermédiaire d'une connexion non
sécurisée, il faudra avoir déjà
une connexion sécurisée sur une machine
où vous pouvez exécuter key ou
opiekey; ce peut être
depuis une icone sur le bureau d'un Macintosh
ou depuis la ligne de commande d'une machine sûre.
Il vous faudra également donner une valeur au compteur
d'itération (100 est probablement une bonne valeur),
et indiquer un germe ou utiliser la valeur aléatoire
générée par le programme. Sur la connexion non
sécurisée (vers la machine que vous initialisez),
employez la commande keyinit -s:&prompt.user; keyinit -s
Updating unfurl:
Old key: to17758
Reminder you need the 6 English words from the key command.
Enter sequence count from 1 to 9999: 100
Enter new key [default to17759]:
s/key 100 to 17759
s/key access password:
s/key access password:CURE MIKE BANE HIM RACY GOREPour OPIE, vous devez utiliser opiepasswd:&prompt.user; opiepasswd
Updating unfurl:
You need the response from an OTP generator.
Old secret pass phrase:
otp-md5 498 to4268 ext
Response: GAME GAG WELT OUT DOWN CHAT
New secret pass phrase:
otp-md5 499 to4269
Response: LINE PAP MILK NELL BUOY TROY
ID mark OTP key is 499 gr4269
LINE PAP MILK NELL BUOY TROY
Pour accepter le germe par défaut (que le programme
keyinit appelle key,
ce qui prête à confusion), appuyez sur
Entrée. Ensuite avant d'entrer un mot de
passe d'accès, passez sur votre connexion
sécurisée et donnez lui les mêmes
paramètres:&prompt.user; key 100 to17759
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
CURE MIKE BANE HIM RACY GOREOu pour OPIE:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHAT
Retournez maintenant sur votre connexion non
sécurisée, et copiez le mot de passe
non réutilisable généré par le programme
adapté.Générer un unique mot de passe non
réutilisableUne fois que vous avez initialisé S/Key ou OPIE,
lorsque que vous ouvrez une session, une invite de ce type
apparaîtra:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
s/key 97 fw13894
Password: Ou pour OPIE:&prompt.user; telnet example.com
Trying 10.0.0.1...
Connected to example.com
Escape character is '^]'.
FreeBSD/i386 (example.com) (ttypa)
login: <username>
otp-md5 498 gr4269 ext
Password: Les invites S/Key et OPIE disposent d'une fonction utile
(qui n'est pas illustrée ici): si vous appuyez sur la touche
Entrée lorsque l'on vous demande votre
mot de passe, le programme active l'écho au terminal, de
sorte que vous voyez ce que vous êtes en train de taper.
Ceci est très utile si vous essayez de taper un mot de
passe à la main, à partir d'un résultat
imprimé par exemple.MS-DOSWindowsMacOSA ce moment vous devez générer votre
mot de passe non réutilisable pour répondre à
cette invite de session. Cela doit être effectué
sur une machine de confiance sur laquelle vous pouvez
exécuter key ou
opiekey (il y a des versions de ces
programmes pour DOS, Windows et MacOS). Ces programmes
ont besoin du compteur d'itérations et du germe comme
paramètres. Vous pouvez les copier-coller de l'invite de
session de la machine sur laquelle vous voulez ouvrir une
session.Sur le système sûr:&prompt.user; key 97 fw13894
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password:
WELD LIP ACTS ENDS ME HAAGPour OPIE:&prompt.user; opiekey 498 to4268
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase:
GAME GAG WELT OUT DOWN CHATMaintenant que vous disposez de votre mot de passe non
réutilisable vous pouvez continuer et vous
connecter:login: <username>
s/key 97 fw13894
Password: <return to enable echo>
s/key 97 fw13894
Password [echo on]: WELD LIP ACTS ENDS ME HAAG
Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ... Générer de multiples mots de passe
non réutilisablesIl faut parfois se rendre en des endroits où
vous n'avez pas accès à une machine de confiance
ou à une connexion sécurisée. Dans ce cas, vous
pouvez utiliser la commande key ou
opiekey pour générer plusieurs
mots de passe non réutilisables que vous pouvez imprimer
et transporter avec vous. Par exemple:&prompt.user; key -n 5 30 zz99999
Reminder - Do not use this program while logged in via telnet or rlogin.
Enter secret password: <secret password>
26: SODA RUDE LEA LIND BUDD SILT
27: JILT SPY DUTY GLOW COWL ROT
28: THEM OW COLA RUNT BONG SCOT
29: COT MASH BARR BRIM NAN FLAG
30: CAN KNEE CAST NAME FOLK BILKOu pour OPIE:&prompt.user; opiekey -n 5 30 zz99999
Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: <secret password>
26: JOAN BORE FOSS DES NAY QUIT
27: LATE BIAS SLAY FOLK MUCH TRIG
28: SALT TIN ANTI LOON NEAL USE
29: RIO ODIN GO BYE FURY TIC
30: GREW JIVE SAN GIRD BOIL PHIL'option demande cinq clés en
séquence, l'option indique quel doit
être le rang de la dernière itération. Notez que
les clés sont imprimées dans l'ordre
inverse de celui où elles seront
éventuellement utilisées. Si vous êtes
vraiment paranoïaque, vous pouvez les recopier à la main,
sinon vous pouvez les copier-coller vers la commande
lpr. Remarquez que chaque ligne liste le
compteur d'itération et le mot de passe non
réutilisable; vous trouverez peut-être utile de rayer les
mots de passe au fur et à mesure de leur utilisation.Restreindre l'utilisation des mots de passe &unix;S/Key peut placer des restrictions sur l'utilisation des
mots de passe &unix; en fonction des noms de machine,
d'utilisateur, de la ligne utilisée par le terminal ou de
l'adresse IP de la machine connectée à distance.
Ces restrictions peuvent être trouvées dans le
fichier de configuration
/etc/skey.access. La page de manuel
&man.skey.access.5; donne de plus amples informations sur le
format de ce fichier et elle détaille également
certains avertissements relatifs à la sécurité
qu'il faut lire avant de se fier à ce fichier pour sa
sécurité.S'il n'y a pas de fichier
/etc/skey.access (ce qui est le cas par
défaut sur les systèmes &os; 4.X), tous les
utilisateurs pourront se servir de mots de passe &unix;. Si le
fichier existe, alors tous les utilisateurs devront passer par
S/Key, à moins qu'ils ne soient explicitement
autorisés à ne pas le faire par des instructions du
fichier /etc/skey.access. Dans tous les
cas l'usage des mots de passe &unix; est autorisé sur
la console.Voici un exemple de configuration du fichier
skey.access qui illustre les trois types
d'instructions les plus courantes:permit internet 192.168.0.0 255.255.0.0
permit user fnord
permit port ttyd0La première ligne (permit internet)
autorise les utilisateurs dont l'adresse IP (ce qui rend
vulnérable en cas d'usurpation) appartient au
sous-réseau spécifié à employer les mots
de passe &unix;. Cela ne doit pas être
considéré comme une mesure de sécurité,
mais plutôt comme un moyen de rappeler aux utilisateurs
autorisés qu'ils sont sur un réseau non
sécurisé et doivent utiliser S/Key pour
s'authentifier.La seconde ligne (permit user)
autorise l'utilisateur désigné, dans notre cas
fnord, à employer n'importe quand
les mots de passe &unix;. En général,
il faut se servir de cette possibilité si les personnes
soit n'ont pas moyen d'utiliser le programme
key, s'ils ont par exemple des terminaux
passifs, soit s'ils sont définitivement réfractaires au
système.La troisième ligne (permit port)
autorise tous les utilisateurs d'un terminal sur une liaison
particulière à utiliser les mots de passe &unix;;
cela devrait être employé pour les connexions
téléphoniques.OPIE peut restreindre l'usage des mots de passe &unix;
sur la base de l'adresse IP lors de l'ouverture d'une session
comme peut le faire S/Key. Le fichier impliqué est
/etc/opieaccess, qui est présent par
défaut sous &os; 5.0 et versions suivantes.
Veuillez consulter la page de manuel &man.opieaccess.5; pour
plus d'information sur ce fichier et certaines
considérations sur la sécurité dont vous
devez être au courant en l'utilisant.Voici un exemple de fichier
opieaccess:permit 192.168.0.0 255.255.0.0Cette ligne autorise les utilisateurs dont l'adresse IP (ce
qui rend vulnérable en cas d'usurpation) appartient au
sous-réseau spécifié à employer les mots
de passe &unix; à tout moment.Si aucune règle du fichier opieaccess
ne correspond, le comportement par défaut est de
refuser toute ouverture de session non-OPIE.MarkMurrayContribution de MarkDapozBasée sur une contribution de KerberosKerberosKerberos est un protocole réseau supplémentaire
qui permet aux utilisateurs de s'authentifier par
l'intermédiaire d'un serveur sécurisé.
Des services comme l'ouverture de session et la copie à
distance, la copie sécurisée de fichiers entre
systèmes et autres fonctionnalités à haut
risque deviennent ainsi considérablement plus
sûrs et contrôlables.Les instructions qui suivent peuvent être
utilisées comme guide d'installation de Kerberos dans
la version distribuée pour &os;. Vous devriez
cependant vous référer aux pages de manuel
correspondantes pour avoir une description
complète.Installation de KerberosMITKerberosinstallationKerberos est un composant optionnel de &os;. La
manière la plus simple d'installer ce logiciel est de
sélectionner la distribution krb4
ou krb5 dans
sysinstall lors de l'installation
de &os;. Cela installera les implémentations
“eBones” (KerberosIV) ou “Heimdal”
(Kerberos5) de Kerberos. Ces implémentations sont
distribuées car elles sont développées en dehors
des USA ou du Canada et étaient par conséquent
disponibles aux utilisateurs hors de ces pays durant
l'ère restrictive du contrôle des exportations de
code de chiffrement à partir des USA.Alternativement, l'implémentation du MIT de
Kerberos est disponible dans le catalogue des logiciels
portés sous
security/krb5.Créer la base de données initialeCela se fait uniquement sur le serveur Kerberos.
Vérifiez tout d'abord qu'il ne traîne pas d'anciennes
bases Kerberos. Allez dans le répertoire
/etc/kerberosIV et assurez-vous qu'il ne
contient que les fichiers suivants:&prompt.root; cd /etc/kerberosIV
&prompt.root; ls
README krb.conf krb.realmsS'il y a d'autres fichiers (comme
principal.* ou
master_key), utilisez alors la commande
kdb_destroy pour supprimer l'ancienne base de
données Kerberos, ou si Kerberos ne tourne pas, effacez
simplement les fichiers supplémentaires.Vous devez maintenant éditer les fichiers
krb.conf et krb.realms
pour définir votre domaine Kerberos. Dans notre cas,
le domaine sera EXAMPLE.COM et le
serveur grunt.example.com. Nous
éditons ou créons le fichier
krb.conf:&prompt.root; cat krb.conf
EXAMPLE.COM
EXAMPLE.COM grunt.example.com admin server
CS.BERKELEY.EDU okeeffe.berkeley.edu
ATHENA.MIT.EDU kerberos.mit.edu
ATHENA.MIT.EDU kerberos-1.mit.edu
ATHENA.MIT.EDU kerberos-2.mit.edu
ATHENA.MIT.EDU kerberos-3.mit.edu
LCS.MIT.EDU kerberos.lcs.mit.edu
TELECOM.MIT.EDU bitsy.mit.edu
ARC.NASA.GOV trident.arc.nasa.govDans notre cas les autres domaines n'ont pas besoin
d'être mentionnés. Ils ne sont là que pour
montrer comment une machine peut avoir connaissance de
plusieurs domaines. Pour plus de simplicité, vous
pouvez ne pas les inclure.La première ligne indique pour quel domaine cette
machine agit. Les autre lignes définissent les autres
domaines/machines. Le premier élément sur une ligne
est le domaine, le second le nom de la machine qui est le
“centre de distribution de clés” de ce
domaine. Les mots admin server qui suivent
un nom de machine signifient que la machine est aussi serveur
d'administration de la base de données. Pour plus
d'explication sur cette terminologie, consultez les pages de
manuel de Kerberos.Nous devons maintenant ajouter grunt.example.com au domaine
EXAMPLE.COM et ajouter une entrée pour
mettre toutes les machines du domaine DNS .example.com dans le domaine
Kerberos EXAMPLE.COM. Le fichier
krb.realms aura alors l'allure
suivante:&prompt.root; cat krb.realms
grunt.example.com EXAMPLE.COM
.example.com EXAMPLE.COM
.berkeley.edu CS.BERKELEY.EDU
.MIT.EDU ATHENA.MIT.EDU
.mit.edu ATHENA.MIT.EDUEncore une fois, les autres domaines n'ont pas besoin
d'être mentionnés. Ils ne sont là que pour
montrer comment une machine peut avoir connaissance de
plusieurs domaines. Pour plus de simplicité, vous pouvez
ne pas les inclure.La première ligne assigne un système
particulier au domaine désigné.
Les lignes restantes montrent comment affecter par défaut
les systèmes d'un sous-domaine DNS particulier à un
domaine Kerberos donné.Nous sommes maintenant prêt pour la création
de la base de données. Il n'y a à le faire que
sur le serveur Kerberos (ou Centre de Distribution de
Clés). Cela se fait avec la commande
kdb_init:&prompt.root; kdb_initRealm name [default ATHENA.MIT.EDU ]:EXAMPLE.COM
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter Kerberos master key:Nous devons maintenant sauvegarder la clé pour que
les serveurs sur la machine locale puissent la lire.
Utilisons la commande kstash pour faire
cela:&prompt.root; kstashEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!Le mot de passe maître chiffré est
sauvegardé dans
/etc/kerberosIV/master_key.Installer les servicesIl faut ajouter deux entrées (“principals”)
à la base de données pour chaque
système qui sera sécurisé par Kerberos. Ce
sont kpasswd et rcmd.
Ces deux entrées sont définies pour chaque
système, chacune de leurs instances se voyant
attribuer le nom du système.Ces “daemons”,
kpasswd et
rcmd permettent aux autres
systèmes de changer les mots de passe Kerberos et
d'exécuter des commandes comme &man.rcp.1;,
&man.rlogin.1;, et &man.rsh.1;.Ajoutons donc maintenant ces entrées:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:passwdInstance:grunt
<Not found>, Create [y] ?y
Principal: passwd, Instance: grunt, kdc_key_ver: 1
New Password: <---- entrez RANDOM ici
Verifying password
New Password: <---- enter RANDOM here
Random password [y] ?y
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name:rcmdInstance:grunt
<Not found>, Create [y] ?
Principal: rcmd, Instance: grunt, kdc_key_ver: 1
New Password: <---- entrez RANDOM ici
Verifying password
New Password: <---- entrez RANDOM ici
Random password [y] ?
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- ne rien entrer ici permet de quitter le programmeCréer le fichier des servicesIl faut maintenant extraire les instances qui
définissent les services sur chaque machine. Pour cela
on utilise la commande ext_srvtab.
Cela créera un fichier qui doit être copié
ou déplacé par un moyen
sûr dans le répertoire
/etc/kerberosIV de chaque client
Kerberos. Ce fichier doit être présent sur
chaque serveur et client, et est crucial au bon fonctionnement
de Kerberos.&prompt.root; ext_srvtab gruntEnter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Generating 'grunt-new-srvtab'....Cette commande ne génère qu'un fichier temporaire
qui doit être renommé en srvtab
pour que tous les serveurs puissent y accéder.
Utilisez la commande &man.mv.1; pour l'installer sur le
système d'origine:&prompt.root; mv grunt-new-srvtab srvtabSi le fichier est destiné à un client, et que
le réseau n'est pas considéré comme sûr,
alors copiez le fichier
client-new-srvtab
sur un support amovible et transportez-le par un moyen
physiquement sûr. Assurez-vous de le renommer en
srvtab dans le répertoire
/etc/kerberosIV du client, et mettez-le
bien en mode 600:&prompt.root; mv grumble-new-srvtab srvtab
&prompt.root; chmod 600 srvtabRenseigner la base de donnéesNous devons maintenant créer des entrées
utilisateurs dans la base de données. Tout d'abord
créons une entrée pour l'utilisateur
jane. Utilisez la commande
kdb_edit pour cela:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:
<Not found>, Create [y] ?y
Principal: jane, Instance: , kdc_key_ver: 1
New Password: <---- entrez un mot de passe sûr ici
Verifying password
New Password: <---- réentrez le mot de passe sûr là
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- ne rien entrer ici permet de quitter le programmeTester l'ensembleIl faut tout d'abord démarrer les “daemons”
Kerberos. Notez que si vous avez correctement modifié
votre fichier /etc/rc.conf, cela se fera
automatiquement au redémarrage du système. Ceci
n'est nécessaire que sur le serveur Kerberos. Les
clients Kerberos récupéreront automatiquement les
informations dont ils ont besoin via leur répertoire
/etc/kerberosIV.&prompt.root; kerberos &
Kerberos server starting
Sleep forever on error
Log file is /var/log/kerberos.log
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Current Kerberos master key version is 1
Local realm: EXAMPLE.COM
&prompt.root; kadmind -n &
KADM Server KADM0.0A initializing
Please do not use 'kill -9' to kill this job, use a
regular kill instead
Current Kerberos master key version is 1.
Master key entered. BEWARE!Nous pouvons maintenant utiliser la commande
kinit pour obtenir un “ticket
d'entrée” pour l'utilisateur
jane que nous avons créé
plus haut:&prompt.user; kinit jane
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane"
Password:Essayons de lister les informations associées
avec la commande klist pour voir si nous
avons vraiment tout ce qu'il faut:&prompt.user; klist
Ticket file: /tmp/tkt245
Principal: jane@EXAMPLE.COM
Issued Expires Principal
Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COMEssayons maintenant de modifier le mot de passe en
utilisant la commande &man.passwd.1; pour vérifier
si le “daemon” kpasswd
est autorisé à accéder à la base
de données Kerberos:&prompt.user; passwd
realm EXAMPLE.COM
Old password for jane:New Password for jane:
Verifying password
New Password for jane:
Password changed.Autoriser l'utilisation de la commande
suKerberos permet d'attribuer à
chaque utilisateur qui a besoin des droits
du super-utilisateur son propre mot de
passe &man.su.1;. Nous pouvons créer un identifiant
qui est autorisé à utiliser &man.su.1;
pour devenir root. Cela se fait en
associant une instance root un
identificateur (“principal”) de base. En
utilisant la commande kdb_edit nous pouvons
créer l'entrée jane.root
dans la base de données Kerberos:&prompt.root; kdb_edit
Opening database...
Enter Kerberos master key:
Current Kerberos master key version is 1.
Master key entered. BEWARE!
Previous or default values are in [brackets] ,
enter return to leave the same, or new value.
Principal name:janeInstance:root
<Not found>, Create [y] ? y
Principal: jane, Instance: root, kdc_key_ver: 1
New Password: <---- entrez un mot de passe SUR ici
Verifying password
New Password: <---- réentrez le mot de passe ici
Principal's new key version = 1
Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?Max ticket lifetime (*5 minutes) [ 255 ] ?12 <--- Laissez une valeur faible!
Attributes [ 0 ] ?
Edit O.K.
Principal name: <---- ne rien entrer ici permet de quitter le programmeVérifions maintenant les caractéristiques
associées pour voir si cela fonctionne:&prompt.root; kinit jane.root
MIT Project Athena (grunt.example.com)
Kerberos Initialization for "jane.root"
Password:Nous devons maintenant ajouter l'utilisateur au fichier
.klogin de
root:&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMEssayons maintenant la commande &man.su.1;:&prompt.user; suPassword:et voyons quelles sont nos caractéristiques:&prompt.root; klist
Ticket file: /tmp/tkt_root_245
Principal: jane.root@EXAMPLE.COM
Issued Expires Principal
May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COMUtiliser d'autres commandesDans l'exemple précédent, nous avons
créé une entrée principale nommée
jane avec une instance root.
Cette entrée reposait sur un utilisateur ayant le même
nom que l'entrée principale, c'est ce que fait par
défaut Kerberos; une
<entrée_principale>.<instance>
de la forme
<nom_d_utilisateur>.root
autorisera <nom_d_utilisateur>. à
utiliser &man.su.1; pour devenir root si
le fichier .klogin du répertoire
personnel de l'utilisateur root est
correctement renseigné:&prompt.root; cat /root/.klogin
jane.root@EXAMPLE.COMDe même, si un utilisateur a dans son répertoire des
lignes de la forme:&prompt.user; cat ~/.klogin
jane@EXAMPLE.COM
jack@EXAMPLE.COMCela permet à quiconque dans le domaine
EXAMPLE.COM s'étant authentifié
en tant que jane ou
jack (via kinit, voir
plus haut) d'accéder avec &man.rlogin.1; au compte de
jane ou à ses fichiers sur le
système (grunt) via &man.rlogin.1;,
&man.rsh.1; ou &man.rcp.1;.Par exemple, jane ouvre maintenant
une session sur un autre système en utilisant
Kerberos:&prompt.user; kinit
MIT Project Athena (grunt.example.com)
Password:
&prompt.user; rlogin grunt
Last login: Mon May 1 21:14:47 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995Ou bien jack ouvre une session sur le
compte de jane sur la même machine
(jane ayant modifié son fichier
.klogin comme décrit plus haut, et la
personne an charge de Kerberos ayant défini une entrée
principale jack sans instance):&prompt.user; kinit
&prompt.user; rlogin grunt -l jane
MIT Project Athena (grunt.example.com)
Password:
Last login: Mon May 1 21:16:55 from grumble
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995Firewalls ** Traduction en Cours **OpenSSLsécuritéOpenSSLOpenSSLDepuis FreeBSD 4.0, la bibliothèque OpenSSL fait
partie du système de base. OpenSSL fournit une
bibliothèque de chiffrement d'usage général,
ainsi que les protocoles de sécurité réseau
Secure Sockets Layer v2/v3 (SSLv2/SSLv3)
et Transport Layer Security v1
(TLSv1).Cependant, un des algorithmes (précisément
IDEA) inclus dans OpenSSL est protégé par des
brevets aux USA et ailleurs, et n'est pas utilisable sans
- restriction. IDEA est inclu dans la version &os; d'OpenSSL,
+ restriction. IDEA est inclus dans la version &os; d'OpenSSL,
mais n'est pas compilé par défaut. Si vous désirez
l'utiliser, et que vous acceptez les termes de la licence,
activez l'option MAKE_IDEA dans le fichier
/etc/make.conf et recompilez vos sources
en utilisant la commande make world.Aujourd'hui, l'algorithme RSA est libre d'utilisation
aux USA et ailleurs. Il fut protégé par un brevet
dans le passé.OpenSSLinstallationInstallation du code sourceOpenSSL fait partie des catalogues
CVSupsrc-crypto
et src-secure. Reportez-vous à la
section Se procurer FreeBSD pour
savoir comment se procurer et mettre à jour le code
source de &os;.YoshinobuInoueContribution de IPsecIPsecsécuritéIPsecCaractères de terminaisonDans tous les exemples de cette section, et d'autres
sections, vous remarquerez qu'il y aura un “^D”
à la fin de certains exemples. Cela signifie qu'il faut
maintenir la touche Ctrl enfoncée
et appuyer sur la touche D. Un autre
caractère couramment utilisé est “^C”,
qui signifie de maintenir enfoncé la touche
Ctrl et d'appuyer sur
C.Pour d'autres documents détaillant
l'implémentation d'IPsec, jetez un oeil à
et .Le mécanisme IPsec fournit des communications
sécurisées sur couche IP ou à travers les
sockets. Cette section explique comment
l'utiliser. Pour des détails concernant
l'implémentation d'IPsec, reportez-vous au
Manuel du
développeur.L'implémentation actuelle d'IPsec supporte le mode
transport et le mode tunnel. Cependant, il y a des restrictions
au mode tunnel. fournit des
exemples plus exhaustifs.Soyez informé que pour utiliser cette fonctionnalité,
vous devez avoir les options suivantes présentes dans
votre fichier de configuration du noyau:options IPSEC #IP security
options IPSEC_ESP #IP security (crypto; define w/IPSEC)Exemple en mode transport avec IPv4Configurons une association de sécurité
pour déployer un canal sécurisé entre la Machine A
(10.2.3.4) et la Machine B
(10.6.7.8). Notre exemple est
un peu compliqué. De A vers B, nous n'utilisons que
l'ancien AH. De B vers A, le nouvel AH et le nouvel ESP sont
combinés.Nous devons maintenant choisir les algorithmes
correspondant à
“AH”/“nouvel AH”/“ESP”/
“nouvel ESP”. Reportez-vous à la page de manuel
&man.setkey.8; pour connaître les noms des algorithmes.
Nous utiliserons MD5 pour AH, new-HMAC-SHA1 pour le nouvel AH,
et new-DES-expIV avec 8 octets IV pour le nouvel ESP.La longueur de la clé dépend de chaque algorithme.
Par exemple, elle doit être égale à 16 octets
pour MD5, 20 pour new-HMAC-SHA1, et 8 pour new-DES-expIV.
Nous choisissons maintenant “MYSECRETMYSECRET”,
“KAMEKAMEKAMEKAMEKAME”, “PASSWORD”,
respectivement.Définissons maintenant le SPI (Security Parameter
Index) pour chaque protocole. Remarquez qu'il nous
faut 3 SPIs pour ce canal sécurisé puisqu'il y aura
trois entêtes de sécurité (une de la Machine A vers la
Machine B et deux de la Machine B vers la Machine A). Notez
également que les SPIs doivent être supérieurs
à 256. Nous choisirions 1000, 2000 et 3000
respectivement.
(1)
Machine A ------> Machine B
(1)PROTO=AH
ALG=MD5(RFC1826)
KEY=MYSECRETMYSECRET
SPI=1000
(2.1)
Machine A <------ Machine B
<------
(2.2)
(2.1)
PROTO=AH
ALG=new-HMAC-SHA1(new AH)
KEY=KAMEKAMEKAMEKAMEKAME
SPI=2000
(2.2)
PROTO=ESP
ALG=new-DES-expIV(new ESP)
IV length = 8
KEY=PASSWORD
SPI=3000
Maintenant, définissons l'association de
sécurité. Exécutons &man.setkey.8; sur
la Machine A et la Machine B:&prompt.root; setkey -c
add 10.2.3.4 10.6.7.8 ah-old 1000 -m transport -A keyed-md5 "MYSECRETMYSECRET" ;
add 10.6.7.8 10.2.3.4 ah 2000 -m transport -A hmac-sha1 "KAMEKAMEKAMEKAMEKAME" ;
add 10.6.7.8 10.2.3.4 esp 3000 -m transport -E des-cbc "PASSWORD" ;
^DEn fait, la communication IPsec n'aura pas lieu avant que
les entrées de politique de sécurité
ne soient définies. Dans notre cas, il faut le faire sur les
deux machines.
Côté A:
&prompt.root; setkey -c
spdadd 10.2.3.4 10.6.7.8 any -P out ipsec
ah/transport/10.2.3.4-10.6.7.8/require ;
^D
Côté B:
&prompt.root; setkey -c
spdadd 10.6.7.8 10.2.3.4 any -P out ipsec
esp/transport/10.6.7.8-10.2.3.4/require ;
spdadd 10.6.7.8 10.2.3.4 any -P out ipsec
ah/transport/10.6.7.8-10.2.3.4/require ;
^D
Machine A --------------------------> Machine E
10.2.3.4 10.6.7.8
| |
========= ancien AH keyed-md5 ========>
<======== nouveau AH hmac-sha1 ========
<======== nouveau ESP des-cbc =========
Exemple en mode transport avec IPv6Un autre exemple utilisant IPv6.Le mode de transport ESP est recommandé pour le
port TCP numéro 110 entre la Machine-A et la
Machine-B.
============ ESP ============
| |
Machine-A Machine-B
fec0::10 -------------------- fec0::11
L'algorithme de chiffrement est blowfish-cbc avec la
clé “kamekame”, et l'algorithme
d'authentification est hmac-sha1 avec la clé
“this is the test key”. Configuration de la
Machine-A:&prompt.root; setkey -c <<EOF
spdadd fec0::10[any] fec0::11[110] tcp -P out ipsec
esp/transport/fec0::10-fec0::11/use ;
spdadd fec0::11[110] fec0::10[any] tcp -P in ipsec
esp/transport/fec0::11-fec0::10/use ;
add fec0::10 fec0::11 esp 0x10001
-m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
add fec0::11 fec0::10 esp 0x10002
-m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
EOFet de la Machine-B:&prompt.root; setkey -c <<EOF
spdadd fec0::11[110] fec0::10[any] tcp -P out ipsec
esp/transport/fec0::11-fec0::10/use ;
spdadd fec0::10[any] fec0::11[110] tcp -P in ipsec
esp/transport/fec0::10-fec0::11/use ;
add fec0::10 fec0::11 esp 0x10001 -m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
add fec0::11 fec0::10 esp 0x10002 -m transport
-E blowfish-cbc "kamekame"
-A hmac-sha1 "this is the test key" ;
EOFRemarquez la direction de SP.Exemple en mode tunnel avec IPv4Mode tunnel entre deux passerelles de
sécuritéLe protocole de sécurité est l'ancien mode
tunnel AH, i.e. spécifié par la RFC1826,
avec keyed-md5 comme algorithme d'authentification
et “this is the test” comme clé.
======= AH =======
| |
Réseau-A Passerelle-A Passerelle-B Réseau-B
10.0.1.0/24 ---- 172.16.0.1 ----- 172.16.0.2 ---- 10.0.2.0/24
Configuration de la Passerelle-A:&prompt.root; setkey -c <<EOF
spdadd 10.0.1.0/24 10.0.2.0/24 any -P out ipsec
ah/tunnel/172.16.0.1-172.16.0.2/require ;
spdadd 10.0.2.0/24 10.0.1.0/24 any -P in ipsec
ah/tunnel/172.16.0.2-172.16.0.1/require ;
add 172.16.0.1 172.16.0.2 ah-old 0x10003 -m any
-A keyed-md5 "this is the test" ;
add 172.16.0.2 172.16.0.1 ah-old 0x10004 -m any
-A keyed-md5 "this is the test" ;
EOFSi le numéro de port n'est pas précisé
comme ci-dessus, alors [any] est
utilisé. -m définit le mode
de SA à utiliser. -m any signifie
tout mode de protocole de sécurité. Vous
pouvez utiliser cette SA à la fois en mode transport
et en mode tunnel.et de la Passerelle-B:&prompt.root; setkey -c <<EOF
spdadd 10.0.2.0/24 10.0.1.0/24 any -P out ipsec
ah/tunnel/172.16.0.2-172.16.0.1/require ;
spdadd 10.0.1.0/24 10.0.2.0/24 any -P in ipsec
ah/tunnel/172.16.0.1-172.16.0.2/require ;
add 172.16.0.1 172.16.0.2 ah-old 0x10003 -m any
-A keyed-md5 "this is the test" ;
add 172.16.0.2 172.16.0.1 ah-old 0x10004 -m any
-A keyed-md5 "this is the test" ;
EOFEtablir une SA regroupée entre deux passerelles
de sécuritéOn désire le mode de transport AH et le mode
tunnel ESP entre Passerelle-A et Passerelle-B. Dans ce
cas, on applique d'abord le mode tunnel ESP puis le mode
de transport AH.
========== AH =========
| ======= ESP ===== |
| | | |
Réseau-A Passerelle-A Passerelle-B Réseau-B
fec0:0:0:1::/64 --- fec0:0:0:1::1 ---- fec0:0:0:2::1 --- fec0:0:0:2::/64
Exemple en mode tunnel avec IPv6L'algorithme de chiffrement est 3des-cbc, et l'algorithme
d'authentification est hmac-sha1. L'algorithme
d'authentification pour AH est hmac-md5. Configuration de la
Passerelle-A:&prompt.root; setkey -c <<EOF
spdadd fec0:0:0:1::/64 fec0:0:0:2::/64 any -P out ipsec
esp/tunnel/fec0:0:0:1::1-fec0:0:0:2::1/require
ah/transport/fec0:0:0:1::1-fec0:0:0:2::1/require ;
spdadd fec0:0:0:2::/64 fec0:0:0:1::/64 any -P in ipsec
esp/tunnel/fec0:0:0:2::1-fec0:0:0:1::1/require
ah/transport/fec0:0:0:2::1-fec0:0:0:1::1/require ;
add fec0:0:0:1::1 fec0:0:0:2::1 esp 0x10001 -m tunnel
-E 3des-cbc "kamekame12341234kame1234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:1::1 fec0:0:0:2::1 ah 0x10001 -m transport
-A hmac-md5 "this is the test" ;
add fec0:0:0:2::1 fec0:0:0:1::1 esp 0x10001 -m tunnel
-E 3des-cbc "kamekame12341234kame1234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:2::1 fec0:0:0:1::1 ah 0x10001 -m transport
-A hmac-md5 "this is the test" ;
EOFEtablir des SAs avec les différentes
extrémitésOn désire un mode tunnel ESP entre Machine-A et
Passerelle-A. L'algorithme de chiffrement est cast128-cbc,
et l'algorithme d'authentification pour ESP est hmac-sha1.
Le mode de transport ESP est recommandé entre Machine-A
et Machine-B. L'algorithme de chiffrement est rc5-cbc, et
l'algorithme d'authentification pour ESP est hmac-md5.
================== ESP =================
| ======= ESP ======= |
| | | |
Machine-A Passerelle-A Machine-B
fec0:0:0:1::1 ---- fec0:0:0:2::1 ---- fec0:0:0:2::2
Configuration de la Machine-A:&prompt.root; setkey -c <<EOF
spdadd fec0:0:0:1::1[any] fec0:0:0:2::2[80] tcp -P out ipsec
esp/transport/fec0:0:0:1::1-fec0:0:0:2::2/use
esp/tunnel/fec0:0:0:1::1-fec0:0:0:2::1/require ;
spdadd fec0:0:0:2::1[80] fec0:0:0:1::1[any] tcp -P in ipsec
esp/transport/fec0:0:0:2::2-fec0:0:0:l::1/use
esp/tunnel/fec0:0:0:2::1-fec0:0:0:1::1/require ;
add fec0:0:0:1::1 fec0:0:0:2::2 esp 0x10001
-m transport
-E cast128-cbc "12341234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:1::1 fec0:0:0:2::1 esp 0x10002
-E rc5-cbc "kamekame"
-A hmac-md5 "this is the test" ;
add fec0:0:0:2::2 fec0:0:0:1::1 esp 0x10003
-m transport
-E cast128-cbc "12341234"
-A hmac-sha1 "this is the test key" ;
add fec0:0:0:2::1 fec0:0:0:1::1 esp 0x10004
-E rc5-cbc "kamekame"
-A hmac-md5 "this is the test" ;
EOFChernLeeContribution de OpenSSHOpenSSHsécuritéOpenSSHOpenSSH est un ensemble d'outils
de connexion réseau utilisés pour
accéder à des machines
distantes de façon sécurisé. Ils peuvent
être utilisé comme remplaçants directs de
rlogin, rsh,
rcp, et telnet.
De plus, OpenSSH peut
sécuriser n'importe quelle connexion
TCP/IP via un tunnel. OpenSSH
chiffre tout le trafic de façon
à déjouer les écoutes réseau, les
prises de contrôle de connexion, et aux attaques au niveau
du réseau.OpenSSH est maintenu par le
projet OpenBSD, et est basé sur SSH v1.2.12 avec tous les
récentes corrections et mises à jour. Il est
compatible avec les protocoles SSH 1 et 2.
OpenSSH est présent dans le
système de base depuis &os; 4.0.Les avantages à utiliser OpenSSHNormalement, quand on utilise &man.telnet.1; ou
&man.rlogin.1;, les données sont envoyées sur le
réseau en clair, sous forme non chiffrée.
Des “renifleurs de paquets” placés
n'importe où entre le client et le serveur peuvent
prendre connaissance de votre nom d'utilisateur, de votre mot
de passe et des données transmises lors de votre session.
OpenSSH offre une
variété de méthodes d'authentification et
de chiffrage pour éviter ce genre de
problème.Activer sshdOpenSSHactivationAssurez-vous d'ajouter la ligne suivante à
votre fichier rc.conf:sshd_enable="YES"Cela chargera le “daemon”
ssh à l'initialisation suivante
du système. Alternativement, vous pouvez tout simplement
exécuter le “daemon”
sshd directement en tapant
sshd sur la ligne de commande.Client SSHOpenSSHclientL'utilitaire &man.ssh.1; fonctionne de la même
manière que &man.rlogin.1;:&prompt.root; ssh user@example.com
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'example.com' added to the list of known hosts.
user@example.com's password: *******L'ouverture de session se poursuit comme si elle
avait lancée par &man.rlogin.1; ou &man.telnet.1;.
Le système SSH utilise un système d'empreinte
de clé pour vérifier l'authenticité du
serveur quand le client se connecte. L'utilisateur est
invité à entrer yes uniquement
à la première connexion. Lors des futures
connexions, l'empreinte de la clé sauvegardé est
vérifiée. Le client SSH vous avertira si
l'empreinte sauvée diffère de l'empreinte
reçue lors de futures tentatives
de connexion. Les empreintes sont sauvées dans le
fichier ~/.ssh/known_hosts, ou
~/.ssh/known_hosts2 pour les empreintes
du protocole SSH 2.Par défaut, les serveurs
OpenSSH sont
configurés pour accepter les connexions dans les deux
protocoles SSH 1 et 2. Le client peut, cependant, choisir
entre les deux. Le protocole 2 est connu pour être plus
robuste et plus sécurisé que son
prédécesseur.ssh peut être forcé à
utilisé l'un des protocole en passant l'argument
ou pour le protocole 1
ou 2 respectivement.Copie sécuriséeOpenSSHcopie sécuriséescpLa commande &man.scp.1; fonctionne de la même
manière que &man.rcp.1;; elle copie un fichier vers ou
à partir d'une machine distante à la
différence qu'elle le fait
d'une façon sécurisé.&prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT
user@example.com's password: *******
COPYRIGHT 100% |*****************************| 4735
00:00
&prompt.root;Puisque l'empreinte a déjà été
sauvée pour cette machine dans l'exemple
précédent, cela se vérifie ici quand on utilise
&man.scp.1;.Les arguments passés à &man.scp.1; sont
similaires à ceux de &man.cp.1;, avec le ou les fichiers
en premier argument, et la destination en second.
Puisque que le fichier est copié via le réseau, par
l'intermédiaire de SSH, un ou plusieurs des arguments
prennent la forme
.ConfigurationOpenSSHconfigurationLes fichiers de configuration général au
système pour le “daemon” et le client
OpenSSH résident dans le
répertoire /etc/ssh.ssh_config permet de paramétrer
le client, tandis que sshd_config
s'occupe de la configuration du “daemon”.De plus, les options
(/usr/sbin/sshd par défaut),
et du fichier
rc.conf peut fournir un niveau
supplémentaire de configuration.ssh-keygenAu lieu d'utiliser des mots de passe, &man.ssh-keygen.1;
peut être employé pour générer des
clés RSA pour authentifier un utilisateur:&prompt.user; ssh-keygen -t rsa1
Initializing random number generator...
Generating p: .++ (distance 66)
Generating q: ..............................++ (distance 498)
Computing the keys...
Key generation complete.
Enter file in which to save the key (/home/user/.ssh/identity):
Enter passphrase:
Enter the same passphrase again:
Your identification has been saved in /home/user/.ssh/identity.
...&man.ssh-keygen.1; créera une paire de clés
publique et privée à utiliser pour l'authentification.
La clé privée est stockée dans le fichier
~/.ssh/identity, alors que la clé
publique l'est dans le fichier
~/.ssh/identity.pub. La clé
publique doit être placée dans le fichier
~/.ssh/authorized_keys sur la machine
distante pour que cela fonctionne.Ceci autorisera les connexions sur la machine distante
en utilisant l'authentification RSA à la place des
mots de passe.L'option créera des
clés RSA pour le protocole SSH 1. Si vous désirez
utiliser des clés RSA avec le protocole SSH 2, vous devez
employer la commande ssh-keygen -t
rsa.Si une phrase d'authentification est utilisée
avec &man.ssh-keygen.1;, l'utilisateur se verra demandé
d'entrer un mot de passe à chaque utilisation de la clé
privé.Une clé DSA SSH protocole 2 peut être
créée pour le même objectif en utilisant
la commande ssh-keygen -t dsa.
Cela créera une paire de clés DSA pour les sessions
SSH utilisant le protocole 2. La clé publique est
conservée dans ~/.ssh/id_dsa.pub,
tandis que la clé publique se trouve dans
~/.ssh/id_dsa.Les clés publiques DSA sont placées dans le
fichier ~/.ssh/authorized_keys sur la
machine distante.&man.ssh-agent.1; et &man.ssh-add.1; sont des utilitaires
employés pour la gestion de multiples clés
privées protégées par mots de passe.Les divers fichiers et options peuvent être
différents selon la version
d'OpenSSH dont vous disposez,
pour éviter les problèmes vous devez consultez la page de
manuel &man.ssh-keygen.1;.Tunnels SSHOpenSSHtunnelOpenSSH a la
capacité de créer un tunnel
pour encapsuler un autre protocole dans une session
chiffrée.La commande suivante demande à &man.ssh.1; de
créer un tunnel pour telnet:&prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
&prompt.user;La commande ssh est utilisée avec
les options suivantes:Force ssh à utiliser la
version du protocole (à ne pas utiliser si vous
travaillez avec de vieux serveurs SSH).N'exécute aucune commande à distance, ou
mode se place en mode tunnel. Si cette option est omise
ssh initiera une session
normale.Force ssh à s'exécuter
en arrière-plan.Spécifie un tunnel local de la manière
port_local:machine_distante:port_distant.Le serveur SSH distant.Un tunnel SSH fonctionne grâce à
l'allocation d'une “socket” qui écoute
sur le port spécifié de la machine
localhost.
Il transfère ensuite toute connexion reçue sur la/le
machine/port local(e) via la connexion SSH vers la machine et
le port distants spécifiés.Dans l'exemple, le port 5023
sur la machine locale transfère toute connexion
sur ce port vers le port 23 de la
machine distante (le localhost de la
commande). Puisque le port 23 est
celui de telnet, cela créerai
une session telnet
sécurisée par l'intermédiaire
d'un tunnel SSH.Cela peut être utilisé pour
encapsuler n'importe quel nombre de protocoles TCP non
sécurisé comme SMTP, POP3, FTP, etc.Utiliser SSH pour créer un tunnel
sécurisé pour SMTP&prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com
user@mailserver.example.com's password: *****
&prompt.user; telnet localhost 5025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTPCeci peut être utilisé en conjonction
avec &man.ssh-keygen.1; et des comptes utilisateurs
supplémentaires pour la création et l'accès au
tunnel SSH sans trop de problème.
Des clés peuvent être utilisées à
la place de la saisie d'un mot de passe, et les tunnels
peuvent être exécutés sous un
utilisateur séparé.Exemples pratiques de tunnels SSHAccès sécurisé à un serveur POP3Au travail, il y a un serveur SSH qui accepte les
connexions de l'extérieur. Sur le même réseau
d'entreprise réside un serveur de courrier
électronique faisant fonctionner un serveur POP3.
Le réseau ou le chemin entre chez vous et le bureau
peut ou peut ne pas être complètement sûr.
Pour cette raison, vous devez récupérer votre
courrier électronique d'une façon
sécurisée.
La solution est de créer une connexion SSH vers
le serveur SSH de votre entreprise, et d'utiliser ce
tunnel vers le serveur de courrier.&prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com
user@ssh-server.example.com's password: ******Quand le tunnel est configuré et fonctionne,
vous pouvez demander à votre client de courrier
électronique d'envoyer ses requêtes POP3 sur le
port 2110 de la machine locale: localhost.
- Les connexions seront tranférées de façon
+ Les connexions seront transférées de façon
sécurisé à travers le tunnel jusqu'à
mail.example.com.Passer à travers un coupe-feu restrictifCertains administrateurs réseau imposent
- des règles draconiènes au niveau du coupe-feu,
+ des règles draconiennes au niveau du coupe-feu,
filtrant non seulement les connexions entrantes,
mais également les connexions sortantes. Il se
peut que vous n'ayez accès qu'aux ports 22 et 80
de machines distantes pour SSH ou la navigation
Internet.Vous pouvez vouloir accéder à un autre
(n'ayant peut-être aucun rapport avec votre travail)
service, comme un serveur Ogg Vorbis pour écouter
de la musique. Si le serveur Ogg Vorbis diffuse
(“streaming”) ses données
à partir d'un port différent
des ports 22 ou 80, vous ne serez alors pas en mesure d'y
accéder.La solution est de créer une connexion SSH
vers une machine à l'extérieur du
réseau protégé
par le coupe-feu, et l'utiliser pour créer un
tunnel vers le serveur Ogg Vorbis.&prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org
user@unfirewalled-system.example.org's password: *******Vous pouvez maintenant faire pointer votre client
pour la récupération du flux de
données sur le port 8888
de la machine locale, qui sera transféré
jusqu'au port 8000 de la machine
music.example.com, passant ainsi outre
les restrictions du coupe-feu.Lectures supplémentairesOpenSSH&man.ssh.1; &man.scp.1; &man.ssh-keygen.1;
&man.ssh-agent.1; &man.ssh-add.1;&man.sshd.8; &man.sftp-server.8;TomRhodesContribution de ACLListes de contrôle d'accès au système de
fichiersAvec les améliorations des systèmes de fichiers
comme les “snapshots”, FreeBSD 5.0 et versions
suivantes offrent une nouveauté en matière de
sécurité: les listes de contrôle d'accès
au système de fichiers (ACLs -
“Access Control Lists”).Les listes de contrôle d'accès étendent
le système de permission standard d'UNIX d'une manière
hautement compatible (POSIX.1e). Cette caractéristique
permet à un administrateur d'utiliser avantageusement
un modèle de sécurité plus
sophistiqué.Pour activer le support ACL pour les
systèmes de fichiers UFS, ce qui
suit:options UFS_ACLdoit être compilé dans le noyau. Si cette option
n'a pas été ajoutée, un avertissement sera
affiché lors d'une tentative de montage d'un système
de fichiers supportant les ACLs.
Cette option est présente dans le noyau
GENERIC. Les ACLs
reposent sur des attributs étendus rajoutés
au système de fichiers. Les attributs étendus sont
nativement supportés par la prochaine
génération du système de fichiers UNIX,
UFS2.Un supplément de travail d'administration est requis
pour configurer les attributs étendus sous
UFS1 par rapport à
UFS2. Les performances des attributs
étendus sous UFS2 sont sensiblement
meilleures également. Il en résulte donc, que
l'UFS2 est généralement
- récommandé par rapport à
+ recommandé par rapport à
l'UFS1 pour une utilisation des listes
- de contôle d'accès.
+ de contrôle d'accès.
Les ACLs sont activés grâce
l'option utilisée lors du montage, ,
qui peut être ajouté dans le fichier
/etc/fstab. Cette option de montage peut
être également automatiquement fixée
d'une manière définitive en utilisant &man.tunefs.8;
pour modifier l'indicateur ACL du
“superblock” dans l'entête du système de
fichiers. Il est en général préférable
d'utiliser cet indicateur pour plusieurs raisons:L'option de montage pour les ACLs ne
peut être modifiée par un simple remontage
(&man.mount.8; ), mais uniquement par un
&man.umount.8; complet et suivi d'un &man.mount.8;. Cela
signifie que les ACLs ne peuvent
être activées sur le système de fichiers
racine après le démarrage. Cela signifie
également que vous ne pouvez pas modifier la
disposition d'un système de fichier une fois que
c'est activé.Positionner l'indicateur du “superblock”
fera que le système de fichiers sera toujours monté
avec les ACLs activées même
s'il n'y a pas d'entrée dans le fichier
fstab, ou s'il y a une réorganisation
des périphériques. Cela prévient
le montage accidentel du système de fichiers sans les
ACLs activées, ce qui peut provoquer
une activation impropre des ACLs et
par conséquent des problèmes de
sécurité.Nous pourrions modifier le comportement des
ACLs pour permettre l'activation de
l'indicateur sans le besoin d'un nouveau &man.mount.8;
- complet, mais nous considerons qu'il est préférable
+ complet, mais nous considérons qu'il est préférable
d'éviter un montage accidentel sans les
ACLs activées, parce que vous pouvez
vous “tirer facilement dans les pieds”
si vous activez les ACLs, puis
les désactivez, et ensuite les réactivez à
nouveau sans réinitialiser les attributs étendus.
En général, une fois que vous avez activé
les ACLs sur un système de fichiers,
elles ne devraient pas être désactivées
étant donné que les protections de fichiers
résultantes peuvent ne pas être compatible avec
celles prévues par les utilisateurs du système,
et réactiver les ACLs peut
réaffecter les précédentes
ACLs aux fichiers qui ont depuis eût
leur permissions modifiées, avec pour résultat
un comportement imprévisible.Les systèmes de fichiers avec les
ACLs activées présenteront un signe
+ au niveau de leurs permissions
quand elles seront affichées. Par exemple:drwx------ 2 robert robert 512 Dec 27 11:54 private
drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1
drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2
drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3
drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_htmlIci nous voyons que les répertoires
directory1,
directory2, et
directory3 utilisent les
ACLs. Ce n'est pas le cas du
répertoire public_html.Utilisation des ACLsLes ACLs
peuvent être affichées par l'utilitaire
&man.getfacl.1;. Par exemple pour voir les
ACLs sur le fichier
test, on utilisera la commande:&prompt.user; getfacl test
#file:test
#owner:1001
#group:1001
user::rw-
group::r--
other::r--Pour modifier le paramétrage des
ACLs sur ce fichier, invoquez la commande
&man.setfacl.1;. Intéressons-nous à la
ligne:&prompt.user; setfacl -k testL'indicateur supprimera toutes les
ACLs actuellement définies pour un
fichier ou un système de fichiers. Une méthode
plus adaptée est d'utiliser l'option
étant donné qu'elle conserve
- les champs de base nécéssaires au bon
+ les champs de base nécessaires au bon
fonctionnement des ACLs.&prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- testDans la commande ci-dessus, l'option a
été utilisée pour modifier les
entrées ACL par défaut.
Comme il n'y avait pas d'entrées
pré-définies, puisqu'elles ont été
supprimées par la commande précédente,
cela restaurera les options par défaut et prendra en
- compte les options précisées. Prennez soin de
+ compte les options précisées. Prenez soin de
noter que si vous ajoutez un utilisateur ou un groupe qui
n'existe pas sur le système, une erreur
Invalid argument sera affichée
sur la sortie standard.TomRhodesContribution de Avis de sécurité de FreeBSDAvis de sécurité de &os;Comme plusieurs systèmes d'exploitation
destinés à la production, &os; publie des
“Avis de sécurité”. Ces avis sont
généralement envoyés aux listes de
diffusion traitant de la sécurité et
ajoutés dans l'errata une fois seulement que les versions
correspondantes ont été corrigées. Cette
section aura pour objectif d'expliquer ce qu'est un avis,
comment le comprendre, et quelles mesures sont à prendre
pour appliquer des correctifs à un système.A quoi ressemble un avis de
sécurité?Les avis de sécurité de &os; ressemblent
à celui présenté ci-dessous qui provient
de la liste de diffusion
&a.security-notifications.name;.=============================================================================
&os;-SA-XX:XX.UTIL Security Advisory
The &os; Project
Topic: denial of service due to some problem
Category: core
Module: sys
Announced: 2003-09-23
Credits: Person@EMAIL-ADDRESS
Affects: All releases of &os;
&os; 4-STABLE prior to the correction date
Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE)
2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6)
2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15)
2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8)
2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18)
2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21)
2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33)
2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43)
2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)
&os; only: NO
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
http://www.freebsd.org/security/.
I. Background
II. Problem Description
III. Impact
IV. Workaround
V. Solution
VI. Correction details
VII. ReferencesLe champ Topic indique exactement
quel est le problème. C'est basiquement une
introduction à l'avis de sécurité en
tant que tel et mentionne l'utilitaire contenant la
vulnérabilité.Le champ Category fait
référence à la partie du système
affectée qui peut être une parmi
core, contrib, ou
ports. La catégorie
core signifie que la
vulnérabilité affecte un composant
système du système d'exploitation &os;. La
catégorie contrib précise
que la vulnérabilité affecte du logiciel
contribué au projet &os;, comme
sendmail. Et enfin la
catégorie ports indique que la
vulnérabilité affecte un logiciel du catalogue
des logiciels portés.Le champ Module fait
référence à l'emplacement du composant,
par exemple sys. Dans notre exemple,
nous voyons que le module sys est
affecté, par conséquent, cette
vulnérabilité concerne un composant
utilisé dans le noyau.Le champ Announced reflète
la date à laquelle l'avis de sécurité a
été publié, ou annoncé au monde
entier. Cela signifie que l'équipe de
sécurité a vérifié que le
problème existait vraiment et qu'un correctif a
été ajouté au référentiel
des sources de &os;.Le champ Credits donne le
crédit de la découverte du problème
à la personne ou l'organisation qui a constaté
et rapporté le problème.Le champ Affects explique quelles
versions de &os; sont affectées par cette
vulnérabilité. Pour le noyau, un coup d'oeil
rapide à la sortie de la commande
ident sur les fichiers affectés
aidera à déterminer la révision. Pour
les logiciels portés, le numéro de version est
listé après le nom du logiciel dans /var/db/pkg. Si le
système ne se synchronise pas avec le
référentiel CVS &os; et ne
recompile pas les sources quotidiennement, il y a des
chances qu'il soit affecté par le
problème.Le champ Corrected indique la date,
l'heure, le fuseau horaire, et la version de publication qui
a été corrigée.Le champ &os; only précise
si cette vulnérabilité affecte juste &os;, ou
si elle concerne d'autres systèmes d'exploitation
également.Le champ Background donne une
information précise sur ce qu'est l'utilitaire
affecté. La plupart du temps, ce champ indique
pourquoi l'utilitaire existe sous &os;, son rôle, et
quelques informations sur la naissance de
l'utilitaire.Le champ Problem Description
explique en profondeur le problème de
sécurité. Cela peut comprendre des
informations sur le code défectueux, ou même
comment l'utilitaire pourrait être utilisé pour
ouvrir un faille de sécurité.Le champ Impact décrit
l'impact sur le système du problème de
sécurité. Par exemple, cela peut aller de
l'attaque par refus de service, au gain de droits
supplémentaires par les utilisateurs, en passant par
l'obtention des droits de super-utilisateur par
l'attaquant.Le champ Workaround offre une
solution de contournement possible pour les administrateurs
qui ne sont pas en mesure de mettre à jour le
système. Cela pouvant être due à des
contraintes de temps, à une disponibilité
réseau, ou une tout autre raison. Cependant, la
sécurité ne devrait pas être prise
à la légère, et un système
affecté devrait soit être corrigé soit
implémenter une solution de contournement du
problème de sécurité.Le champ Solution donne les
instructions sur l'application de correctifs sur le
système affecté. C'est une méthode pas
à pas vérifiée et testée pour
obtenir un système corrigé et fonctionnant de
manière sécurisée.Le champ Correction Details liste
la branche CVS ou la version de
publication avec les points remplacés par des
caractères souligné. Il donne
également le numéro de révision des
fichiers affectés sur chaque branche.Le champ References donne en
général d'autres sources d'informations. Cela
peut être des URLs web, des
ouvrages, des listes de diffusions, et des forums de
discussion.