harden-doc 3.19 - en to fr translation catalogue (234 entries)

en: Appendix
fr: Annexe

en: The hardening process step by step
fr: La procédure de durcissement étape par étape

en: Below is a post-installation, step-by-step procedure for hardening a Debian 2.2 GNU/Linux system. This is one possible approach to such a procedure and is oriented toward the hardening of network services. It is included to show the entire process you might use during configuration. Also, see <xref linkend="checklist" />.
fr: Vous trouverez ci-dessous une procédure post-installation pour durcir un système Debian 2.2 GNU/Linux. Il s'agit d'une approche possible pour une telle procédure et celle-ci est orientée sur le renforcement des services réseaux. Elle est incluse pour présenter le processus entier que vous pouvez utiliser pendant la configuration. Veuillez également consultez <xref linkend="checklist" />.

en: Install the system, taking into account the information regarding partitioning included earlier in this document. After base installation, go into custom install. Do not select task packages.
fr: Faire une installation du système (tenez compte des informations dans ce manuel concernant le partitionnement). Après l'installation du système de base, allez dans l'installation personnalisée, ne sélectionnez pas de paquets par tâches (<emphasis>task</emphasis>). Sélectionnez les mots de passe cachés (<emphasis>shadow</emphasis>).

en: Using <command>dselect</command>, remove all unneeded but selected packages before doing [I]nstall. Keep the bare minimum of packages for the system.
fr: Passer les paquets en revue avec <command>dselect</command> et retirer les paquets non nécessaires mais sélectionnés auparavant avant de faire [I]nstall. Laisser le strict minimum de logiciels sur le système.

en: Update all software from the latest packages available at security.debian.org as explained previously in <xref linkend="security-update" />.
fr: Actualiser tous les logiciels à partir des paquets les plus récents disponibles sur security.debian.org comme décrit précédemment dans <xref linkend="security-update" />.

en: Implement the suggestions presented in this manual regarding user quotas, login definitions and <command>lilo</command>
fr: Appliquer les suggestions présentées dans ce manuel concernant les quotas par utilisateur, les définitions des connexions et <command>lilo</command>.

en: Make a list of services currently running on your system. Try:
fr: Faire une liste de services actifs sur le système. Exécuter ceci&nbsp;:

en: You will need to install <package>lsof-2.2</package> for the third command to work (run it as root). You should be aware that <command>lsof</command> can translate the word LISTEN to your locale settings.
fr: Vous devrez installer <application>lsof-2.2</application> pour que la troisième commande fonctionne (à exécuter en tant que superutilisateur). Vous devriez faire attention car <command>lsof</command> peut traduire le mot LISTEN en fonction des paramètres régionaux.

en: In order to remove unnecessary services, first determine what package provides the service and how it is started. This can be accomplished by checking the program that listens in the socket. The following shell script, which uses the programs <command>lsof</command> and <command>dpkg</command>, does just that:
fr: Afin de retirer les services non nécessaires, déterminer avant tout les paquets fournissant ces services et la façon de les démarrer. Cette tâche peut être facilement réalisée en vérifiant le programme qui écoute la «&nbsp;socket&nbsp;», l'exemple suivant le montre en utilisant ces outils et <command>dpkg</command>&nbsp;:

en: 
    #!/bin/sh
    # FIXME: this is quick and dirty; replace with a more robust script snippet
    for i in `sudo lsof -i | grep LISTEN | cut -d " " -f 1 |sort -u` ; do
      pack=`dpkg -S $i |grep bin |cut -f 1 -d : | uniq`
      echo "Service $i is installed by $pack";
      init=`dpkg -L $pack |grep init.d/ `
      if [ ! -z "$init" ]; then
        echo "and is run by $init"
      fi
    done
fr: 
    #!/bin/sh
    # FIXME : c'est du vite fait, mal fait ; à remplacer par un bout
    # de script plus robuste
    for i in `sudo lsof -i | grep LISTEN | cut -d " " -f 1 |sort -u` ; do
      pack=`dpkg -S $i |grep bin |cut -f 1 -d : | uniq`
      echo "Le service $i est installé par $pack";
      init=`dpkg -L $pack |grep init.d/ `
      if [ ! -z "$init" ]; then
        echo "et démarré par $init"
      fi
    done

en: Once you find any unwanted services, remove the associated package (with <command>dpkg --purge</command>), or disable the service from starting automatically at boot time using <command>update-rc.d</command> (see <xref linkend="disableserv" />).
fr: Une fois les services indésirables trouvés, supprimer le paquet (avec <command>dpkg --purge</command>) ou utiliser <command>update-rc.d</command> (consultez <xref linkend="disableserv" />) de façon à le retirer du système de démarrage.

en: For inetd services (launched by the superdaemon), check which services are enabled in <filename>/etc/inetd.conf</filename> using:
fr: Pour les services inetd (démarrés par le superdémon), vérifier les services activés dans <filename>/etc/inetd.conf</filename> avec&nbsp;:

en: Then disable those services that are not needed by commenting out the line that includes them in <filename>/etc/inetd.conf</filename>, removing the package, or using <command>update-inetd</command>.
fr: et désactiver ceux qui ne sont pas nécessaires en commentant la ligne qui les inclut dans <filename>/etc/inetd.conf</filename>, en supprimant le paquet ou en utilisant <command>update-inetd</command>.

en: If you have wrapped services (those using <command>/usr/sbin/tcpd</command>), check that the files <filename>/etc/hosts.allow</filename> and <filename>/etc/hosts.deny</filename> are configured according to your service policy.
fr: Si des services sont « encapsulés » («&nbsp;wrapped&nbsp;») (ceux utilisant <command>/usr/sbin/tcpd</command>), vérifier que les fichiers <filename>/etc/hosts.allow</filename> et <filename>/etc/hosts.deny</filename> sont configurés d'après les règles de services.

en: If the server uses more than one external interface, depending on the service, you may want to limit the service to listen on a specific interface. For example, if you want internal FTP access only, make the FTP daemon listen only on your management interface, not on all interfaces (i.e, 0.0.0.0:21).
fr: Si le serveur utilise plus d'une interface externe, vous pourriez limiter les services pour n'en écouter qu'une seule. Par exemple, pour un accès FTP interne, paramétrez le démon FTP pour n'écouter que sur l'interface désirée et non toutes les interfaces (c'est-à-dire 0.0.0.0:21).

en: Re-boot the machine, or switch to single user mode and then back to multiuser using the commands:
fr: Redémarrez la machine ou passez en mode utilisateur unique puis revenez en mode multiutilisateur avec&nbsp;:

en: 
      # init 1
      (....)
      # init 2
fr: 
      # init 1
      (...)
      # init 2

en: Check the services now available, and, if necessary, repeat the steps above.
fr: Vérifiez que les services sont maintenant disponibles et, si nécessaire, répétez les étapes ci-dessus.

en: Now install the needed services, if you have not done so already, and configure them properly.
fr: Installez maintenant les services nécessaires si ce n'est pas encore fait et configurez les correctement.

en: Use the following shell command to determine what user each available service is running as:
fr: Utilisez la commande d'interpréteur suivante pour déterminer l'utilisateur utilisé pour exécuter chaque service disponible&nbsp;:

en: 
      # for i in `/usr/sbin/lsof -i |grep LISTEN |cut -d " " -f 1 |sort -u`; \
      &gt; do user=`ps ef |grep $i |grep -v grep |cut -f 1 -d " "` ; \
      &gt; echo "Service $i is running as user $user"; done
fr: 
      # for i in `/usr/sbin/lsof -i |grep LISTEN |cut -d " " -f 1 |sort -u`;\
      > do user=`ps ef |grep $i |grep -v grep |cut -f 1 -d " "` ;\
      > echo "Le service $i a été démarré en tant qu'utilisateur $user"; done

en: Consider changing these services to a specific user/group and maybe <command>chroot</command>'ing them for increased security. You can do this by changing the <filename>/etc/init.d</filename> scripts which start the service. Most services in Debian use <command>start-stop-daemon</command>, which has options (<literal>--change-uid</literal> and <literal>--chroot</literal>) for accomplishing this. A word of warning regarding the <command>chroot</command>'ing of services: you may need to put all the files installed by the package (use dpkg -L) providing the service, as well as any packages it depends on, in the <command>chroot</command>'ed environment. Information about setting up a <command>chroot</command> environment for the <command>ssh</command> program can be found in <xref linkend="chroot-ssh-env" />.
fr: Pensez à modifier les utilisateur et groupe lançant ces services pour un couple utilisateur et groupe donné, et utilisez éventuellement <command>chroot</command> pour augmenter le niveau de sécurité. Vous pouvez procéder en changeant les scripts de démarrage de services de <filename>/etc/init.d</filename>. La plupart des services dans Debian utilisent <command>start-stop-daemon</command> qui propose des options (<literal>--change-uid</literal> et <literal>--chroot</literal>) pour faire cela. Un petit avertissement concernant l'utilisation de <command>chroot</command> pour des services est nécessaire&nbsp;: tous les fichiers installés par le paquet (consultez la sortie de dpkg -L) fournissant le service ainsi que les paquets dont il dépend peuvent être nécessaires dans l'environnement <command>chroot</command>. Des renseignements sur la mise en place d'un environnement <command>chroot</command> pour le programme <command>ssh</command> sont disponibles en <xref linkend="chroot-ssh-env" />.

en: Repeat the steps above in order to check that only desired services are running and that they are running as the desired user/group combination.
fr: Répéter les étapes ci-dessus afin de vérifier que seuls les services désirés sont en cours d'exécution et qu'ils fonctionnent avec une combinaison utilisateur et groupe désirée.

en: Test the installed services in order to see if they work as expected.
fr: Tester les services installés afin de voir si leur fonctionnement est bien celui souhaité.

en: Check the system using a vulnerability assessment scanner (like <package>nessus</package>), in order to determine vulnerabilities in the system (i.e., misconfiguration, old services or unneeded services).
fr: Vérifier le système en utilisant un scanner de vulnérabilités (comme <application>nessus</application>) de façon à déterminer les vulnérabilités du système (mauvaise configuration, services vieux ou non nécessaires).

en: Install network and host intrusion measures like <package>snort</package> and <package>logcheck</package>.
fr: Mettre en place des mesures contre les intrusions de réseau et d'hôte comme <package>snort</package> et <package>logcheck</package>.

en: Repeat the network scanner step and verify that the intrusion detection systems are working correctly.
fr: Répéter l'étape du scanner de réseau et vérifier que le système de détection d'intrusion fonctionne correctement.

en: For the truly paranoid, also consider the following:
fr: Pour les personnes vraiment paranoïaques, les considérations suivantes sont à envisager.

en: Add firewalling capabilities to the system, accepting incoming connections only to offered services and limiting outgoing connections only to those that are authorized.
fr: Ajouter au système des possibilités de pare-feu, acceptant les connexions entrantes uniquement pour les services définis et limitant les connexions sortantes à celles autorisées.

en: Re-check the installation with a new vulnerability assessment using a network scanner.
fr: Revérifier l'installation avec une nouvelle évaluation de vulnérabilité à l'aide d'un scanner de réseaux.

en: Using a network scanner, check outbound connections from the system to an outside host and verify that unwanted connections do not find their way out.
fr: Vérifier les connexions sortantes en utilisant un scanner de réseaux depuis le système jusqu'à un hôte à l'extérieur et vérifier que les connexions non voulues ne trouvent pas leur sortie.

en: FIXME: this procedure considers service hardening but not system hardening at the user level, include information regarding checking user permissions, SETUID files and freezing changes in the system using the ext2 file system.
fr: FIXME : Cette procédure considère le durcissement de service, mais pas le renforcement du système au niveau utilisateur, incluant des informations à propos de la vérification des droits d'utilisateurs, les fichiers setuid et le gel des changements dans le système en utilisant le système de fichiers ext2.

en: Configuration checklist
fr: Liste des contrôles de configuration

en: This appendix briefly reiterates points from other sections in this manual in a condensed checklist format. This is intended as a quick summary for someone who has already read the manual. There are other good checklists available, including Kurt Seifried's <ulink name="Securing Linux Step by Step" url="http://seifried.org/security/os/linux/20020324-securing-linux-step-by-step.html" /> and <ulink name="CERT's Unix Security Checklist" url="http://www.cert.org/tech_tips/usc20_full.html" />.
fr: Cette annexe récapitule brièvement les points des autres sections de ce manuel sous une forme condensée de liste de contrôles. C'est un petit résumé pour ceux qui ont déjà lu le manuel. D'autres listes de contrôles sont disponibles, y compris la <ulink url="http://seifried.org/security/os/linux/20020324-securing-linux-step-by-step.html" name="sécurisation de Linux pas à pas" /> de Kurt Seifried et la <ulink url="http://www.cert.org/tech_tips/usc20_full.html" name="liste de contrôles de sécurité UNIX du CERT" />.

en: FIXME: This is based on v1.4 of the manual and might need to be updated.
fr: FIXME : C'est basé sur la version 1.4 du manuel et a peut-être besoin d'une mise à jour.

en: Limit physical access and booting capabilities
fr: Limiter les accès physiques et les possibilités de démarrage.

en: Enable a password in the BIOS.
fr: Activer un mot de passe pour le BIOS.

en: Disable floppy/cdrom/... booting in the system's BIOS.
fr: Désactiver le démarrage depuis disquette, CD, etc. dans le BIOS du système.

en: Set a LILO or GRUB password (<filename>/etc/lilo.conf</filename> or <filename>/boot/grub/menu.lst</filename>, respectively); check that the LILO or GRUB configuration file is read-protected.
fr: Mettre un mot de passe à LILO ou GRUB (respectivement <filename>/etc/lilo.conf</filename> ou <filename>/boot/grub/menu.lst</filename>)&nbsp;; vérifier que le fichier de configuration de LILO ou de GRUB est en lecture seule.

en: Partitioning
fr: Partitionnement.

en: Separate user-writable data, non-system data, and rapidly changing run-time data to their own partitions
fr: Séparer les données que les utilisateurs peuvent écrire, les données non système et les données d'exécution qui changent rapidement dans leurs propres partitions.

en: Set <literal>nosuid,noexec,nodev</literal> mount options in <filename>/etc/fstab</filename> on ext2/3 partitions that should not hold binaries such as <filename>/home</filename> or <filename>/tmp</filename>.
fr: Mettre les options de montage <literal>nosuid,noexec,nodev</literal> dans <filename>/etc/fstab</filename> pour les partitions ext2 ou ext3 telles que <filename>/home</filename> ou <filename>/tmp</filename>.

en: Password hygiene and login security
fr: Hygiène pour les mots de passe et la sécurité des connexions.

en: Set a good root password
fr: Choisir un bon mot de passe pour le superutilisateur.

en: Install and use PAM
fr: Installer et utiliser PAM.

en: Add MD5 support to PAM and make sure that (generally speaking) entries in <filename>/etc/pam.d/</filename> files which grant access to the machine have the second field in the pam.d file set to <literal>requisite</literal> or <literal>required</literal>.
fr: Ajouter la prise en charge de MD5 à PAM et s'assurer (de manière générale) que les entrées dans les fichiers <filename>/etc/pam.d/</filename> qui autorisent l'accès à la machine ont un second champ dans le fichier pam.d positionné à <literal>requisite</literal> ou <literal>required</literal>.

en: Tweak <filename>/etc/pam.d/login</filename> so as to only permit local root logins.
fr: Modifier <filename>/etc/pam.d/login</filename> pour que seul le superutilisateur puisse se connecter localement.

en: Also mark authorized tty:s in <filename>/etc/security/access.conf</filename> and generally set up this file to limit root logins as much as possible.
fr: Indiquer également les consoles (<emphasis>ttys</emphasis>) autorisées dans <filename>/etc/security/access.conf</filename> et configurer généralement ce fichier pour limiter au maximum les connexions du superutilisateur.

en: Add pam_limits.so if you want to set per-user limits
fr: Ajouter pam_limits.so pour définir des limites par utilisateur.

en: Tweak <filename>/etc/pam.d/passwd</filename>: set minimum length of passwords higher (6 characters maybe) and enable MD5
fr: Modifier <filename>/etc/pam.d/passwd</filename>&nbsp;: augmenter la taille minimale du mot de passe (6 caractères par exemple) et activer MD5.

en: Add group wheel to <filename>/etc/group</filename> if desired; add pam_wheel.so group=wheel entry to <filename>/etc/pam.d/su</filename>
fr: Ajouter éventuellement le groupe wheel à <filename>/etc/group</filename> ; ajouter l'entrée pam_wheel.so group=wheel au fichier <filename>/etc/pam.d/su</filename>.

en: For custom per-user controls, use pam_listfile.so entries where appropriate
fr: Pour les contrôles personnalisés par utilisateur, utiliser les entrées appropriées de pam_listfile.so.

en: Have an <filename>/etc/pam.d/other</filename> file and set it up with tight security
fr: Avoir un fichier <filename>/etc/pam.d/other</filename> et mettre en place une sécurité resserrée.

en: Set up limits in <filename>/etc/security/limits.conf</filename> (note that <filename>/etc/limits</filename> is not used if you are using PAM)
fr: Définir des limites dans <filename>/etc/security/limits.conf</filename> (remarquez que <filename>/etc/limits</filename> n'est pas utilisé si vous utilisez PAM).

en: Tighten up <filename>/etc/login.defs</filename>; also, if you enabled MD5 and/or PAM, make sure you make the corresponding changes here, too
fr: Resserrer <filename>/etc/login.defs</filename>&nbsp;; de même, si vous activez MD5 ou PAM, assurez-vous de faire également les modifications dans ce fichier.

en: Tighten up <filename>/etc/pam.d/login</filename>
fr: Resserrer <filename>/etc/pam.d/login</filename>

en: Disable root ftp access in <filename>/etc/ftpusers</filename>
fr: Désactiver l'accès FTP au superutilisateur dans le fichier <filename>/etc/ftpusers</filename>.

en: Disable network root login; use <citerefentry><refentrytitle>su</refentrytitle> <manvolnum>1</manvolnum></citerefentry> or <citerefentry><refentrytitle>sudo</refentrytitle> <manvolnum>1</manvolnum></citerefentry>. (consider installing <package>sudo</package>)
fr: Désactiver la connexion réseau du superutilisateur ; utiliser <citerefentry><refentrytitle>su</refentrytitle> <manvolnum>1</manvolnum></citerefentry> ou <citerefentry><refentrytitle>sudo</refentrytitle> <manvolnum>1</manvolnum></citerefentry> (considérer l'installation du paquet <package>sudo</package>).

en: Use PAM to enforce additional constraints on logins?
fr: Utiliser PAM pour imposer des contraintes supplémentaires sur les connexions&nbsp;?

en: Other local security issues
fr: Autres problèmes locaux de sécurité.

en: Kernel tweaks (see <xref linkend="kernel-conf" />)
fr: Modifications du noyau (consultez <xref linkend="kernel-conf" />).

en: Kernel patches (see <xref linkend="kernel-patches" />)
fr: Correctifs du noyau (consultez <xref linkend="kernel-patches" />).

en: Tighten up log file permissions (<filename>/var/log/{last,fail}log</filename>, Apache logs)
fr: Resserrer les permissions sur les fichiers journaux (<filename>/var/log/{last,fail}log</filename>, journaux d'Apache).

en: Verify that SETUID checking is enabled in <filename>/etc/checksecurity.conf</filename>
fr: Vérifier que la vérification de setuid est activée dans <filename>/etc/checksecurity.conf</filename>.

en: Consider making some log files append-only and configuration files immutable using chattr (ext2/3 file systems only)
fr: Penser à créer des fichiers journaux avec uniquement le droit d'ajout et des fichiers de configuration invariants en utilisant chattr (systèmes de fichiers ext2 ou ext3 uniquement).

en: Set up file integrity (see <xref linkend="check-integ" />). Install <package>debsums</package>
fr: Mettre en place une vérification d'intégrité des fichiers (consultez <xref linkend="check-integ" />). Installer <application>debsums</application>.

en: Log everything to a local printer?
fr: Impression de tous les fichiers journaux sur une imprimante locale&nbsp;?

en: Burn your configuration on a boot-able CD and boot off that?
fr: Graver la configuration sur un CD amorçable et démarrer dessus ?

en: Disable kernel modules?
fr: Désactiver les modules pour le noyau&nbsp;?

en: Limit network access
fr: Restreindre les accès réseaux.

en: Install and configure <command>ssh</command> (suggest PermitRootLogin No in <filename>/etc/ssh/sshd_config</filename>, PermitEmptyPasswords No; note other suggestions in text also)
fr: Installer et configurer <command>ssh</command> (considérer « PermitRootLogin No » dans <filename>/etc/ssh</filename> et « PermitEmptyPasswords No » ; d'autres suggestions sont également dans le texte).

en: Disable or remove <command>in.telnetd</command>, if installed
fr: Désactiver ou supprimer <command>in.telnetd</command> s'il est installé.

en: Generally, disable gratuitous services in <filename>/etc/inetd.conf</filename> using <command>update-inetd --disable</command> (or disable <command>inetd</command> altogether, or use a replacement such as <command>xinetd</command> or <command>rlinetd</command>)
fr: Généralement, désactiver les services inutiles dans le fichier <filename>/etc/inetd.conf</filename> en utilisant <literal>update-inetd --disable</literal> (ou désactiver inetd complètement, ou utiliser une solution de rechange comme <command>xinetd</command> ou <command>rlinetd</command>).

en: Disable other gratuitous network services; ftp, DNS, WWW etc should not be running if you do not need them and monitor them regularly. In most cases mail should be running but configured for local delivery only.
fr: Désactiver les autres services inutiles&nbsp;; FTP, DNS, HTTP, etc. ne devraient pas être démarrés si vous n'en avez pas besoin et être surveillés régulièrement sinon. Dans la plupart des cas, les courriers électroniques devraient être fonctionnels, mais configurés uniquement pour la livraison locale.

en: For those services which you do need, do not just use the most common programs, look for more secure versions shipped with Debian (or from other sources). Whatever you end up running, make sure you understand the risks.
fr: Pour les services nécessaires, n'utilisez pas simplement les programmes usuels, recherchez des versions plus sécurisées disponibles dans Debian (ou depuis tout autre source). Peu importe celle choisie, assurez-vous de bien comprendre les risques induits.

en: Set up <command>chroot</command> jails for outside users and daemons.
fr: Mettre en place des prisons <command>chroot</command> pour les utilisateurs et démons extérieurs.

en: Configure firewall and tcpwrappers (i.e. <citerefentry><refentrytitle>hosts_access</refentrytitle> <manvolnum>5</manvolnum></citerefentry>); note trick for <filename>/etc/hosts.deny</filename> in text.
fr: Configurer un pare-feu et l'encapsulation TCP (consulter <citerefentry><refentrytitle>hosts_access</refentrytitle> <manvolnum>5</manvolnum></citerefentry>)&nbsp;; considérer l'astuce pour <filename>/etc/hosts.deny</filename> dans le texte.

en: If you run ftp, set up your ftpd server to always run <command>chroot</command>'ed to the user's home directory
fr: Si FTP est disponible, mettre en place un serveur FTP qui sera toujours démarré dans un environnement <command>chroot</command> dans le répertoire personnel de l'utilisateur.

en: If you run X, disable xhost authentication and go with <command>ssh</command> instead; better yet, disable remote X if you can (add -nolisten tcp to the X command line and turn off XDMCP in <filename>/etc/X11/xdm/xdm-config</filename> by setting the requestPort to 0)
fr: Si X est disponible, désactiver l'authentification xhost et utiliser plutôt <command>ssh</command>&nbsp;; de façon encore plus sécurisée, désactiver X à distance si possible (ajouter -nolisten tcp à la ligne de commande de X et désactiver XDMCP dans le fichier <filename>/etc/X11/xdm/xdm-config</filename> en affectant la valeur 0 à requestPort).

en: Disable remote access to printers
fr: Désactiver l'accès distant aux imprimantes.

en: Tunnel any IMAP or POP sessions through SSL or <command>ssh</command>; install stunnel if you want to provide this service to remote mail users
fr: Chiffrer toute session IMAP ou POP par SSL ou <command>ssh</command>&nbsp;; installer éventuellement stunnel pour fournir ce service aux utilisateurs de courrier à distance.

en: Set up a log host and configure other machines to send logs to this host (<filename>/etc/syslog.conf</filename>)
fr: Mettre en place un hôte de journaux et configurer les autres machines pour qu'elles envoient les journaux à cet hôte (<filename>/etc/syslog.conf</filename>).

en: Secure BIND, Sendmail, and other complex daemons (run in a <command>chroot</command> jail; run as a non-root pseudo-user)
fr: Sécuriser BIND, Sendmail et tout autre démon complexe (exécuter dans une prison <command>chroot</command>&nbsp;; exécuter en tant que peudo-utilisateur non superutilisateur).

en: Install tiger or a similar network intrusion detection tool.
fr: Installer tiger ou un outil similaire de détection d'intrusion réseau.

en: Install snort or a similar network intrusion detection tool.v
fr: Installer snort ou un outil similaire de détection d'intrusion réseau.

en: Do without NIS and RPC if you can (disable portmap).
fr: Faire sans NIS et RPC si possible (désactiver portmap).

en: Policy issues
fr: Problèmes de règlement.

en: Educate users about the whys and hows of your policies. When you have prohibited something which is regularly available on other systems, provide documentation which explains how to accomplish similar results using other, more secure means.
fr: Expliquer aux utilisateurs les tenants et aboutissants des règles. Lorsque vous interdisez quelque chose habituellement disponible sur d'autres systèmes, fournissez-leur une documentation qui explique comment arriver aux mêmes résultats de façon plus sécurisée.

en: Prohibit use of protocols which use clear-text passwords (<command>telnet</command>, <command>rsh</command> and friends; ftp, imap, http, ...).
fr: Interdire l'utilisation de protocoles qui utilisent des mots de passe en clair (<command>telnet</command>, <command>rsh</command> et similaire&nbsp;; FTP, IMAP, HTTP, etc.)

en: Prohibit programs which use SVGAlib.
fr: Interdire les programmes qui utilisent la SVGAlib.

en: Use disk quotas.
fr: Utiliser les quotas de disque.

en: Keep informed about security issues
fr: Rester informé des problèmes de sécurité.

en: Subscribe to security mailing lists
fr: S'abonner aux listes de discussions liées à la sécurité.

en: Configure <package>apt</package> for security updates -- add to <filename>/etc/apt/sources.list</filename> an entry (or entries) for http://security.debian.org/
fr: Configurer <application>apt</application> pour les mises à jour de sécurité &mdash; ajouter une entrée (ou plusieurs entrées) à <filename>/etc/apt/sources.list</filename> pour http://security.debian.org/.

en: Also remember to periodically run <command>apt-get update ; apt-get upgrade</command> (perhaps install as a <command>cron</command> job?) as explained in <xref linkend="security-update" />.
fr: Se rappeler périodiquement d'exécuter <command>apt-get update ; apt-get upgrade</command> (mettre en place peut-être une tâche <command>cron</command>&nbsp;?) comme expliqué dans <xref linkend="security-update" />.

en: Setting up a stand-alone IDS
fr: Paramétrage d'un IDS autonome

en: You can easily set up a dedicated Debian system as a stand-alone Intrusion Detection System using <package>snort</package> and a web-based interface to analyse the intrusion detection alerts:
fr: Un système Debian autonome peut être facilement configuré en tant que système de détection d'intrusion (IDS) avec <application>snort</application> et une interface web pour analyser les alertes de détection d'intrusion :

en: Install a base Debian system and select no additional packages.
fr: installer un système de base Debian sans sélectionner de paquets supplémentaires ;

en: Install one of the Snort versions with database support and configure the IDS to log alerts into the database.
fr: installer une version de Snort avec prise en charge de base de données et configurer l'IDS pour journaliser les alertes dans la base de données ;

en: Download and install BASE (Basic Analysis and Security Engine), or ACID (Analysis Console for Intrusion Databases). Configure it to use the same database than Snort.
fr: télécharger et installer BASE (Basic Analysis and Security Engine) ou ACID (Analysis Console for Intrusion Databases). Le configurer pour utiliser la même base de données que Snort ;

en: Download and install the necessary packages<footnote><para>Typically the needed packages will be installed through the dependencies</para></footnote>.
fr: télécharger et installer les paquets nécessaires<footnote><para>Typiquement les paquets nécessaires seront installés par l'intermédiaire des dépendances.</para></footnote>.

en: BASE is currently packaged for Debian in <package>acidbase</package> and ACID is packaged as <package>acidlab</package><footnote><para> It can also be downloaded from <ulink url="http://www.cert.org/kb/acid/" />, <ulink url="http://acidlab.sourceforge.net" /> or <ulink url="http://www.andrew.cmu.edu/~rdanyliw/snort/" />. </para></footnote>. Both provide a graphical WWW interface to Snort's output.
fr: BASE est actuellement empaqueté pour Debian dans <application>acidbase</application> et ACID est empaqueté sous le nom d'<application>acidlab</application><footnote><para>Il est aussi disponible au téléchargement depuis <ulink url="http://www.cert.org/kb/acid/" />, <ulink url="http://acidlab.sourceforge.net" /> et <ulink url="http://www.andrew.cmu.edu/~rdanyliw/snort/" />.</para></footnote>. Les deux paquets fournissent une interface web graphique à la sortie de Snort.

en: Besides the base installation you will also need a web server (such as <package>apache</package>), a <command>PHP</command> interpreter and a relational database (such <package>postgresql</package> or <package>mysql</package>) where Snort will store its alerts.
fr: À part l'installation de base, vous aurez aussi besoin d'un serveur web (comme <application>apache</application>), un interpréteur <command>PHP</command> et une base de données relationnelle (comme <application>postgresql</application> ou <application>mysql</application>) où Snort enregistrera ses alertes.

en: This system should be set up with at least two interfaces: one interface connected to a management LAN (for accessing the results and maintaining the system), and one interface with no IP address attached to the network segment being analyzed. You should configure the web server to listen only on the interface connected to the management LAN.
fr: Le système devrait être mis en place avec au moins deux interfaces&nbsp;: l'une connectée à un réseau de gestion (pour accéder aux résultats et maintenir le système), l'autre sans adresse IP liée au secteur du réseau à analyser. Le serveur web devrait être configuré pour n'écouter que sur l'interface connectée au réseau de gestion.

en: You should configure both interfaces in the standard Debian <filename>/etc/network/interfaces</filename> configuration file. One (the management LAN) address can be configured as you would normally do. The other interface needs to be configured so that it is started up when the system boots, but with no interface address. You can use the following interface definition:
fr: Les deux interfaces devraient être configurées dans le fichier de configuration standard Debian <filename>/etc/network/interfaces</filename>. Une adresse (sur le réseau de gestion) peut être configurée normalement. L'autre interface doit être configurée pour être démarrée lorsque le système démarre, mais sans adresse d'interface. La définition d'interface suivante peut être utilisée :

en: Setting up a bridge firewall
fr: Configuration d'un pare-feu pont

en: This information was contributed by Francois Bayart in order to help users set up a Linux bridge/firewall with the 2.4.x kernel and <package>iptables</package>. Kernel patches are no more needed as the code was made standard part of the Linux kernel distribution.
fr: Ces informations sont fournies par Francois Bayart pour aider les utilisateurs à mettre en place un pare-feu pont avec le noyau 2.4.x et <application>iptables</application>. Des correctifs de noyau ne sont plus nécessaires car le code est maintenant une partie standard de la distribution du noyau Linux.

en: To configure the kernel with necessary support, run <literal>make menuconfig</literal> or <literal>make xconfig</literal>. In the section <emphasis>Networking options</emphasis>, enable the following options:
fr: Pour configurer le noyau avec la prise en charge nécessaire, exécutez <literal>make menuconfig</literal> ou <literal>make xconfig</literal>. Dans la section <emphasis>Networking options</emphasis>, activez les options suivantes&nbsp;:

en: Caution: you must disable this if you want to apply some firewalling rules or else <command>iptables</command> will not work:
fr: Avertissement&nbsp;: vous devez désactiver ceci si vous voulez appliquer des règles de pare-feu ou sinon <command>iptables</command> ne fonctionnera pas&nbsp;:

en: Next, add the correct options in the section <emphasis>IP: Netfilter Configuration</emphasis>. Then, compile and install the kernel. If you want to do it the <emphasis>Debian way</emphasis>, install <package>kernel-package</package> and run <command>make-kpkg</command> to create a custom Debian kernel package you can install on your server using dpkg. Once the new kernel is compiled and installed, install the <package>bridge-utils</package> package.
fr: Ensuite, ajoutez les options correctes dans la section <emphasis>IP: Netfilter Configuration</emphasis>. Puis, compilez et installez le noyau. Si vous désirez le faire à la <emphasis>sauce Debian</emphasis>, installez <application>kernel-package</application> et exécutez <command>make-kpkg</command> pour créer un paquet noyau personnalisé Debian à installer sur le serveur en utilisant dpkg. Une fois le nouveau noyau compilé et installé, installez le paquet <application>bridge-utils</application>.

en: Once these steps are complete, you can complete the configuration of your bridge. The next section presents two different possible configurations for the bridge, each with a hypothetical network map and the necessary commands.
fr: Une fois ces étapes achevées, vous pouvez terminer la configuration du pont. La section suivante présente deux configurations différentes possibles pour le pont, chacune avec une carte réseau hypothétique et les commandes nécessaires.

en: A bridge providing NAT and firewall capabilities
fr: Un pont fournissant des fonctionnalités de traduction d'adresse (NAT) et de pare-feu

en: The first configuration uses the bridge as a firewall with network address translation (NAT) that protects a server and internal LAN clients. A diagram of the network configuration is shown below:
fr: La première configuration utilise le pont comme un pare-feu avec traduction d'adresse réseau (NAT) qui protège un serveur et les clients du réseau interne. Voici ci-dessous un diagramme de la configuration du réseau&nbsp;:

en: 
    Internet ---- router ( 62.3.3.25 ) ---- bridge (62.3.3.26 gw 62.3.3.25 / 192.168.0.1)
                                              |
                                              |
                                              |---- WWW Server (62.3.3.27 gw 62.3.3.25)
                                              |
                                              |
                                             LAN --- Zipowz (192.168.0.2 gw 192.168.0.1)
fr: 
    Internet ---- routeur ---- pont
                (62.3.3.25)  (62.3.3.26 gw 62.3.3.25 / 192.168.0.1)
                                |
                                |
                                |---- serveur web
                                |   (62.3.3.27 gw 62.3.3.25)
                                |
                               réseau ---- Zipowz
                                         (192.168.0.2 gw 192.168.0.1)

en: The following commands show how this bridge can be configured.
fr: Les commandes suivantes présentent une façon de configurer ce pont.

en: 
    # Create the interface br0
    /usr/sbin/brctl addbr br0
    
    # Add the Ethernet interface to use with the bridge
    /usr/sbin/brctl addif br0 eth0
    /usr/sbin/brctl addif br0 eth1
    
    # Start up the Ethernet interface
    /sbin/ifconfig eth0 0.0.0.0
    /sbin/ifconfig eth1 0.0.0.0
    
    # Configure the bridge ethernet
    # The bridge will be correct and invisible ( transparent firewall ).
    # It's hidden in a traceroute and you keep your real gateway on the 
    # other computers. Now if you want you can config a gateway on your 
    # bridge and choose it as your new gateway for the other computers.
    
    /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.31
    
    # I have added this internal IP to create my NAT 
    ip addr add 192.168.0.1/24 dev br0
    /sbin/route add default gw 62.3.3.25
fr: 
    # Créer l'interface br0
    /usr/sbin/brctl addbr br0
    
    # Ajouter l'interface Ethernet à utiliser avec le pont
    /usr/sbin/brctl addif br0 eth0
    /usr/sbin/brctl addif br0 eth1
    
    # Activer l'interface Ethernet
    /sbin/ifconfig eth0 0.0.0.0
    /sbin/ifconfig eth1 0.0.0.0
    
    # Configurer le pont Ethernet
    # Le pont sera correct et invisible (pare-feu transparent).
    # Il est invisible à traceroute et la passerelle réelle est
    # conservée sur les autres machines. La passerelle pourrait aussi
    # être configurée sur le pont et être choisie comme nouvelle
    # passerelle pour les autres machines.
    
    /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.31
    
    # Cette IP interne est ajoutée pour créer la traduction d'adresse
    ip addr add 192.168.0.1/24 dev br0
    /sbin/route add default gw 62.3.3.25

en: A bridge providing firewall capabilities
fr: Un pont fournissant des fonctionnalités de pare-feu

en: A second possible configuration is a system that is set up as a transparent firewall for a LAN with a public IP address space.
fr: Une seconde possibilité est un système mis en place comme un pare-feu transparent pour un réseau avec un espace d'adresses IP publiques.

en: 
    Internet ---- router (62.3.3.25) ---- bridge (62.3.3.26)
                                            |
                                            |
                                            |---- WWW Server (62.3.3.28 gw 62.3.3.25)
                                            |
                                            |
                                            |---- Mail Server (62.3.3.27 gw 62.3.3.25)
fr: 
    Internet ---- routeur ---- pont
                (62.3.3.25)  (62.3.3.26)
                                |
                                |
                                |---- serveur web
                                |   (62.3.3.28 gw 62.3.3.25)
                                |
                                |---- serveur de courriers
                                    (62.3.3.27 gw 62.3.3.25)

en: 
    # Create the interface br0
    /usr/sbin/brctl addbr br0
    
    # Add the Ethernet interface to use with the bridge
    /usr/sbin/brctl addif br0 eth0
    /usr/sbin/brctl addif br0 eth1
    
    # Start up the Ethernet interface
    /sbin/ifconfig eth0 0.0.0.0
    /sbin/ifconfig eth1 0.0.0.0
    
    # Configure the bridge Ethernet
    # The bridge will be correct and invisible ( transparent firewall ).
    # It's hidden in a traceroute and you keep your real gateway on the 
    # other computers. Now if you want you can config a gateway on your
    # bridge and choose it as your new gateway for the other computers.
    
    /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.31
fr: 
    # Créer l'interface br0
    /usr/sbin/brctl addbr br0
    
    # Ajouter l'interface Ethernet à utiliser avec le pont
    /usr/sbin/brctl addif br0 eth0
    /usr/sbin/brctl addif br0 eth1
    
    # Activer l'interface Ethernet
    /sbin/ifconfig eth0 0.0.0.0
    /sbin/ifconfig eth1 0.0.0.0
    
    # Configurer le pont Ethernet
    # Le pont sera correct et invisible (pare-feu transparent).
    # Il est invisible à traceroute et la passerelle réelle est
    # conservée sur les autres machines. La passerelle pourrait aussi
    # être configurée sur le pont et être choisie comme nouvelle
    # passerelle pour les autres machines.
    
    /sbin/ifconfig br0 62.3.3.26 netmask 255.255.255.248 broadcast 62.3.3.31

en: If you traceroute the Linux Mail Server, you won't see the bridge. If you want access to the bridge with <command>ssh</command>, you must have a gateway or you must first connect to another server, such as the "Mail Server", and then connect to the bridge through the internal network card.
fr: Si vous exécutez un traceroute vers le serveur de courriers Linux, vous ne verrez pas le pont. Si vous voulez accéder au pont avec <command>ssh</command>, vous devez utiliser une passerelle ou d'abord vous connecter sur un autre serveur comme le «&nbsp;serveur de courriers&nbsp;», puis ensuite vous connecter sur le pont par la carte réseau interne.

en: Basic IPtables rules
fr: Règles de base d'iptables

en: This is an example of the basic rules that could be used for either of these setups.
fr: Voici un exemple des règles de base qui pourraient être utilisées pour l'une ou l'autre des configurations.

en: Basic Iptables rules
fr: Règles de base d'iptables

en: 
    iptables -F FORWARD
    iptables -P FORWARD DROP
    iptables -A FORWARD -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -m state --state INVALID -j DROP
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # Some funny rules but not in a classic Iptables sorry ...
    # Limit ICMP 
    # iptables -A FORWARD -p icmp -m limit --limit 4/s -j ACCEPT
    # Match string, a good simple method to block some VIRUS very quickly
    # iptables -I FORWARD -j DROP -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe"
    
    # Block all MySQL connection just to be sure
    iptables -A FORWARD -p tcp -s 0/0 -d 62.3.3.0/24 --dport 3306 -j DROP
    
    # Linux Mail Server Rules
    
    # Allow FTP-DATA (20), FTP (21), SSH (22) 
    iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.27/32 --dport 20:22 -j ACCEPT
    
    # Allow the Mail Server to connect to the outside
    # Note: This is *not* needed for the previous connections 
    # (remember: stateful filtering) and could be removed.
    iptables -A FORWARD -p tcp -s 62.3.3.27/32 -d 0/0 -j ACCEPT
    
    # WWW Server Rules
    
    # Allow HTTP ( 80 ) connections with the WWW server
    iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 80 -j ACCEPT
    
    # Allow HTTPS ( 443 ) connections with the WWW server
    iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 443 -j ACCEPT
    
    # Allow the WWW server to go out
    # Note: This is *not* needed for the previous connections 
    # (remember: stateful filtering) and could be removed.
    iptables -A FORWARD -p tcp -s 62.3.3.28/32 -d 0/0 -j ACCEPT
fr: 
    iptables -F FORWARD
    iptables -P FORWARD DROP
    iptables -A FORWARD -s 0.0.0.0/0.0.0.0 -d 0.0.0.0/0.0.0.0 -m state \
                        --state INVALID -j DROP
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # Quelques règles amusantes, mais pas pour un iptables classique,
    # désolé...
    # Limite ICMP 
    # iptables -A FORWARD -p icmp -m limit --limit 4/s -j ACCEPT
    # Correspond à une chaîne de caractères, une bonne méthode simple pour
    # bloquer certains VIRUS très rapidement
    # iptables -I FORWARD -j DROP -p tcp -s 0.0.0.0/0 -m string \
                        --string "cmd.exe"
    
    # Bloquer toutes les connexions MySQL simplement pour être sûr
    iptables -A FORWARD -p tcp -s 0/0 -d 62.3.3.0/24 --dport 3306 -j DROP
    
    # Règles du serveur de courriers Linux
    
    # Autoriser FTP-DATA (20), FTP (21), SSH (22)
    iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.27/32 --dport 20:22 \
                        -j ACCEPT
    
    # Autoriser le serveur de courriers à se connecter à l'extérieur
    # Remarque : ce n'est *pas* nécessaire pour les connexions précédentes
    # (rappel : filtrage à état) et peut être supprimé.
    iptables -A FORWARD -p tcp -s 62.3.3.27/32 -d 0/0 -j ACCEPT
    
    # Règles pour le serveur WWW
    
    # Autoriser les connexions HTTP (80) avec le serveur web
    iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 80 \
                        -j ACCEPT
    
    # Autoriser les connexions HTTPS (443) avec le serveur web
    iptables -A FORWARD -p tcp -s 0.0.0.0/0 -d 62.3.3.28/32 --dport 443 \
                        -j ACCEPT
    
    # Autoriser les connexions sortantes du serveur web
    # Remarque : ce n'est *pas* nécessaire pour les connexions précédentes
    # (rappel : filtrage à état) et peut être supprimé.
    iptables -A FORWARD -p tcp -s 62.3.3.28/32 -d 0/0 -j ACCEPT

en: Sample script to change the default Bind installation.
fr: Exemple de script pour changer l'installation par défaut de BIND

en: This script automates the procedure for changing the <command>bind</command> version 8 name server's default installation so that it does <emphasis>not</emphasis> run as the superuser. Notice that <command>bind</command> version 9 in Debian already does this by default <footnote><para> Since version 9.2.1-5. That is, since Debian release <emphasis>sarge</emphasis>.</para></footnote> , and you are much better using that version than <command>bind</command> version 8.
fr: Ce script automatise la procédure de modification d'installation par défaut du serveur de noms <command>bind</command> version 8 pour qu'il ne fonctionne <emphasis>pas</emphasis> en tant que superutilisateur. Remarquez que <command>bind</command> version 9 dans Debian fait déjà cela par défaut<footnote><para>Depuis la version 9.2.1-5. C'est-à-dire depuis Debian <emphasis>Sarge</emphasis>.</para></footnote>, et que vous devriez plutôt l'utiliser que <command>bind</command> version 8.

en: This script is here for historical purposes and to show how you can automate this kind of changes system-wide. The script will create the user and groups defined for the name server and will modify both <filename>/etc/default/bind</filename> and <filename>/etc/init.d/bind</filename> so that the program will run with that user. Use with extreme care since it has not been tested thoroughly.
fr: Ce script est laissé pour des raisons historiques et montre comment automatiser ce type de modifications globales du système. Le script créera les utilisateur et groupe définis pour le serveur de noms et modifiera à la fois <filename>/etc/default/bind</filename> et <filename>/etc/init.d/bind</filename> pour que le programme soit exécuté en tant que cet utilisateur. Utilisez-le avec la plus grande attention car il n'a pas été testé rigoureusement.

en: You can also create the users manually and use the patch available for the default init.d script attached to <ulink name="bug report #157245" url="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=157245" />.
fr: Vous pouvez aussi créer l'utilisateur vous-même et utiliser le correctif disponible pour le script d'initialisation par défaut attaché au <ulink url="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=157245" name="rapport de bogue nº 157245" />.

en: 
      #!/bin/sh
      # Change the default Debian bind v8 configuration to have it run
      # with a non-root user and group.
      # 
      # DO NOT USER this with version 9, use debconf for configure this instead
      #
      # WARN: This script has not been tested thoroughly, please
      # verify the changes made to the INITD script
    
      # (c) 2002 Javier Fernandez-Sanguino Pena
      #
      #    This program is free software; you can redistribute it and/or modify
      #    it under the terms of the GNU General Public License as published by
      #    the Free Software Foundation; either version 1, or (at your option)
      #    any later version.
      #
      #    This program is distributed in the hope that it will be useful,
      #    but WITHOUT ANY WARRANTY; without even the implied warranty of
      #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      #    GNU General Public License for more details.
      #
      #     Please see the file `COPYING' for the complete copyright notice.
      #
    
      restore() {
      # Just in case, restore the system if the changes fail
        echo "WARN: Restoring to the previous setup since I'm unable to properly change it."
        echo "WARN: Please check the $INITDERR script."
        mv $INITD $INITDERR
        cp $INITDBAK $INITD
      }
    
    
      USER=named
      GROUP=named
      INITD=/etc/init.d/bind
      DEFAULT=/etc/default/bind
      INITDBAK=$INITD.preuserchange
      INITDERR=$INITD.changeerror
      AWKS="awk ' /\/usr\/sbin\/ndc reload/ { print \"stop; sleep 2; start;\"; noprint = 1; } /\\\\$/ { if ( noprint != 0 ) { noprint = noprint + 1;} } /^.*$/ { if ( noprint != 0 ) { noprint = noprint - 1; } else { print \$0; } } '"
    
      [ `id -u` -ne 0 ] &amp;&amp; {
        echo "This program must be run by the root user"
        exit 1
      }
    
      RUNUSER=`ps eo user,fname |grep named |cut -f 1 -d " "`
    
      if [ "$RUNUSER" = "$USER" ] 
      then
        echo "WARN: The name server running daemon is already running as $USER"
        echo "ERR:  This script will not do any changes to your setup."
        exit 1
      fi
      if [ ! -f "$INITD" ]
      then
        echo "ERR:  This system does not have $INITD (which this script tries to change)"
        RUNNING=`ps eo fname |grep named`
        [ -z "$RUNNING" ] &amp;&amp; \
          echo "ERR:  In fact the name server daemon is not even running (is it installed?)"
        echo "ERR:  No changes will be made to your system"
        exit 1
      fi
    
      # Check if there are options already setup 
      if [ -e "$DEFAULT" ]
      then
        if grep -q ^OPTIONS $DEFAULT; then
          echo "ERR: The $DEFAULT file already has options set."
          echo "ERR:  No changes will be made to your system"
        fi
      fi
    
      # Check if named group exists
      if [ -z "`grep $GROUP /etc/group`" ] 
      then
        echo "Creating group $GROUP:"
        addgroup $GROUP
      else
        echo "WARN: Group $GROUP already exists. Will not create it"
      fi
      # Same for the user
      if [ -z "`grep $USER /etc/passwd`" ] 
      then
        echo "Creating user $USER:"
        adduser --system --home /home/$USER \
          --no-create-home --ingroup $GROUP \
          --disabled-password --disabled-login $USER
      else
        echo "WARN: The user $USER already exists. Will not create it"
      fi
    
      # Change the init.d script
    
      # First make a backup (check that there is not already
      # one there first)
      if [ ! -f $INITDBAK ] 
      then
        cp $INITD $INITDBAK
      fi
    
      # Then use it to change it
      cat $INITDBAK |
      eval $AWKS &gt; $INITD
    
      # Now put the options in the /etc/default/bind file:
      cat &gt;&gt;$DEFAULT &lt;&lt;EOF
    # Make bind run with the user we defined
    OPTIONS="-u $USER -g $GROUP"
    EOF
    
      echo "WARN: The script $INITD has been changed, trying to test the changes."
      echo "Restarting the named daemon (check for errors here)."
    
      $INITD restart
      if [ $? -ne 0 ] 
      then
        echo "ERR:  Failed to restart the daemon."
        restore
        exit 1
      fi
    
      RUNNING=`ps eo fname |grep named`
      if [ -z "$RUNNING" ] 
      then
        echo "ERR:  Named is not running, probably due to a problem with the changes."
        restore
        exit 1
      fi
    
      # Check if it's running as expected
      RUNUSER=`ps eo user,fname |grep named |cut -f 1 -d " "`
    
      if [ "$RUNUSER" = "$USER" ] 
      then
        echo "All has gone well, named seems to be running now as $USER."
      else
        echo "ERR:  The script failed to automatically change the system."
        echo "ERR:  Named is currently running as $RUNUSER."
        restore
        exit 1
      fi
    
      exit 0
fr: 
    #!/bin/sh
    # Modifier la configuration par défaut du BIND v8 de Debian pour qu'il
    # s'exécute en tant qu'utilisateur et groupe non superutilisateur.
    #
    # Ne pas utiliser cela avec la version 9, utiliser plutôt debconf pour le
    # configurer.
    #
    # Attention : ce script n'a pas été testé rigoureusement, veuillez
    # vérifier les modifications effectuées sur les scripts d'initialisation.
    
    # (c) 2002 Javier Fernández-Sanguino Peña
    #
    #    This program is free software; you can redistribute it and/or modify
    #    it under the terms of the GNU General Public License as published by
    #    the Free Software Foundation; either version 1, or (at your option)
    #    any later version.
    #
    #    This program is distributed in the hope that it will be useful,
    #    but WITHOUT ANY WARRANTY; without even the implied warranty of
    #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    #    GNU General Public License for more details.
    #
    #     Please see the file `COPYING' for the complete copyright notice.
    #
    
    restore() {
    # Au cas où, restaurer le système si la modification échoue
      echo "Attention : restauration de la configuration précédente car il"
      echo "            est impossible de la modifier correctement."
      echo "Attention : veuillez vérifier le script $INITDERR."
      mv $INITD $INITDERR
      cp $INITDBAK $INITD
    }
    
    
    USER=named
    GROUP=named
    INITD=/etc/init.d/bind
    DEFAULT=/etc/default/bind
    INITDBAK=$INITD.preuserchange
    INITDERR=$INITD.changeerror
    AWKS="awk ' /\/usr\/sbin\/ndc reload/ { print \"stop; sleep 2; start;\"; noprint = 1; } /\\\\$/ { if ( noprint != 0 ) { noprint = noprint + 1;} } /^.*$/ { if ( noprint != 0 ) { noprint = noprint - 1; } else { print \$0; } } '"
    
    [ `id -u` -ne 0 ] &#38;&#38; {
      echo "Ce script doit être exécuté en tant que superutilisateur"
      exit 1
    }
    
    RUNUSER=`ps eo user,fname |grep named |cut -f 1 -d " "`
    
    if [ "$RUNUSER" = "$USER" ] 
    then
      echo "Attention : le démon de serveur de noms est déjà exécuté en tant"
      echo "            que $USER."
      echo "Erreur :    ce script ne modifiera pas la configuration."
      exit 1
    fi
    if [ ! -f "$INITD" ]
    then
      echo "Erreur :    ce système n'a pas de $INITD (ce que ce script tente de"
      echo "            modifier)"
      RUNNING=`ps eo fname |grep named`
      [ -z "$RUNNING" ] &#38;&#38; \
      echo "Erreur :    en fait, le démon de serveur de noms n'est même pas en"
      echo "            cours d'exécution (est-il installé ?)"
      echo "Erreur :    aucune modification ne sera apportée au système."
      exit 1
    fi
    
    # Vérifier si les options sont déjà configurées
    if [ -e "$DEFAULT" ]
    then
      if grep -q ^OPTIONS $DEFAULT; then
        echo "Erreur :    le fichier $DEFAULT a déjà des options configurées."
        echo "Erreur :    aucune modification ne sera apportée au système."
      fi
    fi
    # Vérifier si le groupe named existe
    if [ -z "`grep $GROUP /etc/group`" ] 
    then
      echo "Création du groupe $GROUP :"
      addgroup $GROUP
    else
      echo "Attention : le groupe $GROUP existe déjà. Il ne sera pas créé."
    fi
    # Pareil pour l'utilisateur
    if [ -z "`grep $USER /etc/passwd`" ] 
    then
      echo "Création de l'utilisateur $USER :"
      adduser --system --home /home/$USER \
      --no-create-home --ingroup $GROUP \
      --disabled-password --disabled-login $USER
    else
      echo "Attention : l'utilisateur $USER existe déjà. Il ne sera pas créé."
    fi
    
    # Modifier le script init.d
    
    # D'abord faire une sauvegarde (vérifier qu'il n'y en a pas déjà une)
    if [ ! -f $INITDBAK ] 
    then
      cp $INITD $INITDBAK
    fi
    
    # Puis l'utiliser pour la modifier
    cat $INITDBAK |
    eval $AWKS &gt; $INITD
    
    # Enfin placer les options dans le fichier /etc/default/bind
    cat &gt;&gt;$DEFAULT &lt;&lt;EOF
    # Utiliser l'utilisateur défini pour exécuter bind
    OPTIONS="-u $USER -g $GROUP"
    EOF
    echo "Attention : le script $INITD a été modifié, tentative de test des"
    echo "            modifications."
    echo "Redémarrage du démon named (vérification des erreurs en cours)."
    
    $INITD restart
    if [ $? -ne 0 ]
    then
      echo "Erreur :    échec du redémarrage du démon."
      restore
      exit 1
    fi
    
    RUNNING=`ps eo fname |grep named`
    if [ -z "$RUNNING" ] 
    then
      echo "Erreur :    named n'est pas en cours d'exécution, c'est sans doute"
      echo "            dû à un problème avec les modifications."
      restore
      exit 1
     fi
    
    # Vérifier que named fonctionne comme prévu
    RUNUSER=`ps eo user,fname |grep named |cut -f 1 -d " "`
    
    if [ "$RUNUSER" = "$USER" ] 
    then
      echo "Tout s'est bien passé, named semble maintenant fonctionner en tant"
      echo "            que $USER."
    else
      echo "Erreur :    le script a échoué à modifier automatiquement le système."
      echo "Erreur :    named fonctionne actuellement en tant que $RUNUSER."
      restore
      exit 1
    fi
    
    exit 0

en: The previous script, run on Woody's (Debian 3.0) custom <command>bind</command> (version 8), will modify the initd file after creating the 'named' user and group and will
fr: Le script précédent, exécuté sur le <command>bind</command> (version 8) personnalisé de Woody (Debian 3.0), modifiera le fichier initd après création de l'utilisateur et du groupe «&nbsp;named&nbsp;».

en: Security update protected by a firewall
fr: Mise à jour de sécurité protégée par un pare-feu

en: After a standard installation, a system may still have some security vulnerabilities. Unless you can download updates for the vulnerable packages on another system (or you have mirrored security.debian.org for local use), the system will have to be connected to the Internet for the downloads.
fr: Après une installation standard, un système peut toujours avoir des failles de sécurité. À moins de pouvoir télécharger les mises à jour pour les paquets vulnérables depuis un autre système (ou si vous avez fait un miroir de security.debian.org pour utilisation en local), le système devra être connecté à Internet pour les téléchargements.

en: However, as soon as you connect to the Internet you are exposing this system. If one of your local services is vulnerable, you might be compromised even before the update is finished! This may seem paranoid but, in fact, analysis from the <ulink name="Honeynet Project" url="http://www.honeynet.org" /> has shown that systems can be compromised in less than three days, even if the system is not publicly known (i.e., not published in DNS records).
fr: Cependant, dès que vous vous connecter à Internet, vous exposez le système. Si l'un des services locaux est vulnérable, votre système peut même être compromis avant la fin de la mise à jour ! Cela peut sembler paranoïaque, mais une analyse du <ulink url="http://www.honeynet.org" name="Projet Honeynet" /> a démontré que les systèmes peuvent être compromis en moins de trois jours, même si le système n'est pas connu publiquement (c'est-à-dire, non publié dans les enregistrements DNS).

en: When doing an update on a system not protected by an external system like a firewall, it is possible to properly configure your local firewall to restrict connections involving only the security update itself. The example below shows how to set up such local firewall capabilities, which allow connections from security.debian.org only, logging all others.
fr: Lorsque vous faites une mise à jour sur un système non protégé par un système externe comme un pare-feu, il est possible de configurer correctement votre pare-feu pour restreindre les connexions n'impliquant que la mise à jour de sécurité elle-même. L'exemple ci-dessous montre comment mettre en place des telles fonctionnalités de pare-feu, ne permettant que les connexions à security.debian.org et en journalisant toutes les autres.

en: The following example can be use to setup a restricted firewall ruleset. Run this commands from a local console (not a remote one) to reduce the chances of locking yourself out of the system.
fr: L'exemple suivant permet de configurer un jeu de règles de pare-feu restreint. Exécutez ces commandes depuis une console locale (pas à distance) pour limiter les risques de vous enfermer hors du système.

en: 
      # iptables -F
      # iptables -L
      Chain INPUT (policy ACCEPT)
      target     prot opt source               destination
    
      Chain FORWARD (policy ACCEPT)
      target     prot opt source               destination
    
      Chain OUTPUT (policy ACCEPT)
      target     prot opt source               destination
      # iptables -A OUTPUT -d security.debian.org --dport 80 -j ACCEPT
      # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      # iptables -A INPUT -p icmp -j ACCEPT
      # iptables -A INPUT -j LOG
      # iptables -A OUTPUT -j LOG
      # iptables -P INPUT DROP
      # iptables -P FORWARD DROP
      # iptables -P OUTPUT DROP
      # iptables -L
      Chain INPUT (policy DROP)
      target     prot opt source               destination
      ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED
      ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
      LOG        all  --  anywhere             anywhere           LOG level warning
    
      Chain FORWARD (policy DROP)
      target     prot opt source               destination
    
      Chain OUTPUT (policy DROP)
      target     prot opt source               destination
      ACCEPT     80   --  anywhere             security.debian.org
      LOG        all  --  anywhere             anywhere           LOG level warning
fr: 
    # iptables -F
    # iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    # iptables -A OUTPUT -d security.debian.org --dport 80 -j ACCEPT
    # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    # iptables -A INPUT -p icmp -j ACCEPT
    # iptables -A INPUT -j LOG
    # iptables -A OUTPUT -j LOG
    # iptables -P INPUT DROP
    # iptables -P FORWARD DROP
    # iptables -P OUTPUT DROP
    # iptables -L
    Chain INPUT (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          state RELATED,ESTABLISHED
    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
    LOG        all  --  anywhere             anywhere           LOG level warning
    
    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    
    Chain OUTPUT (policy DROP)
    target     prot opt source               destination
    ACCEPT     80   --  anywhere             security.debian.org
    LOG        all  --  anywhere             anywhere           LOG level warning

en: Note: Using a <emphasis>DROP</emphasis> policy in the INPUT chain is the most correct thing to do, but be <emphasis>very</emphasis> careful when doing this after flushing the chain from a remote connection. When testing firewall rulesets from a remote location it is best if you run a script with the firewall ruleset (instead of introducing the ruleset line by line through the command line) and, as a precaution, keep a backdoor<footnote><para>Such as <emphasis>knockd</emphasis>. Alternatively, you can open a different console and have the system ask for confirmation that there is somebody on the other side, and reset the firewall chain if no confirmation is given. The following test script could be of use: <programlisting> #!/bin/bash while true; do read -n 1 -p "Are you there? " -t 30 ayt if [ -z "$ayt" ] ; then break fi done # Reset the firewall chain, user is not available echo echo "Resetting firewall chain!" iptables -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT exit 1 </programlisting></para></footnote>
fr: Remarque : l'utilisation d'une règle <emphasis>DROP</emphasis> dans la chaîne INPUT est la chose la plus correcte à faire, mais soyez <emphasis>particulièrement</emphasis> attentif lorsque c'est fait après avoir nettoyé la chaîne depuis une connexion distante. Lors d'un test des jeux de règles de pare-feu à distance, il est préférable d'exécuter un script avec le jeu de règles de pare-feu (au lieu d'introduire les règles une à une depuis la ligne de commande) et, par précaution, de garder une porte dérobée<footnote><para>Par exemple <emphasis>knockd</emphasis>. Sinon, il est possible d'ouvrir une autre console et forcer le système à confirmer que quelqu'un est présent de l'autre côté, et réinitialiser la chaîne de pare-feu en absence de confirmation. Le script de test suivant pourrait servir : <programlisting>#!/bin/bash while true; do read -n 1 -p "Y a-t-il quelqu'un ? " -t 30 ayt if [ -z "$ayt" ] ; then break fi done # Réinitialiser la chaîne de pare-feu, l'utilisateur n'est pas disponible echo echo "Réinitialisation de la chaîne de pare-feu" iptables -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT exit 1</programlisting></para></footnote>

en: Of course, you should disable any backdoors before getting the system into production. configured so that you can re-enable access to the system if you make a mistake. That way there would be no need to go to a remote location to fix a firewall ruleset that blocks you.
fr: Bien sûr, toutes les portes dérobées devraient être désactivées avant de placer le système en production configurée pour pouvoir réactiver l'accès au système en cas d'erreur. Ainsi, il ne sera pas nécessaire de se déplacer pour corriger un jeu de règles de pare-feu bloquant.

en: FIXME: This needs DNS to be working properly since it is required for security.debian.org to work. You can add security.debian.org to /etc/hosts but now it is a CNAME to several hosts (there is more than one security mirror)
fr: FIXME : cela nécessite un DNS opérationnel puisqu'il est nécessaire pour résoudre security.debian.org. security.debian.org pourrait être ajouté à /etc/hosts mais c'est un nom canonique pour plusieurs hôtes (il y a plus d'un miroir de sécurité).

en: FIXME: this will only work with HTTP URLs since ftp might need the ip_conntrack_ftp module, or use passive mode.
fr: FIXME : cela ne fonctionnera qu'avec les URL HTTP car FTP peut avoir besoin du module ip_conntrack_ftp ou d'utiliser le mode passif.

en: Chroot environment for <application>SSH</application>
fr: Environnement de chroot pour <application>SSH</application>

en: Creating a restricted environment for <application>SSH</application> is a tough job due to its dependencies and the fact that, unlike other servers, <application>SSH</application> provides a remote shell to users. Thus, you will also have to consider the applications users will be allowed to use in the environment.
fr: Créer un environnement restreint pour <command>SSH</command> est un travail difficile à cause de ses dépendances et du fait que, à la différence d'autres serveurs, <command>SSH</command> fournit un interpréteur de commande distant pour les utilisateurs. C'est pourquoi vous devrez également considérer les applications que les utilisateurs auront le droit d'utiliser dans l'environnement.

en: You have two options to setup a restricted remote shell:
fr: Deux options existent pour configurer une invite de commande à distance restreinte :

en: Chrooting the ssh users, by properly configuring the ssh daemon you can ask it to chroot a user after authentication just before it is provided a shell. Each user can have their own environment.
fr: chrooter les utilisateurs SSH, en configurant correctement le démon SSH pour chrooter un utilisateur après l'authentification juste avant de lui fournir une invite de commande. Chaque utilisateur peut avoir son propre environnement ;

en: Chrooting the ssh server, since you chroot the ssh application itself all users are chrooted to the defined environment.
fr: chrooter le serveur SSH, puisque l'application SSH est elle même chrootée, tous les utilisateurs sont chrootés dans l'environnement défini.

en: The first option has the advantage of making it possible to have both non-chrooted and chrooted users, if you don't introduce any setuid application in the user's chroots it is more difficult to break out of it. However, you might need to setup individual chroots for each user and it is more difficult to setup (as it requires cooperation from the SSH server). The second option is more easy to setup, and protects from an exploitation of the ssh server itself (since it's also in the chroot) but it will have the limitation that all users will share the same chroot environment (you cannot setup a per-user chroot environment).
fr: La première option a l'avantage de permettre d'avoir à la fois des utilisateurs chrootés ou non, en absence d'application setuid dans les chroots de l'utilisateur, il est plus difficile de s'en échapper. Cependant, vous pourriez configurer des chroots spécifiques à chaque utilisateur ce qui est plus délicat (car cela nécessite une coopération de la part du serveur SSH). La seconde option est plus facile à configurer, et protège d'une exploitation du serveur SH lui-même (puisqu'il est également dans le chroot) mais il sera limité de telle sorte que tous les utilisateurs partageront le même environnement chroot (impossible de configurer un environnement chroot par utilisateur).

en: Chrooting the ssh users
fr: Chrooter les utilisateur SSH

en: You can setup the ssh server so that it will chroot a set of defined users into a shell with a limited set of applications available.
fr: Le serveur SSH peut être configuré pour chrooter un ensemble d'utilisateurs définis dans une invite de commande possédant un jeu d'applications disponibles limité.

en: Using <package>libpam-chroot</package>
fr: Utilisation de <package>libpam-chroot</package>

en: Probably the easiest way is to use the <package>libpam-chroot</package> package provided in Debian. Once you install it you need to:
fr: La façon probablement la plus facile est d'utiliser le paquet <application>libpam_chroot</application> fourni dans Debian. Une fois que vous l'avez installé, vous devez&nbsp;:

en: Modify <filename>/etc/pam.d/ssh</filename> to use this PAM module, add as its last line<footnote><para>You can use the <emphasis>debug</emphasis> option to have it send the progress of the module to the <emphasis>authpriv.notice</emphasis> facility</para></footnote>:
fr: modifier <filename>/etc/pam.d/ssh</filename> pour utiliser ce module PAM, ajouter cette ligne à la fin du fichier<footnote><para>L'option <emphasis>debug</emphasis> permet d'envoyer la progression du module à la facilité <emphasis>authpriv.notice</emphasis>.</para></footnote> :

en: set a proper chroot environment for the user. You can try using the scripts available at <filename>/usr/share/doc/libpam-chroot/examples/</filename>, use the <package>makejail</package> <footnote><para>You can create a very limited bash environment with the following python definition for makejail, just create the directory <filename>/var/chroots/users/foo</filename> and a file with the following contents and call it <filename>bash.py</filename>: <screen> chroot="/var/chroots/users/foo" cleanJailFirst=1 testCommandsInsideJail=["bash ls"] </screen> And then run <emphasis>makejail bash.py</emphasis> to create the user environment at <filename>/var/chroots/users/foo</filename>. To test the environment run: <screen> # chroot /var/chroots/users/foo/ ls bin dev etc lib proc sbin usr </screen> </para></footnote> program or setup a minimum Debian environment with <package>debootstrap</package>. Make sure the environment includes the needed devices <footnote><para>In some occasions you might need the <filename>/dev/ptmx</filename> and <filename>/dev/pty*</filename> devices and the <filename>/dev/pts/</filename> subdirectory. Running MAKEDEV in the <filename>/dev</filename> directory of the chrooted environment should be sufficient to create them if they do not exist. If you are using kernels (version 2.6) which dynamically create device files you will need to create the /dev/pts/ files yourself and grant them the proper privileges.</para></footnote>.
fr: configurer un environnement de chroot correct. Vous pouvez essayer d'utiliser les scripts disponibles en <filename>/usr/share/doc/libpam-chroot/examples/</filename>, utiliser le programme <application>makejail</application><footnote><para>Vous pouvez créer un environnement bash très limité avc les définitions Python suivante pour makejail, en créant simplement le répertoire <filename>/var/chroots/users/truc</filename> et un fichier <filename>bash.py</filename> avec le contenu suivant : <screen>chroot="/var/chroots/users/truc" cleanJailFirst=1 testCommandsInsideJail=["bash ls"]</screen></para><para>Exécuter ensuite <emphasis>makejail bash.py</emphasis> pour créer l'environnement de l'utilisateur en <filename>/var/chroots/users/truc</filename>. Pour tester l'environnement, exécuter : <screen># chroot /var/chroots/users/truc/ ls bin dev etc lib proc sbin usr</screen>.</para></footnote> ou mettre en place un environnement Debian minimal avec <application>debootstrap</application>. Assurez-vous que l'environnement contient les périphériques nécessaires<footnote><para>Dans certains cas, les périphériques <filename>/dev/ptmx</filename> et <filename>/dev/pty*</filename> et le sous-répertoire <filename>/dev/pts/</filename>. Exécuter MAKEDEV dans le répertoire <filename>/dev</filename> de l'environnement chrooté devrait suffire pour les créer s'ils n'existent pas. Avec les noyaux (version 2.6) qui créent dynamiquement les fichiers de périphérique, vous devrez créer les fichiers <filename>/dev/pts/</filename> vous-même et leur attribuer les droits nécessaires.</para></footnote>.

en: Configure <filename>/etc/security/chroot.conf</filename> so that the users you determine are chrooted to the directory you setup previously. You might want to have independent directories for different users so that they will not be able to see neither the whole system nor each other's.
fr: configurer <filename>/etc/security/chroot.conf</filename> pour que les utilisateurs que vous déterminez soient chrootés dans le répertoire que vous avez mis en place auparavant. Vous pouvez vouloir ajouter des répertoires indépendants pour différents utilisateurs afin qu'ils ne puissent voir ni le système complet, ni les uns les autres ;

en: Configure SSH: Depending on your OpenSSH version the chroot environment might work straight of the box or not. Since 3.6.1p2 the <emphasis>do_pam_session()</emphasis> function is called after sshd has dropped privileges, since chroot() needs root priviledges it will not work with Privilege separation on. In newer OpenSSH versions, however, the PAM code has been modified and do_pam_session is called before dropping priviledges so it will work even with Privilege separation is on. If you have to disable it modify <filename>/etc/ssh/sshd_config</filename> like this:
fr: configurer SSH : suivant la version d'OpenSSH, l'environnement chroot pourrait fonctionner directement sans effort, ou non. Depuis 3.6.1p2 la fonction <emphasis>do_pam_session()</emphasis> est appelée après que sshd ait abandonné ses droits, mais puisque chroot() a besoin des droits du superutilisateur, il ne fonctionnera pas avec la séparation de droits activés. Dans les versions plus récentes d'OpenSSH, cependant, le code PAM a été modifié et do_pam_session est appelé avant l'abandon des droits donc il fonctionnera même avec la séparation de droits activée. Si vous devez le désactiver, modifiez <filename>/etc/ssh/sshd_config</filename> ce cette façon :

en: Notice that this will lower the security of your system since the OpenSSH server will then run as <emphasis>root</emphasis> user. This means that if a remote attack is found against OpenSSH an attacker will get <emphasis>root</emphasis> privileges instead of <emphasis>sshd</emphasis>, thus compromising the whole system. <footnote><para> If you are using a kernel that implements Mandatory Access Control (RSBAC/SElinux) you can avoid changing this configuration just by granting the <emphasis>sshd</emphasis> user privileges to make the chroot() system call. </para></footnote>
fr: Notez que cela réduira la sécurité de votre système car le serveur OpenSSH fonctionnera avec l'utilisateur <emphasis>root</emphasis>. Cela veut dire que si une attaque à distance est trouvée sur OpenSSH, un attaquant obtiendra les droits de <emphasis>root</emphasis> au lieu de ceux de <emphasis>sshd</emphasis>, ce qui compromettra le système en entier. <footnote><para>Si vous utilisez un noyau implémentant le contrôle d'accès obligatoire («&nbsp;Mandatory Access Control&nbsp;» ou MAC) (RSBAC/SElinux), vous pouvez éviter de changer cette configuration en autorisant simplement l'utilisateur <emphasis>sshd</emphasis> à exécuter l'appel système chroot().</para></footnote>

en: If you don't disable <emphasis>Privilege Separation</emphasis> you will need an <filename>/etc/passwd</filename> which includes the user's UID inside the chroot for <emphasis>Privilege Separation</emphasis> to work properly.
fr: Sans désactiver la <emphasis>séparation de droits</emphasis>, un <filename>/etc/passwd</filename> qui intègre l'UID de l'utilisateur dans le chroot sera nécessaire pour faire fonctionner correctement la <emphasis>séparation de droits</emphasis>.

en: If you have <emphasis>Privilege Separation</emphasis> set to <emphasis>yes</emphasis> and your OpenSSH version does not behave properly you will need to disable it. If you don't, users that try to connect to your server and would be chrooted by this module will see this:
fr: Si la <emphasis>séparation de droits</emphasis> est définie à <emphasis>yes</emphasis> est que la version d'OpenSSH ne se comporte pas correctement, il faudra la désactiver. Si non, les utilisateurs qui essayent de se connecter au serveur et en étant chrootés par ce module verront ceci :

en: This is because the ssh daemon, which is running as 'sshd', is not be able to make the chroot() system call. To disable Privilege separation you have to modify the <filename>/etc/ssh/sshd_config</filename> configuration file as described above.
fr: C'est parce que le démon SSH, qui est exécuté en tant que « sshd », n'est pas capable de faire l'appel système chroot(). Pour désactiver la séparation de droits, il faut modifier les fichier de configuration <filename>/etc/ssh/sshd_config</filename> comme décrit précédemment.

en: Notice that if any of the following is missing the users will not be able to logon to the chroot:
fr: Remarquez qu'en absence d'un des éléments suivants, les utilisateurs ne pourront pas se connecter au chroot :

en: The <filename>/proc</filename> filesystem needs to be mounted in the users' chroot.
fr: le système de fichiers <filename>/proc</filename> doit être monté dans le chroot des utilisateurs ;

en: The necessary <filename>/dev/pts/</filename> devices need to exist. If the files are generated by your running kernel automatically then you have to manually create them on the chroot's <filename>/dev/</filename>.
fr: les périphériques <filename>/dev/pts/</filename> nécessaires doivent exister. Si les fichiers sont créés automatiquement par le noyau utilisé, il faut les créer vous-même dans le <filename>/dev/</filename> du chroot ;

en: The user's home directory has to exist in the chroot, otherwise the ssh daemon will not continue.
fr: le répertoire personnel de l'utilisateur doit exister dans le chroot, sinon le démon SSH s'arrêtera.

en: You can debug all these issues if you use the <emphasis>debug</emphasis> keyword in the <filename>/etc/pam.d/ssh</filename> PAM definition. If you encounter issues you might find it useful to enable the debugging mode on the ssh client too.
fr: Tous ses problèmes peuvent être débogués en utilisant le mot-clef <emphasis>debug</emphasis> dans la définition PAM de <filename>/etc/pam.d/ssh</filename>. En cas de problème, il peut être utile d'activer aussi le mode de débogage sur le client.

en: Note: This information is also available (and maybe more up to date) in <filename>/usr/share/doc/libpam-chroot/README.Debian.gz</filename>, please review it for updated information before taking the above steps.
fr: Note&nbsp;: ces renseignements sont également disponibles (et peut-être plus à jour) dans <filename>/usr/share/doc/libpam-chroot/README.Debian.gz</filename>, veuillez consulter ce fichier pour obtenir des renseignements à jour avant d'entreprendre les étapes ci-dessus.

en: Patching the <command>ssh</command> server
fr: Appliquer des correctifs au serveur SSH

en: Debian's <command>sshd</command> does not allow restriction of a user's movement through the server, since it lacks the <command>chroot</command> function that the commercial program <command>sshd2</command> includes (using 'ChrootGroups' or 'ChrootUsers', see <citerefentry><refentrytitle>sshd2_config</refentrytitle> <manvolnum>5</manvolnum></citerefentry>). However, there is a patch available to add this functionality available from <ulink name="ChrootSSH project" url="http://chrootssh.sourceforge.net" /> (requested and available in <ulink name="Bug #139047" url="http://bugs.debian.org/139047" /> in Debian). The patch may be included in future releases of the OpenSSH package. Emmanuel Lacour has <command>ssh</command> deb packages for <emphasis>sarge</emphasis> with this feature. They are available at <ulink url="http://debian.home-dn.net/sarge/ssh/" />. Notice that those might not be up to date so completing the compilation step is recommended.
fr: Le serveur <command>sshd</command> de Debian ne vous autorisera pas à restreindre les mouvements des utilisateurs par le serveur étant donné que celui-ci est dépourvu de la fonction <command>chroot</command> que le programme commerciale <command>sshd2</command> possède (utilisation de «&nbsp;ChrootGroups&nbsp;» ou «&nbsp;ChrootUsers&nbsp;», consultez <citerefentry><refentrytitle>sshd2_config</refentrytitle> <manvolnum>5</manvolnum></citerefentry>). Toutefois, un correctif est disponible pour le faire sur le <ulink url="http://bugs.debian.org/139047" name="rapport de bogue nº 139047" />. Il sera peut-être appliquée au paquet OpenSSH dans le futur. Emmanuel Lacour dispose de paquets Debian <command>ssh</command> pour <emphasis>Sarge</emphasis> avec cette fonctionnalité. Ils sont disponibles à <ulink url="http://debian.home-dn.net/sarge/ssh/" />. Notez que ceux-ci peuvent ne pas être à jour, effectuer l'étape de compilation est donc recommandé.

en: After applying the patch, modify <filename>/etc/passwd</filename> by changing the home path of the users (with the special <literal>/./</literal> token):
fr: Après avoir appliqué le correctif, modifiez <filename>/etc/passwd</filename> en changeant le chemin du répertoire des utilisateurs (avec l'indicateur spécial <literal>/./</literal>) :

en: 
      joeuser:x:1099:1099:Joe Random User:/home/joe/./:/bin/bash
fr: 
      utilisateurjean:x:1099:1099:Jean Dupont Utilisateur:/home/michel/./:/bin/bash

en: This will restrict <emphasis>both</emphasis> remote shell access, as well as remote copy through the <command>ssh</command> channel.
fr: Cela restreindra <emphasis>à la fois</emphasis> les accès distants au shell, ainsi que la copie par le tunnel <command>ssh</command>.

en: Make sure to have all the needed binaries and libraries in the <command>chroot</command>'ed path for users. These files should be owned by root to avoid tampering by the user (so as to exit the <command>chroot</command>'ed jailed). A sample might include:
fr: Assurez-vous que tous les programmes et bibliothèques sont bien présents dans le chemin <command>chroot</command>é pour les utilisateurs. Ces fichiers devraient appartenir à root pour éviter les fraudes de l'utilisateur (tel la sortie d'une prison <command>chroot</command>é). Un échantillon pourrait inclure ceci&nbsp;:

en: 
    ./bin:
    total 660
    drwxr-xr-x    2 root     root         4096 Mar 18 13:36 .
    drwxr-xr-x    8 guest    guest        4096 Mar 15 16:53 ..
    -r-xr-xr-x    1 root     root       531160 Feb  6 22:36 bash
    -r-xr-xr-x    1 root     root        43916 Nov 29 13:19 ls
    -r-xr-xr-x    1 root     root        16684 Nov 29 13:19 mkdir
    -rwxr-xr-x    1 root     root        23960 Mar 18 13:36 more
    -r-xr-xr-x    1 root     root         9916 Jul 26  2001 pwd
    -r-xr-xr-x    1 root     root        24780 Nov 29 13:19 rm
    lrwxrwxrwx    1 root     root            4 Mar 30 16:29 sh -&gt; bash
fr: 
    ./bin:
    total 660
    drwxr-xr-x    2 root     root         4096 mars  18 13:36 .
    drwxr-xr-x    8 guest    guest        4096 mars  15 16:53 ..
    -r-xr-xr-x    1 root     root       531160 févr. 6 22:36 bash
    -r-xr-xr-x    1 root     root        43916 nov.  29 13:19 ls
    -r-xr-xr-x    1 root     root        16684 nov.  29 13:19 mkdir
    -rwxr-xr-x    1 root     root        23960 mars  18 13:36 more
    -r-xr-xr-x    1 root     root         9916 juil. 26  2001 pwd
    -r-xr-xr-x    1 root     root        24780 nov.  29 13:19 rm
    lrwxrwxrwx    1 root     root            4 mars  30 16:29 sh -> bash

en: 
    ./etc:
    total 24
    drwxr-xr-x    2 root     root         4096 Mar 15 16:13 .
    drwxr-xr-x    8 guest    guest        4096 Mar 15 16:53 ..
    -rw-r--r--    1 root     root           54 Mar 15 13:23 group
    -rw-r--r--    1 root     root          428 Mar 15 15:56 hosts
    -rw-r--r--    1 root     root           44 Mar 15 15:53 passwd
    -rw-r--r--    1 root     root           52 Mar 15 13:23 shells
fr: 
    ./etc:
    total 24
    drwxr-xr-x    2 root     root         4096 mars  15 16:13 .
    drwxr-xr-x    8 guest    guest        4096 mars  15 16:53 ..
    -rw-r--r--    1 root     root           54 mars  15 13:23 group
    -rw-r--r--    1 root     root          428 mars  15 15:56 hosts
    -rw-r--r--    1 root     root           44 mars  15 15:53 passwd
    -rw-r--r--    1 root     root           52 mars  15 13:23 shells

en: 
    ./lib:
    total 1848
    drwxr-xr-x    2 root     root         4096 Mar 18 13:37 .
    drwxr-xr-x    8 guest    guest        4096 Mar 15 16:53 ..
    -rwxr-xr-x    1 root     root        92511 Mar 15 12:49 ld-linux.so.2
    -rwxr-xr-x    1 root     root      1170812 Mar 15 12:49 libc.so.6
    -rw-r--r--    1 root     root        20900 Mar 15 13:01 libcrypt.so.1
    -rw-r--r--    1 root     root         9436 Mar 15 12:49 libdl.so.2
    -rw-r--r--    1 root     root       248132 Mar 15 12:48 libncurses.so.5
    -rw-r--r--    1 root     root        71332 Mar 15 13:00 libnsl.so.1
    -rw-r--r--    1 root     root        34144 Mar 15 16:10
    libnss_files.so.2
    -rw-r--r--    1 root     root        29420 Mar 15 12:57 libpam.so.0
    -rw-r--r--    1 root     root       105498 Mar 15 12:51 libpthread.so.0
    -rw-r--r--    1 root     root        25596 Mar 15 12:51 librt.so.1
    -rw-r--r--    1 root     root         7760 Mar 15 12:59 libutil.so.1
    -rw-r--r--    1 root     root        24328 Mar 15 12:57 libwrap.so.0
fr: 
    ./lib:
    total 1848
    drwxr-xr-x    2 root     root         4096 mars  18 13:37 .
    drwxr-xr-x    8 guest    guest        4096 mars  15 16:53 ..
    -rwxr-xr-x    1 root     root        92511 mars  15 12:49 ld-linux.so.2
    -rwxr-xr-x    1 root     root      1170812 mars  15 12:49 libc.so.6
    -rw-r--r--    1 root     root        20900 mars  15 13:01 libcrypt.so.1
    -rw-r--r--    1 root     root         9436 mars  15 12:49 libdl.so.2
    -rw-r--r--    1 root     root       248132 mars  15 12:48 libncurses.so.5
    -rw-r--r--    1 root     root        71332 mars  15 13:00 libnsl.so.1
    -rw-r--r--    1 root     root        34144 mars  15 16:10 libnss_files.so.2
    -rw-r--r--    1 root     root        29420 mars  15 12:57 libpam.so.0
    -rw-r--r--    1 root     root       105498 mars  15 12:51 libpthread.so.0
    -rw-r--r--    1 root     root        25596 mars  15 12:51 librt.so.1
    -rw-r--r--    1 root     root         7760 mars  15 12:59 libutil.so.1
    -rw-r--r--    1 root     root        24328 mars  15 12:57 libwrap.so.0

en: 
    ./usr:
    total 16
    drwxr-xr-x    4 root     root         4096 Mar 15 13:00 .
    drwxr-xr-x    8 guest    guest        4096 Mar 15 16:53 ..
    drwxr-xr-x    2 root     root         4096 Mar 15 15:55 bin
    drwxr-xr-x    2 root     root         4096 Mar 15 15:37 lib
fr: 
    ./usr:
    total 16
    drwxr-xr-x    4 root     root         4096 mars  15 13:00 .
    drwxr-xr-x    8 guest    guest        4096 mars  15 16:53 ..
    drwxr-xr-x    2 root     root         4096 mars  15 15:55 bin
    drwxr-xr-x    2 root     root         4096 mars  15 15:37 lib

en: 
    ./usr/bin:
    total 340
    drwxr-xr-x    2 root     root         4096 Mar 15 15:55 .
    drwxr-xr-x    4 root     root         4096 Mar 15 13:00 ..
    -rwxr-xr-x    1 root     root        10332 Mar 15 15:55 env
    -rwxr-xr-x    1 root     root        13052 Mar 15 13:13 id
    -r-xr-xr-x    1 root     root        25432 Mar 15 12:40 scp
    -rwxr-xr-x    1 root     root        43768 Mar 15 15:15 sftp
    -r-sr-xr-x    1 root     root       218456 Mar 15 12:40 ssh
    -rwxr-xr-x    1 root     root         9692 Mar 15 13:17 tty
fr: 
    ./usr/bin:
    total 340
    drwxr-xr-x    2 root     root         4096 mars  15 15:55 .
    drwxr-xr-x    4 root     root         4096 mars  15 13:00 ..
    -rwxr-xr-x    1 root     root        10332 mars  15 15:55 env
    -rwxr-xr-x    1 root     root        13052 mars  15 13:13 id
    -r-xr-xr-x    1 root     root        25432 mars  15 12:40 scp
    -rwxr-xr-x    1 root     root        43768 mars  15 15:15 sftp
    -r-sr-xr-x    1 root     root       218456 mars  15 12:40 ssh
    -rwxr-xr-x    1 root     root         9692 mars  15 13:17 tty

en: 
    ./usr/lib:
    total 852
    drwxr-xr-x    2 root     root         4096 Mar 15 15:37 .
    drwxr-xr-x    4 root     root         4096 Mar 15 13:00 ..
    -rw-r--r--    1 root     root       771088 Mar 15 13:01
    libcrypto.so.0.9.6
    -rw-r--r--    1 root     root        54548 Mar 15 13:00 libz.so.1
    -rwxr-xr-x    1 root     root        23096 Mar 15 15:37 sftp-server
fr: 
    ./usr/lib:
    total 852
    drwxr-xr-x    2 root     root         4096 mars  15 15:37 .
    drwxr-xr-x    4 root     root         4096 mars  15 13:00 ..
    -rw-r--r--    1 root     root       771088 mars  15 13:01 libcrypto.so.0.9.6
    -rw-r--r--    1 root     root        54548 mars  15 13:00 libz.so.1
    -rwxr-xr-x    1 root     root        23096 mars  15 15:37 sftp-server

en: Chrooting the ssh server
fr: Chrooter le serveur SSH

en: If you create a chroot which includes the SSH server files in, for example <filename>/var/chroot/ssh</filename>, you would start the <command>ssh</command> server <command>chroot</command>'ed with this command:
fr: Si un chroot est créé pour inclure les fichiers du serveur SSH, par exemple <filename>/var/chroot/ssh</filename>, le serveur SSH <command>chroot</command>é serait démarré avec cette commande :

en: That would make startup the <command>sshd</command> daemon inside the chroot. In order to do that you have to first prepare the contents of the <filename>/var/chroot/ssh</filename> directory so that it includes both the SSH server and all the utilities that the users connecting to that server might need. If you are doing this you should make certain that OpenSSH uses <emphasis>Privilege Separation</emphasis> (which is the default) having the following line in the configuration file <filename>/etc/ssh/sshd_config</filename>:
fr: Cela ferait démarrer le démon <command>sshd</command> dans le chroot. Pour faire cela, il faut d'abord préparer le contenu du répertoire <filename>/var/chroot/ssh</filename> pour inclure à la fois le serveur SSH et tous les utilitaires dont les utilisateurs se connectant à ce serveur pourraient avoir besoin. Dans ce cas, vous devez vous assurer qu'OpenSSH utilise la <emphasis>séparation de droits</emphasis> (ce qui est le cas par défaut) en ayant la ligne suivante dans le fichier de configuration <filename>/etc/ssh/sshd_config</filename> :

en: That way the remote daemon will do as few things as possible as the root user so even if there is a bug in it it will not compromise the chroot. Notice that, unlike the case in which you setup a per-user chroot, the ssh daemon is running in the same chroot as the users so there is at least one potential process running as root which could break out of the chroot.
fr: De cette façon, le démon distant fera aussi peu de choses que possible de même que le superutilisateur donc même en cas de bogue, le chroot ne sera pas compromis. Remarquez que, contrairement au cas de la configuration d'un chroot par utilisateur, le démon SSH est exécuté dans le même chroot que les utilisateurs, donc il y a au moins un processus potentiel exécuté en tant que superutilisateur qui pourrait s'échapper du chroot.

en: Notice, also, that in order for SSH to work in that location, the partition where the chroot directory resides cannot be mounted with the <emphasis>nodev</emphasis> option. If you use that option, then you will get the following error: <emphasis>PRNG is not seeded</emphasis>, because <filename>/dev/urandom</filename> does not work in the chroot.
fr: Remarquez aussi que pour permettre à SSH de fonctionner à cet endroit, la partition où le répertoire du chroot existe ne doit pas être montée avec l'option <emphasis>nodev</emphasis>. Avec cette option, l'erreur suivante se produira : <emphasis>PRNG is not seeded</emphasis> car <filename>/dev/urandom</filename> ne fonctionne pas dans le chroot.

en: Setup a minimal system (the really easy way)
fr: Configuration d'un système minimal (la manière vraiment simple)

en: You can use <package>debootstrap</package> to setup a minimal environment that just includes the ssh server. In order to do this you just have to create a chroot as described in the <ulink name="chroot section of the Debian Reference" url="http://www.debian.org/doc/manuals/reference/ch09#_chroot_system" /> document. This method is bound to work (you will get all the necessary componentes for the chroot) but at the cost of disk space (a minimal installation of Debian will amount to several hundred megabytes). This minimal system might also include setuid files that a user in the chroot could use to break out of the chroot if any of those could be use for a privilege escalation.
fr: Utilisez <application>debootstrap</application> pour configurer un environnement minimal qui n'inclut que le serveur SSH. Pour faire cela, il suffit de créer un chroot comme décrit dans la <ulink url="http://www.debian.org/doc/manuals/reference/ch09#_chroot_system" name="section « Système protégé (chroot) » de la Référence Debian" />. Cette méthode est sûre de fonctionner (tous les composants nécessaires seront dans le chroot) mais coûtera de l'espace disque (une installation minimale de Debian représente plusieurs milliers de mégaoctets). Ce système minimal pourrait aussi intégrer des fichiers setuid qu'un utilisateur dans le chroot pourrait utiliser pour s'en échapper si l'un d'entre eux peut être utiliser pour une augmentation de droits.

en: Automatically making the environment (the easy way)
fr: Créer l'environnement automatiquement (la manière simple)

en: You can easily create a restricted environment with the <package>makejail</package> package, since it automatically takes care of tracing the server daemon (with <command>strace</command>), and makes it run under the restricted environment.
fr: Vous pouvez facilement créer un environnement restreint avec le paquet <application>makejail</application> puisqu'il prend automatiquement soin de tracer le démon serveur (avec <command>strace</command>), et l'exécute dans l'environnement restreint.

en: The advantage of programs that automatically generate <command>chroot</command> environments is that they are capable of copying any package to the <command>chroot</command> environment (even following the package's dependencies and making sure it's complete). Thus, providing user applications is easier.
fr: L'avantage de programmes qui génèrent automatiquement l'environnement de <command>chroot</command> est qu'ils sont capables de copier tout paquet vers l'environnement de <command>chroot</command> (en suivant même les dépendances de paquet et en s'assurant qu'il est complet). Fournir les applications aux utilisateurs est donc plus facile.

en: To set up the environment using <command>makejail</command>'s provided examples, just create <filename>/var/chroot/sshd</filename> and use the command:
fr: Pour mettre en place l'environnement en utilisant les exemples fournis par <command>makejail</command>, créez simplement <filename>/var/chroot/sshd</filename> et exécutez la commande suivante&nbsp;:

en: This will setup the chroot in the <filename>/var/chroot/sshd</filename> directory. Notice that this chroot will not fully work unless you:
fr: Cela configurera la chroot dans le répertoire <filename>/var/chroot/sshd</filename>. Remarquez que ce chroot ne sera pas complètement fonctionnel avant de :

en: Mount the <emphasis>procfs</emphasis> filesystem in <filename>/var/chroot/sshd/proc</filename>. <command>Makejail</command> will mount it for you but if the system reboots you need to remount it running:
fr: monter le système de fichiers <emphasis>procfs</emphasis> dans <filename>/var/chroot/sshd/proc</filename>. <command>makejail</command> le montera tout seul, mais si le système redémarre, il faudra le remonter en exécutant :

en: You can also have it be mounted automatically by editing <filename>/etc/fstab</filename> and including this line:
fr: Il peut aussi être monté automatiquement en modifiant <filename>/etc/fstab</filename> pour ajouter cette ligne :

en: Have syslog listen to the device <filename>/dev/log</filename> inside the chroot. In order to do this you have modify <filename>/etc/default/syslogd</filename> and add <emphasis>-a /var/chroot/sshd/dev/log</emphasis> to the <varname>SYSLOGD</varname> variable definition.
fr: faire écouter syslog sur le périphérique <filename>/dev/log</filename> dans le chroot. Pour faire cela, il faut modifier <filename>/etc/default/syslogd</filename> pour ajouter <emphasis>-a /var/chroot/sshd/dev/log</emphasis> à la définition de la variable <emphasis>SYSLOGD</emphasis>.

en: Read the sample file to see what other changes need to be made to the environment. Some of these changes, such as copying user's home directories, cannot be done automatically. Also, limit the exposure of sensitive information by only copying the data from a given number of users from the files <filename>/etc/shadow</filename> or <filename>/etc/group</filename>. Notice that if you are using Privilege Separation the <emphasis>sshd</emphasis> user needs to exist in those files.
fr: Consultez le fichier d'exemple pour savoir quels autres modifications doivent être réalisées dans l'environnement. Certaines de ces modifications, comme la copie des répertoires personnels des utilisateurs, ne peuvent être réalisés automatiquement. Limitez également l'exposition des informations sensibles en ne copiant que les données d'un nombre donné d'utilisateurs des fichiers <filename>/etc/shadow</filename> ou <filename>/etc/group</filename>. Remarquez qu'en utilisant la <emphasis>séparation de droits</emphasis>, l'utilisateur <emphasis>sshd</emphasis> doit exister dans ces fichiers.

en: The following sample environment has been (slightly) tested in Debian 3.0 and is built with the configuration file provided in the package and includes the <package>fileutils</package> package:
fr: L'environnement d'exemple suivant a été (légèrement) testé dans Debian 3.0 et est construit avec le fichier de configuration fourni par le paquet et inclut le paquet <application>fileutils</application>&nbsp;:

en: 
    .
    |-- bin
    |   |-- ash
    |   |-- bash
    |   |-- chgrp
    |   |-- chmod
    |   |-- chown
    |   |-- cp
    |   |-- csh -&gt; /etc/alternatives/csh
    |   |-- dd
    |   |-- df
    |   |-- dir
    |   |-- fdflush
    |   |-- ksh
    |   |-- ln
    |   |-- ls
    |   |-- mkdir
    |   |-- mknod
    |   |-- mv
    |   |-- rbash -&gt; bash
    |   |-- rm
    |   |-- rmdir
    |   |-- sh -&gt; bash
    |   |-- sync
    |   |-- tcsh
    |   |-- touch
    |   |-- vdir
    |   |-- zsh -&gt; /etc/alternatives/zsh
    |   `-- zsh4
    |-- dev
    |   |-- null
    |   |-- ptmx
    |   |-- pts
    |   |-- ptya0
    (...)
    |   |-- tty
    |   |-- tty0
    (...)
    |   `-- urandom
    |-- etc
    |   |-- alternatives
    |   |   |-- csh -&gt; /bin/tcsh
    |   |   `-- zsh -&gt; /bin/zsh4
    |   |-- environment
    |   |-- hosts
    |   |-- hosts.allow
    |   |-- hosts.deny
    |   |-- ld.so.conf
    |   |-- localtime -&gt; /usr/share/zoneinfo/Europe/Madrid
    |   |-- motd
    |   |-- nsswitch.conf
    |   |-- pam.conf
    |   |-- pam.d
    |   |   |-- other
    |   |   `-- ssh
    |   |-- passwd
    |   |-- resolv.conf
    |   |-- security
    |   |   |-- access.conf
    |   |   |-- chroot.conf
    |   |   |-- group.conf
    |   |   |-- limits.conf
    |   |   |-- pam_env.conf
    |   |   `-- time.conf
    |   |-- shadow
    |   |-- shells
    |   `-- ssh
    |       |-- moduli
    |       |-- ssh_host_dsa_key
    |       |-- ssh_host_dsa_key.pub
    |       |-- ssh_host_rsa_key
    |       |-- ssh_host_rsa_key.pub
    |       `-- sshd_config
    |-- home
    |   `-- userX
    |-- lib
    |   |-- ld-2.2.5.so
    |   |-- ld-linux.so.2 -&gt; ld-2.2.5.so
    |   |-- libc-2.2.5.so
    |   |-- libc.so.6 -&gt; libc-2.2.5.so
    |   |-- libcap.so.1 -&gt; libcap.so.1.10
    |   |-- libcap.so.1.10
    |   |-- libcrypt-2.2.5.so
    |   |-- libcrypt.so.1 -&gt; libcrypt-2.2.5.so
    |   |-- libdl-2.2.5.so
    |   |-- libdl.so.2 -&gt; libdl-2.2.5.so
    |   |-- libm-2.2.5.so
    |   |-- libm.so.6 -&gt; libm-2.2.5.so
    |   |-- libncurses.so.5 -&gt; libncurses.so.5.2
    |   |-- libncurses.so.5.2
    |   |-- libnsl-2.2.5.so
    |   |-- libnsl.so.1 -&gt; libnsl-2.2.5.so
    |   |-- libnss_compat-2.2.5.so
    |   |-- libnss_compat.so.2 -&gt; libnss_compat-2.2.5.so
    |   |-- libnss_db-2.2.so
    |   |-- libnss_db.so.2 -&gt; libnss_db-2.2.so
    |   |-- libnss_dns-2.2.5.so
    |   |-- libnss_dns.so.2 -&gt; libnss_dns-2.2.5.so
    |   |-- libnss_files-2.2.5.so
    |   |-- libnss_files.so.2 -&gt; libnss_files-2.2.5.so
    |   |-- libnss_hesiod-2.2.5.so
    |   |-- libnss_hesiod.so.2 -&gt; libnss_hesiod-2.2.5.so
    |   |-- libnss_nis-2.2.5.so
    |   |-- libnss_nis.so.2 -&gt; libnss_nis-2.2.5.so
    |   |-- libnss_nisplus-2.2.5.so
    |   |-- libnss_nisplus.so.2 -&gt; libnss_nisplus-2.2.5.so
    |   |-- libpam.so.0 -&gt; libpam.so.0.72
    |   |-- libpam.so.0.72
    |   |-- libpthread-0.9.so
    |   |-- libpthread.so.0 -&gt; libpthread-0.9.so
    |   |-- libresolv-2.2.5.so
    |   |-- libresolv.so.2 -&gt; libresolv-2.2.5.so
    |   |-- librt-2.2.5.so
    |   |-- librt.so.1 -&gt; librt-2.2.5.so
    |   |-- libutil-2.2.5.so
    |   |-- libutil.so.1 -&gt; libutil-2.2.5.so
    |   |-- libwrap.so.0 -&gt; libwrap.so.0.7.6
    |   |-- libwrap.so.0.7.6
    |   `-- security
    |       |-- pam_access.so
    |       |-- pam_chroot.so
    |       |-- pam_deny.so
    |       |-- pam_env.so
    |       |-- pam_filter.so
    |       |-- pam_ftp.so
    |       |-- pam_group.so
    |       |-- pam_issue.so
    |       |-- pam_lastlog.so
    |       |-- pam_limits.so
    |       |-- pam_listfile.so
    |       |-- pam_mail.so
    |       |-- pam_mkhomedir.so
    |       |-- pam_motd.so
    |       |-- pam_nologin.so
    |       |-- pam_permit.so
    |       |-- pam_rhosts_auth.so
    |       |-- pam_rootok.so
    |       |-- pam_securetty.so
    |       |-- pam_shells.so
    |       |-- pam_stress.so
    |       |-- pam_tally.so
    |       |-- pam_time.so
    |       |-- pam_unix.so
    |       |-- pam_unix_acct.so -&gt; pam_unix.so
    |       |-- pam_unix_auth.so -&gt; pam_unix.so
    |       |-- pam_unix_passwd.so -&gt; pam_unix.so
    |       |-- pam_unix_session.so -&gt; pam_unix.so
    |       |-- pam_userdb.so
    |       |-- pam_warn.so
    |       `-- pam_wheel.so
    |-- sbin
    |   `-- start-stop-daemon
    |-- usr
    |   |-- bin
    |   |   |-- dircolors
    |   |   |-- du
    |   |   |-- install
    |   |   |-- link
    |   |   |-- mkfifo
    |   |   |-- shred
    |   |   |-- touch -&gt; /bin/touch
    |   |   `-- unlink
    |   |-- lib
    |   |   |-- libcrypto.so.0.9.6
    |   |   |-- libdb3.so.3 -&gt; libdb3.so.3.0.2
    |   |   |-- libdb3.so.3.0.2
    |   |   |-- libz.so.1 -&gt; libz.so.1.1.4
    |   |   `-- libz.so.1.1.4
    |   |-- sbin
    |   |   `-- sshd
    |   `-- share
    |       |-- locale
    |       |   `-- es
    |       |       |-- LC_MESSAGES
    |       |       |   |-- fileutils.mo
    |       |       |   |-- libc.mo
    |       |       |   `-- sh-utils.mo
    |       |       `-- LC_TIME -&gt; LC_MESSAGES
    |       `-- zoneinfo
    |           `-- Europe
    |               `-- Madrid
    `-- var
        `-- run
            |-- sshd
            `-- sshd.pid
    
    27 directories, 733 files
fr: 
    |-- bin
    |   |-- ash
    |   |-- bash
    |   |-- chgrp
    |   |-- chmod
    |   |-- chown
    |   |-- cp
    |   |-- csh -> /etc/alternatives/csh
    |   |-- dd
    |   |-- df
    |   |-- dir
    |   |-- fdflush
    |   |-- ksh
    |   |-- ln
    |   |-- ls
    |   |-- mkdir
    |   |-- mknod
    |   |-- mv
    |   |-- rbash -> bash
    |   |-- rm
    |   |-- rmdir
    |   |-- sh -> bash
    |   |-- sync
    |   |-- tcsh
    |   |-- touch
    |   |-- vdir
    |   |-- zsh -> /etc/alternatives/zsh
    |   `-- zsh4
    |-- dev
    |   |-- null
    |   |-- ptmx
    |   |-- pts
    |   |-- ptya0
    (...)
    |   |-- tty
    |   |-- tty0
    (...)
    |   `-- urandom
    |-- etc
    |   |-- alternatives
    |   |   |-- csh -> /bin/tcsh
    |   |   `-- zsh -> /bin/zsh4
    |   |-- environment
    |   |-- hosts
    |   |-- hosts.allow
    |   |-- hosts.deny
    |   |-- ld.so.conf
    |   |-- localtime -> /usr/share/zoneinfo/Europe/Madrid
    |   |-- motd
    |   |-- nsswitch.conf
    |   |-- pam.conf
    |   |-- pam.d
    |   |   |-- other
    |   |   `-- ssh
    |   |-- passwd
    |   |-- resolv.conf
    |   |-- security
    |   |   |-- access.conf
    |   |   |-- chroot.conf
    |   |   |-- group.conf
    |   |   |-- limits.conf
    |   |   |-- pam_env.conf
    |   |   `-- time.conf
    |   |-- shadow
    |   |-- shells
    |   `-- ssh
    |       |-- moduli
    |       |-- ssh_host_dsa_key
    |       |-- ssh_host_dsa_key.pub
    |       |-- ssh_host_rsa_key
    |       |-- ssh_host_rsa_key.pub
    |       `-- sshd_config
    |-- home
    |   `-- userX
    |-- lib
    |   |-- ld-2.2.5.so
    |   |-- ld-linux.so.2 -> ld-2.2.5.so
    |   |-- libc-2.2.5.so
    |   |-- libc.so.6 -> libc-2.2.5.so
    |   |-- libcap.so.1 -> libcap.so.1.10
    |   |-- libcap.so.1.10
    |   |-- libcrypt-2.2.5.so
    |   |-- libcrypt.so.1 -> libcrypt-2.2.5.so
    |   |-- libdl-2.2.5.so
    |   |-- libdl.so.2 -> libdl-2.2.5.so
    |   |-- libm-2.2.5.so
    |   |-- libm.so.6 -> libm-2.2.5.so
    |   |-- libncurses.so.5 -> libncurses.so.5.2
    |   |-- libncurses.so.5.2
    |   |-- libnsl-2.2.5.so
    |   |-- libnsl.so.1 -> libnsl-2.2.5.so
    |   |-- libnss_compat-2.2.5.so
    |   |-- libnss_compat.so.2 -> libnss_compat-2.2.5.so
    |   |-- libnss_db-2.2.so
    |   |-- libnss_db.so.2 -> libnss_db-2.2.so
    |   |-- libnss_dns-2.2.5.so
    |   |-- libnss_dns.so.2 -> libnss_dns-2.2.5.so
    |   |-- libnss_files-2.2.5.so
    |   |-- libnss_files.so.2 -> libnss_files-2.2.5.so
    |   |-- libnss_hesiod-2.2.5.so
    |   |-- libnss_hesiod.so.2 -> libnss_hesiod-2.2.5.so
    |   |-- libnss_nis-2.2.5.so
    |   |-- libnss_nis.so.2 -> libnss_nis-2.2.5.so
    |   |-- libnss_nisplus-2.2.5.so
    |   |-- libnss_nisplus.so.2 -> libnss_nisplus-2.2.5.so
    |   |-- libpam.so.0 -> libpam.so.0.72
    |   |-- libpam.so.0.72
    |   |-- libpthread-0.9.so
    |   |-- libpthread.so.0 -> libpthread-0.9.so
    |   |-- libresolv-2.2.5.so
    |   |-- libresolv.so.2 -> libresolv-2.2.5.so
    |   |-- librt-2.2.5.so
    |   |-- librt.so.1 -> librt-2.2.5.so
    |   |-- libutil-2.2.5.so
    |   |-- libutil.so.1 -> libutil-2.2.5.so
    |   |-- libwrap.so.0 -> libwrap.so.0.7.6
    |   |-- libwrap.so.0.7.6
    |   `-- security
    |       |-- pam_access.so
    |       |-- pam_chroot.so
    |       |-- pam_deny.so
    |       |-- pam_env.so
    |       |-- pam_filter.so
    |       |-- pam_ftp.so
    |       |-- pam_group.so
    |       |-- pam_issue.so
    |       |-- pam_lastlog.so
    |       |-- pam_limits.so
    |       |-- pam_listfile.so
    |       |-- pam_mail.so
    |       |-- pam_mkhomedir.so
    |       |-- pam_motd.so
    |       |-- pam_nologin.so
    |       |-- pam_permit.so
    |       |-- pam_rhosts_auth.so
    |       |-- pam_rootok.so
    |       |-- pam_securetty.so
    |       |-- pam_shells.so
    |       |-- pam_stress.so
    |       |-- pam_tally.so
    |       |-- pam_time.so
    |       |-- pam_unix.so
    |       |-- pam_unix_acct.so -> pam_unix.so
    |       |-- pam_unix_auth.so -> pam_unix.so
    |       |-- pam_unix_passwd.so -> pam_unix.so
    |       |-- pam_unix_session.so -> pam_unix.so
    |       |-- pam_userdb.so
    |       |-- pam_warn.so
    |       `-- pam_wheel.so
    |-- sbin
    |   `-- start-stop-daemon
    |-- usr
    |   |-- bin
    |   |   |-- dircolors
    |   |   |-- du
    |   |   |-- install
    |   |   |-- link
    |   |   |-- mkfifo
    |   |   |-- shred
    |   |   |-- touch -> /bin/touch
    |   |   `-- unlink
    |   |-- lib
    |   |   |-- libcrypto.so.0.9.6
    |   |   |-- libdb3.so.3 -> libdb3.so.3.0.2
    |   |   |-- libdb3.so.3.0.2
    |   |   |-- libz.so.1 -> libz.so.1.1.4
    |   |   `-- libz.so.1.1.4
    |   |-- sbin
    |   |   `-- sshd
    |   `-- share
    |       |-- locale
    |       |   `-- es
    |       |       |-- LC_MESSAGES
    |       |       |   |-- fileutils.mo
    |       |       |   |-- libc.mo
    |       |       |   `-- sh-utils.mo
    |       |       `-- LC_TIME -> LC_MESSAGES
    |       `-- zoneinfo
    |           `-- Europe
    |               `-- Madrid
    `-- var
        `-- run
            |-- sshd
            `-- sshd.pid
    
    27 répertoire, 733 fichiers

en: For Debian release 3.1 you have to make sure that the environment includes also the common files for PAM. The following files need to be copied over to the chroot if <command>makejail</command> did not do it for you:
fr: Avec Debian 3.1, il faut s'assurer que l'environnement inclus aussi les fichiers communs pour PAM. Les fichiers suivants doivent être copiés dans le chroot si <command>makejail</command> ne l'a pas fait:

en: Manually creating the environment (the hard way)
fr: Créer soi-même l'environnement (la manière difficile)

en: It is possible to create an environment, using a trial-and-error method, by monitoring the <command>sshd</command> server traces and log files in order to determine the necessary files. The following environment, contributed by José Luis Ledesma, is a sample listing of files in a <command>chroot</command> environment for <command>ssh</command> in Debian woody (3.0): <footnote><para> Notice that there are no SETUID files. This makes it more difficult for remote users to escape the <command>chroot</command> environment. However, it also prevents users from changing their passwords, since the <command>passwd</command> program cannot modify the files <filename>/etc/passwd</filename> or <filename>/etc/shadow</filename>. </para></footnote>
fr: Il est possible de créer un environnement, en utilisant une méthode d'essai-et-d'erreur, en surveillant les traces du serveur <command>sshd</command> et les fichiers journaux pour déterminer les fichiers nécessaires. L'environnement suivant, fourni par José Luis Ledesma, est un listing exemple des fichiers dans un environnement de <command>chroot</command> pour <command>ssh</command> dans Debian Woody (3.0)&nbsp;: <footnote><para>Remarquez qu'il n'y a pas de fichiers SETUID. Cela rend plus difficile pour les utilisateurs distants de s'échapper de l'environnement de <command>chroot</command>. Cependant, il empêche également les utilisateurs de changer leurs mots de passe, car le programme <command>passwd</command> ne peut pas modifier les fichiers <filename>/etc/passwd</filename> ou <filename>/etc/shadow</filename>.</para></footnote>

en: 
    .:
    total 36
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ./
    drwxr-xr-x 11 root root 4096 Jun 3 13:43 ../
    drwxr-xr-x 2 root root 4096 Jun 4 12:13 bin/
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 dev/
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 etc/
    drwxr-xr-x 3 root root 4096 Jun 4 12:13 lib/
    drwxr-xr-x 2 root root 4096 Jun 4 12:35 sbin/
    drwxr-xr-x 2 root root 4096 Jun 4 12:32 tmp/
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 usr/
    ./bin:
    total 8368
    drwxr-xr-x 2 root root 4096 Jun 4 12:13 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rwxr-xr-x 1 root root 109855 Jun 3 13:45 a2p*
    -rwxr-xr-x 1 root root 387764 Jun 3 13:45 bash*
    -rwxr-xr-x 1 root root 36365 Jun 3 13:45 c2ph*
    -rwxr-xr-x 1 root root 20629 Jun 3 13:45 dprofpp*
    -rwxr-xr-x 1 root root 6956 Jun 3 13:46 env*
    -rwxr-xr-x 1 root root 158116 Jun 3 13:45 fax2ps*
    -rwxr-xr-x 1 root root 104008 Jun 3 13:45 faxalter*
    -rwxr-xr-x 1 root root 89340 Jun 3 13:45 faxcover*
    -rwxr-xr-x 1 root root 441584 Jun 3 13:45 faxmail*
    -rwxr-xr-x 1 root root 96036 Jun 3 13:45 faxrm*
    -rwxr-xr-x 1 root root 107000 Jun 3 13:45 faxstat*
    -rwxr-xr-x 1 root root 77832 Jun 4 11:46 grep*
    -rwxr-xr-x 1 root root 19597 Jun 3 13:45 h2ph*
    -rwxr-xr-x 1 root root 46979 Jun 3 13:45 h2xs*
    -rwxr-xr-x 1 root root 10420 Jun 3 13:46 id*
    -rwxr-xr-x 1 root root 4528 Jun 3 13:46 ldd*
    -rwxr-xr-x 1 root root 111386 Jun 4 11:46 less*
    -r-xr-xr-x 1 root root 26168 Jun 3 13:45 login*
    -rwxr-xr-x 1 root root 49164 Jun 3 13:45 ls*
    -rwxr-xr-x 1 root root 11600 Jun 3 13:45 mkdir*
    -rwxr-xr-x 1 root root 24780 Jun 3 13:45 more*
    -rwxr-xr-x 1 root root 154980 Jun 3 13:45 pal2rgb*
    -rwxr-xr-x 1 root root 27920 Jun 3 13:46 passwd*
    -rwxr-xr-x 1 root root 4241 Jun 3 13:45 pl2pm*
    -rwxr-xr-x 1 root root 2350 Jun 3 13:45 pod2html*
    -rwxr-xr-x 1 root root 7875 Jun 3 13:45 pod2latex*
    -rwxr-xr-x 1 root root 17587 Jun 3 13:45 pod2man*
    -rwxr-xr-x 1 root root 6877 Jun 3 13:45 pod2text*
    -rwxr-xr-x 1 root root 3300 Jun 3 13:45 pod2usage*
    -rwxr-xr-x 1 root root 3341 Jun 3 13:45 podchecker*
    -rwxr-xr-x 1 root root 2483 Jun 3 13:45 podselect*
    -r-xr-xr-x 1 root root 82412 Jun 4 11:46 ps*
    -rwxr-xr-x 1 root root 36365 Jun 3 13:45 pstruct*
    -rwxr-xr-x 1 root root 7120 Jun 3 13:45 pwd*
    -rwxr-xr-x 1 root root 179884 Jun 3 13:45 rgb2ycbcr*
    -rwxr-xr-x 1 root root 20532 Jun 3 13:45 rm*
    -rwxr-xr-x 1 root root 6720 Jun 4 10:15 rmdir*
    -rwxr-xr-x 1 root root 14705 Jun 3 13:45 s2p*
    -rwxr-xr-x 1 root root 28764 Jun 3 13:46 scp*
    -rwxr-xr-x 1 root root 385000 Jun 3 13:45 sendfax*
    -rwxr-xr-x 1 root root 67548 Jun 3 13:45 sendpage*
    -rwxr-xr-x 1 root root 88632 Jun 3 13:46 sftp*
    -rwxr-xr-x 1 root root 387764 Jun 3 13:45 sh*
    -rws--x--x 1 root root 744500 Jun 3 13:46 slogin*
    -rwxr-xr-x 1 root root 14523 Jun 3 13:46 splain*
    -rws--x--x 1 root root 744500 Jun 3 13:46 ssh*
    -rwxr-xr-x 1 root root 570960 Jun 3 13:46 ssh-add*
    -rwxr-xr-x 1 root root 502952 Jun 3 13:46 ssh-agent*
    -rwxr-xr-x 1 root root 575740 Jun 3 13:46 ssh-keygen*
    -rwxr-xr-x 1 root root 383480 Jun 3 13:46 ssh-keyscan*
    -rwxr-xr-x 1 root root 39 Jun 3 13:46 ssh_europa*
    -rwxr-xr-x 1 root root 107252 Jun 4 10:14 strace*
    -rwxr-xr-x 1 root root 8323 Jun 4 10:14 strace-graph*
    -rwxr-xr-x 1 root root 158088 Jun 3 13:46 thumbnail*
    -rwxr-xr-x 1 root root 6312 Jun 3 13:46 tty*
    -rwxr-xr-x 1 root root 55904 Jun 4 11:46 useradd*
    -rwxr-xr-x 1 root root 585656 Jun 4 11:47 vi*
    -rwxr-xr-x 1 root root 6444 Jun 4 11:45 whoami*
    ./dev:
    total 8
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    crw-r--r-- 1 root root 1, 9 Jun 3 13:43 urandom
    ./etc:
    total 208
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rw------- 1 root root 0 Jun 4 11:46 .pwd.lock
    -rw-r--r-- 1 root root 653 Jun 3 13:46 group
    -rw-r--r-- 1 root root 242 Jun 4 11:33 host.conf
    -rw-r--r-- 1 root root 857 Jun 4 12:04 hosts
    -rw-r--r-- 1 root root 1050 Jun 4 11:29 ld.so.cache
    -rw-r--r-- 1 root root 304 Jun 4 11:28 ld.so.conf
    -rw-r--r-- 1 root root 235 Jun 4 11:27 ld.so.conf~
    -rw-r--r-- 1 root root 88039 Jun 3 13:46 moduli
    -rw-r--r-- 1 root root 1342 Jun 4 11:34 nsswitch.conf
    drwxr-xr-x 2 root root 4096 Jun 4 12:02 pam.d/
    -rw-r--r-- 1 root root 28 Jun 4 12:00 pam_smb.conf
    -rw-r--r-- 1 root root 2520 Jun 4 11:57 passwd
    -rw-r--r-- 1 root root 7228 Jun 3 13:48 profile
    -rw-r--r-- 1 root root 1339 Jun 4 11:33 protocols
    -rw-r--r-- 1 root root 274 Jun 4 11:44 resolv.conf
    drwxr-xr-x 2 root root 4096 Jun 3 13:43 security/
    -rw-r----- 1 root root 1178 Jun 4 11:51 shadow
    -rw------- 1 root root 80 Jun 4 11:45 shadow-
    -rw-r----- 1 root root 1178 Jun 4 11:48 shadow.old
    -rw-r--r-- 1 root root 161 Jun 3 13:46 shells
    -rw-r--r-- 1 root root 1144 Jun 3 13:46 ssh_config
    -rw------- 1 root root 668 Jun 3 13:46 ssh_host_dsa_key
    -rw-r--r-- 1 root root 602 Jun 3 13:46 ssh_host_dsa_key.pub
    -rw------- 1 root root 527 Jun 3 13:46 ssh_host_key
    -rw-r--r-- 1 root root 331 Jun 3 13:46 ssh_host_key.pub
    -rw------- 1 root root 883 Jun 3 13:46 ssh_host_rsa_key
    -rw-r--r-- 1 root root 222 Jun 3 13:46 ssh_host_rsa_key.pub
    -rw-r--r-- 1 root root 2471 Jun 4 12:15 sshd_config
    ./etc/pam.d:
    total 24
    drwxr-xr-x 2 root root 4096 Jun 4 12:02 ./
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 ../
    lrwxrwxrwx 1 root root 4 Jun 4 12:02 other -&gt; sshd
    -rw-r--r-- 1 root root 318 Jun 3 13:46 passwd
    -rw-r--r-- 1 root root 546 Jun 4 11:36 ssh
    -rw-r--r-- 1 root root 479 Jun 4 12:02 sshd
    -rw-r--r-- 1 root root 370 Jun 3 13:46 su
    ./etc/security:
    total 32
    drwxr-xr-x 2 root root 4096 Jun 3 13:43 ./
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 ../
    -rw-r--r-- 1 root root 1971 Jun 3 13:46 access.conf
    -rw-r--r-- 1 root root 184 Jun 3 13:46 chroot.conf
    -rw-r--r-- 1 root root 2145 Jun 3 13:46 group.conf
    -rw-r--r-- 1 root root 1356 Jun 3 13:46 limits.conf
    -rw-r--r-- 1 root root 2858 Jun 3 13:46 pam_env.conf
    -rw-r--r-- 1 root root 2154 Jun 3 13:46 time.conf
    ./lib:
    total 8316
    drwxr-xr-x 3 root root 4096 Jun 4 12:13 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rw-r--r-- 1 root root 1024 Jun 4 11:51 cracklib_dict.hwm
    -rw-r--r-- 1 root root 214324 Jun 4 11:51 cracklib_dict.pwd
    -rw-r--r-- 1 root root 11360 Jun 4 11:51 cracklib_dict.pwi
    -rwxr-xr-x 1 root root 342427 Jun 3 13:46 ld-linux.so.2*
    -rwxr-xr-x 1 root root 4061504 Jun 3 13:46 libc.so.6*
    lrwxrwxrwx 1 root root 15 Jun 4 12:11 libcrack.so -&gt; libcrack.so.2.7*
    lrwxrwxrwx 1 root root 15 Jun 4 12:11 libcrack.so.2 -&gt; libcrack.so.2.7*
    -rwxr-xr-x 1 root root 33291 Jun 4 11:39 libcrack.so.2.7*
    -rwxr-xr-x 1 root root 60988 Jun 3 13:46 libcrypt.so.1*
    -rwxr-xr-x 1 root root 71846 Jun 3 13:46 libdl.so.2*
    -rwxr-xr-x 1 root root 27762 Jun 3 13:46 libhistory.so.4.0*
    lrwxrwxrwx 1 root root 17 Jun 4 12:12 libncurses.so.4 -&gt; libncurses.so.4.2*
    -rwxr-xr-x 1 root root 503903 Jun 3 13:46 libncurses.so.4.2*
    lrwxrwxrwx 1 root root 17 Jun 4 12:12 libncurses.so.5 -&gt; libncurses.so.5.0*
    -rwxr-xr-x 1 root root 549429 Jun 3 13:46 libncurses.so.5.0*
    -rwxr-xr-x 1 root root 369801 Jun 3 13:46 libnsl.so.1*
    -rwxr-xr-x 1 root root 142563 Jun 4 11:49 libnss_compat.so.1*
    -rwxr-xr-x 1 root root 215569 Jun 4 11:49 libnss_compat.so.2*
    -rwxr-xr-x 1 root root 61648 Jun 4 11:34 libnss_dns.so.1*
    -rwxr-xr-x 1 root root 63453 Jun 4 11:34 libnss_dns.so.2*
    -rwxr-xr-x 1 root root 63782 Jun 4 11:34 libnss_dns6.so.2*
    -rwxr-xr-x 1 root root 205715 Jun 3 13:46 libnss_files.so.1*
    -rwxr-xr-x 1 root root 235932 Jun 3 13:49 libnss_files.so.2*
    -rwxr-xr-x 1 root root 204383 Jun 4 11:33 libnss_nis.so.1*
    -rwxr-xr-x 1 root root 254023 Jun 4 11:33 libnss_nis.so.2*
    -rwxr-xr-x 1 root root 256465 Jun 4 11:33 libnss_nisplus.so.2*
    lrwxrwxrwx 1 root root 14 Jun 4 12:12 libpam.so.0 -&gt; libpam.so.0.72*
    -rwxr-xr-x 1 root root 31449 Jun 3 13:46 libpam.so.0.72*
    lrwxrwxrwx 1 root root 19 Jun 4 12:12 libpam_misc.so.0 -&gt;
    libpam_misc.so.0.72*
    -rwxr-xr-x 1 root root 8125 Jun 3 13:46 libpam_misc.so.0.72*
    lrwxrwxrwx 1 root root 15 Jun 4 12:12 libpamc.so.0 -&gt; libpamc.so.0.72*
    -rwxr-xr-x 1 root root 10499 Jun 3 13:46 libpamc.so.0.72*
    -rwxr-xr-x 1 root root 176427 Jun 3 13:46 libreadline.so.4.0*
    -rwxr-xr-x 1 root root 44729 Jun 3 13:46 libutil.so.1*
    -rwxr-xr-x 1 root root 70254 Jun 3 13:46 libz.a*
    lrwxrwxrwx 1 root root 13 Jun 4 12:13 libz.so -&gt; libz.so.1.1.3*
    lrwxrwxrwx 1 root root 13 Jun 4 12:13 libz.so.1 -&gt; libz.so.1.1.3*
    -rwxr-xr-x 1 root root 63312 Jun 3 13:46 libz.so.1.1.3*
    drwxr-xr-x 2 root root 4096 Jun 4 12:00 security/
    ./lib/security:
    total 668
    drwxr-xr-x 2 root root 4096 Jun 4 12:00 ./
    drwxr-xr-x 3 root root 4096 Jun 4 12:13 ../
    -rwxr-xr-x 1 root root 10067 Jun 3 13:46 pam_access.so*
    -rwxr-xr-x 1 root root 8300 Jun 3 13:46 pam_chroot.so*
    -rwxr-xr-x 1 root root 14397 Jun 3 13:46 pam_cracklib.so*
    -rwxr-xr-x 1 root root 5082 Jun 3 13:46 pam_deny.so*
    -rwxr-xr-x 1 root root 13153 Jun 3 13:46 pam_env.so*
    -rwxr-xr-x 1 root root 13371 Jun 3 13:46 pam_filter.so*
    -rwxr-xr-x 1 root root 7957 Jun 3 13:46 pam_ftp.so*
    -rwxr-xr-x 1 root root 12771 Jun 3 13:46 pam_group.so*
    -rwxr-xr-x 1 root root 10174 Jun 3 13:46 pam_issue.so*
    -rwxr-xr-x 1 root root 9774 Jun 3 13:46 pam_lastlog.so*
    -rwxr-xr-x 1 root root 13591 Jun 3 13:46 pam_limits.so*
    -rwxr-xr-x 1 root root 11268 Jun 3 13:46 pam_listfile.so*
    -rwxr-xr-x 1 root root 11182 Jun 3 13:46 pam_mail.so*
    -rwxr-xr-x 1 root root 5923 Jun 3 13:46 pam_nologin.so*
    -rwxr-xr-x 1 root root 5460 Jun 3 13:46 pam_permit.so*
    -rwxr-xr-x 1 root root 18226 Jun 3 13:46 pam_pwcheck.so*
    -rwxr-xr-x 1 root root 12590 Jun 3 13:46 pam_rhosts_auth.so*
    -rwxr-xr-x 1 root root 5551 Jun 3 13:46 pam_rootok.so*
    -rwxr-xr-x 1 root root 7239 Jun 3 13:46 pam_securetty.so*
    -rwxr-xr-x 1 root root 6551 Jun 3 13:46 pam_shells.so*
    -rwxr-xr-x 1 root root 55925 Jun 4 12:00 pam_smb_auth.so*
    -rwxr-xr-x 1 root root 12678 Jun 3 13:46 pam_stress.so*
    -rwxr-xr-x 1 root root 11170 Jun 3 13:46 pam_tally.so*
    -rwxr-xr-x 1 root root 11124 Jun 3 13:46 pam_time.so*
    -rwxr-xr-x 1 root root 45703 Jun 3 13:46 pam_unix.so*
    -rwxr-xr-x 1 root root 45703 Jun 3 13:46 pam_unix2.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_acct.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_auth.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_passwd.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_session.so*
    -rwxr-xr-x 1 root root 9726 Jun 3 13:46 pam_userdb.so*
    -rwxr-xr-x 1 root root 6424 Jun 3 13:46 pam_warn.so*
    -rwxr-xr-x 1 root root 7460 Jun 3 13:46 pam_wheel.so*
    ./sbin:
    total 3132
    drwxr-xr-x 2 root root 4096 Jun 4 12:35 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rwxr-xr-x 1 root root 178256 Jun 3 13:46 choptest*
    -rwxr-xr-x 1 root root 184032 Jun 3 13:46 cqtest*
    -rwxr-xr-x 1 root root 81096 Jun 3 13:46 dialtest*
    -rwxr-xr-x 1 root root 1142128 Jun 4 11:28 ldconfig*
    -rwxr-xr-x 1 root root 2868 Jun 3 13:46 lockname*
    -rwxr-xr-x 1 root root 3340 Jun 3 13:46 ondelay*
    -rwxr-xr-x 1 root root 376796 Jun 3 13:46 pagesend*
    -rwxr-xr-x 1 root root 13950 Jun 3 13:46 probemodem*
    -rwxr-xr-x 1 root root 9234 Jun 3 13:46 recvstats*
    -rwxr-xr-x 1 root root 64480 Jun 3 13:46 sftp-server*
    -rwxr-xr-x 1 root root 744412 Jun 3 13:46 sshd*
    -rwxr-xr-x 1 root root 30750 Jun 4 11:46 su*
    -rwxr-xr-x 1 root root 194632 Jun 3 13:46 tagtest*
    -rwxr-xr-x 1 root root 69892 Jun 3 13:46 tsitest*
    -rwxr-xr-x 1 root root 43792 Jun 3 13:46 typetest*
    ./tmp:
    total 8
    drwxr-xr-x 2 root root 4096 Jun 4 12:32 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    ./usr:
    total 8
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    lrwxrwxrwx 1 root root 7 Jun 4 12:14 bin -&gt; ../bin//
    lrwxrwxrwx 1 root root 7 Jun 4 11:33 lib -&gt; ../lib//
    lrwxrwxrwx 1 root root 8 Jun 4 12:13 sbin -&gt; ../sbin//
fr: 
    total 36
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ./
    drwxr-xr-x 11 root root 4096 Jun 3 13:43 ../
    drwxr-xr-x 2 root root 4096 Jun 4 12:13 bin/
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 dev/
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 etc/
    drwxr-xr-x 3 root root 4096 Jun 4 12:13 lib/
    drwxr-xr-x 2 root root 4096 Jun 4 12:35 sbin/
    drwxr-xr-x 2 root root 4096 Jun 4 12:32 tmp/
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 usr/
    ./bin:
    total 8368
    drwxr-xr-x 2 root root 4096 Jun 4 12:13 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rwxr-xr-x 1 root root 109855 Jun 3 13:45 a2p*
    -rwxr-xr-x 1 root root 387764 Jun 3 13:45 bash*
    -rwxr-xr-x 1 root root 36365 Jun 3 13:45 c2ph*
    -rwxr-xr-x 1 root root 20629 Jun 3 13:45 dprofpp*
    -rwxr-xr-x 1 root root 6956 Jun 3 13:46 env*
    -rwxr-xr-x 1 root root 158116 Jun 3 13:45 fax2ps*
    -rwxr-xr-x 1 root root 104008 Jun 3 13:45 faxalter*
    -rwxr-xr-x 1 root root 89340 Jun 3 13:45 faxcover*
    -rwxr-xr-x 1 root root 441584 Jun 3 13:45 faxmail*
    -rwxr-xr-x 1 root root 96036 Jun 3 13:45 faxrm*
    -rwxr-xr-x 1 root root 107000 Jun 3 13:45 faxstat*
    -rwxr-xr-x 1 root root 77832 Jun 4 11:46 grep*
    -rwxr-xr-x 1 root root 19597 Jun 3 13:45 h2ph*
    -rwxr-xr-x 1 root root 46979 Jun 3 13:45 h2xs*
    -rwxr-xr-x 1 root root 10420 Jun 3 13:46 id*
    -rwxr-xr-x 1 root root 4528 Jun 3 13:46 ldd*
    -rwxr-xr-x 1 root root 111386 Jun 4 11:46 less*
    -r-xr-xr-x 1 root root 26168 Jun 3 13:45 login*
    -rwxr-xr-x 1 root root 49164 Jun 3 13:45 ls*
    -rwxr-xr-x 1 root root 11600 Jun 3 13:45 mkdir*
    -rwxr-xr-x 1 root root 24780 Jun 3 13:45 more*
    -rwxr-xr-x 1 root root 154980 Jun 3 13:45 pal2rgb*
    -rwxr-xr-x 1 root root 27920 Jun 3 13:46 passwd*
    -rwxr-xr-x 1 root root 4241 Jun 3 13:45 pl2pm*
    -rwxr-xr-x 1 root root 2350 Jun 3 13:45 pod2html*
    -rwxr-xr-x 1 root root 7875 Jun 3 13:45 pod2latex*
    -rwxr-xr-x 1 root root 17587 Jun 3 13:45 pod2man*
    -rwxr-xr-x 1 root root 6877 Jun 3 13:45 pod2text*
    -rwxr-xr-x 1 root root 3300 Jun 3 13:45 pod2usage*
    -rwxr-xr-x 1 root root 3341 Jun 3 13:45 podchecker*
    -rwxr-xr-x 1 root root 2483 Jun 3 13:45 podselect*
    -r-xr-xr-x 1 root root 82412 Jun 4 11:46 ps*
    -rwxr-xr-x 1 root root 36365 Jun 3 13:45 pstruct*
    -rwxr-xr-x 1 root root 7120 Jun 3 13:45 pwd*
    -rwxr-xr-x 1 root root 179884 Jun 3 13:45 rgb2ycbcr*
    -rwxr-xr-x 1 root root 20532 Jun 3 13:45 rm*
    -rwxr-xr-x 1 root root 6720 Jun 4 10:15 rmdir*
    -rwxr-xr-x 1 root root 14705 Jun 3 13:45 s2p*
    -rwxr-xr-x 1 root root 28764 Jun 3 13:46 scp*
    -rwxr-xr-x 1 root root 385000 Jun 3 13:45 sendfax*
    -rwxr-xr-x 1 root root 67548 Jun 3 13:45 sendpage*
    -rwxr-xr-x 1 root root 88632 Jun 3 13:46 sftp*
    -rwxr-xr-x 1 root root 387764 Jun 3 13:45 sh*
    -rws--x--x 1 root root 744500 Jun 3 13:46 slogin*
    -rwxr-xr-x 1 root root 14523 Jun 3 13:46 splain*
    -rws--x--x 1 root root 744500 Jun 3 13:46 ssh*
    -rwxr-xr-x 1 root root 570960 Jun 3 13:46 ssh-add*
    -rwxr-xr-x 1 root root 502952 Jun 3 13:46 ssh-agent*
    -rwxr-xr-x 1 root root 575740 Jun 3 13:46 ssh-keygen*
    -rwxr-xr-x 1 root root 383480 Jun 3 13:46 ssh-keyscan*
    -rwxr-xr-x 1 root root 39 Jun 3 13:46 ssh_europa*
    -rwxr-xr-x 1 root root 107252 Jun 4 10:14 strace*
    -rwxr-xr-x 1 root root 8323 Jun 4 10:14 strace-graph*
    -rwxr-xr-x 1 root root 158088 Jun 3 13:46 thumbnail*
    -rwxr-xr-x 1 root root 6312 Jun 3 13:46 tty*
    -rwxr-xr-x 1 root root 55904 Jun 4 11:46 useradd*
    -rwxr-xr-x 1 root root 585656 Jun 4 11:47 vi*
    -rwxr-xr-x 1 root root 6444 Jun 4 11:45 whoami*
    ./dev:
    total 8
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    crw-r--r-- 1 root root 1, 9 Jun 3 13:43 urandom
    ./etc:
    total 208
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rw------- 1 root root 0 Jun 4 11:46 .pwd.lock
    -rw-r--r-- 1 root root 653 Jun 3 13:46 group
    -rw-r--r-- 1 root root 242 Jun 4 11:33 host.conf
    -rw-r--r-- 1 root root 857 Jun 4 12:04 hosts
    -rw-r--r-- 1 root root 1050 Jun 4 11:29 ld.so.cache
    -rw-r--r-- 1 root root 304 Jun 4 11:28 ld.so.conf
    -rw-r--r-- 1 root root 235 Jun 4 11:27 ld.so.conf~
    -rw-r--r-- 1 root root 88039 Jun 3 13:46 moduli
    -rw-r--r-- 1 root root 1342 Jun 4 11:34 nsswitch.conf
    drwxr-xr-x 2 root root 4096 Jun 4 12:02 pam.d/
    -rw-r--r-- 1 root root 28 Jun 4 12:00 pam_smb.conf
    -rw-r--r-- 1 root root 2520 Jun 4 11:57 passwd
    -rw-r--r-- 1 root root 7228 Jun 3 13:48 profile
    -rw-r--r-- 1 root root 1339 Jun 4 11:33 protocols
    -rw-r--r-- 1 root root 274 Jun 4 11:44 resolv.conf
    drwxr-xr-x 2 root root 4096 Jun 3 13:43 security/
    -rw-r----- 1 root root 1178 Jun 4 11:51 shadow
    -rw------- 1 root root 80 Jun 4 11:45 shadow-
    -rw-r----- 1 root root 1178 Jun 4 11:48 shadow.old
    -rw-r--r-- 1 root root 161 Jun 3 13:46 shells
    -rw-r--r-- 1 root root 1144 Jun 3 13:46 ssh_config
    -rw------- 1 root root 668 Jun 3 13:46 ssh_host_dsa_key
    -rw-r--r-- 1 root root 602 Jun 3 13:46 ssh_host_dsa_key.pub
    -rw------- 1 root root 527 Jun 3 13:46 ssh_host_key
    -rw-r--r-- 1 root root 331 Jun 3 13:46 ssh_host_key.pub
    -rw------- 1 root root 883 Jun 3 13:46 ssh_host_rsa_key
    -rw-r--r-- 1 root root 222 Jun 3 13:46 ssh_host_rsa_key.pub
    -rw-r--r-- 1 root root 2471 Jun 4 12:15 sshd_config
    ./etc/pam.d:
    total 24
    drwxr-xr-x 2 root root 4096 Jun 4 12:02 ./
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 ../
    lrwxrwxrwx 1 root root 4 Jun 4 12:02 other -> sshd
    -rw-r--r-- 1 root root 318 Jun 3 13:46 passwd
    -rw-r--r-- 1 root root 546 Jun 4 11:36 ssh
    -rw-r--r-- 1 root root 479 Jun 4 12:02 sshd
    -rw-r--r-- 1 root root 370 Jun 3 13:46 su
    ./etc/security:
    total 32
    drwxr-xr-x 2 root root 4096 Jun 3 13:43 ./
    drwxr-xr-x 4 root root 4096 Jun 4 12:35 ../
    -rw-r--r-- 1 root root 1971 Jun 3 13:46 access.conf
    -rw-r--r-- 1 root root 184 Jun 3 13:46 chroot.conf
    -rw-r--r-- 1 root root 2145 Jun 3 13:46 group.conf
    -rw-r--r-- 1 root root 1356 Jun 3 13:46 limits.conf
    -rw-r--r-- 1 root root 2858 Jun 3 13:46 pam_env.conf
    -rw-r--r-- 1 root root 2154 Jun 3 13:46 time.conf
    ./lib:
    total 8316
    drwxr-xr-x 3 root root 4096 Jun 4 12:13 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rw-r--r-- 1 root root 1024 Jun 4 11:51 cracklib_dict.hwm
    -rw-r--r-- 1 root root 214324 Jun 4 11:51 cracklib_dict.pwd
    -rw-r--r-- 1 root root 11360 Jun 4 11:51 cracklib_dict.pwi
    -rwxr-xr-x 1 root root 342427 Jun 3 13:46 ld-linux.so.2*
    -rwxr-xr-x 1 root root 4061504 Jun 3 13:46 libc.so.6*
    lrwxrwxrwx 1 root root 15 Jun 4 12:11 libcrack.so -> libcrack.so.2.7*
    lrwxrwxrwx 1 root root 15 Jun 4 12:11 libcrack.so.2 -> libcrack.so.2.7*
    -rwxr-xr-x 1 root root 33291 Jun 4 11:39 libcrack.so.2.7*
    -rwxr-xr-x 1 root root 60988 Jun 3 13:46 libcrypt.so.1*
    -rwxr-xr-x 1 root root 71846 Jun 3 13:46 libdl.so.2*
    -rwxr-xr-x 1 root root 27762 Jun 3 13:46 libhistory.so.4.0*
    lrwxrwxrwx 1 root root 17 Jun 4 12:12 libncurses.so.4 -> libncurses.so.4.2*
    -rwxr-xr-x 1 root root 503903 Jun 3 13:46 libncurses.so.4.2*
    lrwxrwxrwx 1 root root 17 Jun 4 12:12 libncurses.so.5 -> libncurses.so.5.0*
    -rwxr-xr-x 1 root root 549429 Jun 3 13:46 libncurses.so.5.0*
    -rwxr-xr-x 1 root root 369801 Jun 3 13:46 libnsl.so.1*
    -rwxr-xr-x 1 root root 142563 Jun 4 11:49 libnss_compat.so.1*
    -rwxr-xr-x 1 root root 215569 Jun 4 11:49 libnss_compat.so.2*
    -rwxr-xr-x 1 root root 61648 Jun 4 11:34 libnss_dns.so.1*
    -rwxr-xr-x 1 root root 63453 Jun 4 11:34 libnss_dns.so.2*
    -rwxr-xr-x 1 root root 63782 Jun 4 11:34 libnss_dns6.so.2*
    -rwxr-xr-x 1 root root 205715 Jun 3 13:46 libnss_files.so.1*
    -rwxr-xr-x 1 root root 235932 Jun 3 13:49 libnss_files.so.2*
    -rwxr-xr-x 1 root root 204383 Jun 4 11:33 libnss_nis.so.1*
    -rwxr-xr-x 1 root root 254023 Jun 4 11:33 libnss_nis.so.2*
    -rwxr-xr-x 1 root root 256465 Jun 4 11:33 libnss_nisplus.so.2*
    lrwxrwxrwx 1 root root 14 Jun 4 12:12 libpam.so.0 -> libpam.so.0.72*
    -rwxr-xr-x 1 root root 31449 Jun 3 13:46 libpam.so.0.72*
    lrwxrwxrwx 1 root root 19 Jun 4 12:12 libpam_misc.so.0 ->
    libpam_misc.so.0.72*
    -rwxr-xr-x 1 root root 8125 Jun 3 13:46 libpam_misc.so.0.72*
    lrwxrwxrwx 1 root root 15 Jun 4 12:12 libpamc.so.0 -> libpamc.so.0.72*
    -rwxr-xr-x 1 root root 10499 Jun 3 13:46 libpamc.so.0.72*
    -rwxr-xr-x 1 root root 176427 Jun 3 13:46 libreadline.so.4.0*
    -rwxr-xr-x 1 root root 44729 Jun 3 13:46 libutil.so.1*
    -rwxr-xr-x 1 root root 70254 Jun 3 13:46 libz.a*
    lrwxrwxrwx 1 root root 13 Jun 4 12:13 libz.so -> libz.so.1.1.3*
    lrwxrwxrwx 1 root root 13 Jun 4 12:13 libz.so.1 -> libz.so.1.1.3*
    -rwxr-xr-x 1 root root 63312 Jun 3 13:46 libz.so.1.1.3*
    drwxr-xr-x 2 root root 4096 Jun 4 12:00 security/
    ./lib/security:
    total 668
    drwxr-xr-x 2 root root 4096 Jun 4 12:00 ./
    drwxr-xr-x 3 root root 4096 Jun 4 12:13 ../
    -rwxr-xr-x 1 root root 10067 Jun 3 13:46 pam_access.so*
    -rwxr-xr-x 1 root root 8300 Jun 3 13:46 pam_chroot.so*
    -rwxr-xr-x 1 root root 14397 Jun 3 13:46 pam_cracklib.so*
    -rwxr-xr-x 1 root root 5082 Jun 3 13:46 pam_deny.so*
    -rwxr-xr-x 1 root root 13153 Jun 3 13:46 pam_env.so*
    -rwxr-xr-x 1 root root 13371 Jun 3 13:46 pam_filter.so*
    -rwxr-xr-x 1 root root 7957 Jun 3 13:46 pam_ftp.so*
    -rwxr-xr-x 1 root root 12771 Jun 3 13:46 pam_group.so*
    -rwxr-xr-x 1 root root 10174 Jun 3 13:46 pam_issue.so*
    -rwxr-xr-x 1 root root 9774 Jun 3 13:46 pam_lastlog.so*
    -rwxr-xr-x 1 root root 13591 Jun 3 13:46 pam_limits.so*
    -rwxr-xr-x 1 root root 11268 Jun 3 13:46 pam_listfile.so*
    -rwxr-xr-x 1 root root 11182 Jun 3 13:46 pam_mail.so*
    -rwxr-xr-x 1 root root 5923 Jun 3 13:46 pam_nologin.so*
    -rwxr-xr-x 1 root root 5460 Jun 3 13:46 pam_permit.so*
    -rwxr-xr-x 1 root root 18226 Jun 3 13:46 pam_pwcheck.so*
    -rwxr-xr-x 1 root root 12590 Jun 3 13:46 pam_rhosts_auth.so*
    -rwxr-xr-x 1 root root 5551 Jun 3 13:46 pam_rootok.so*
    -rwxr-xr-x 1 root root 7239 Jun 3 13:46 pam_securetty.so*
    -rwxr-xr-x 1 root root 6551 Jun 3 13:46 pam_shells.so*
    -rwxr-xr-x 1 root root 55925 Jun 4 12:00 pam_smb_auth.so*
    -rwxr-xr-x 1 root root 12678 Jun 3 13:46 pam_stress.so*
    -rwxr-xr-x 1 root root 11170 Jun 3 13:46 pam_tally.so*
    -rwxr-xr-x 1 root root 11124 Jun 3 13:46 pam_time.so*
    -rwxr-xr-x 1 root root 45703 Jun 3 13:46 pam_unix.so*
    -rwxr-xr-x 1 root root 45703 Jun 3 13:46 pam_unix2.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_acct.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_auth.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_passwd.so*
    -rwxr-xr-x 1 root root 45386 Jun 3 13:46 pam_unix_session.so*
    -rwxr-xr-x 1 root root 9726 Jun 3 13:46 pam_userdb.so*
    -rwxr-xr-x 1 root root 6424 Jun 3 13:46 pam_warn.so*
    -rwxr-xr-x 1 root root 7460 Jun 3 13:46 pam_wheel.so*
    ./sbin:
    total 3132
    drwxr-xr-x 2 root root 4096 Jun 4 12:35 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    -rwxr-xr-x 1 root root 178256 Jun 3 13:46 choptest*
    -rwxr-xr-x 1 root root 184032 Jun 3 13:46 cqtest*
    -rwxr-xr-x 1 root root 81096 Jun 3 13:46 dialtest*
    -rwxr-xr-x 1 root root 1142128 Jun 4 11:28 ldconfig*
    -rwxr-xr-x 1 root root 2868 Jun 3 13:46 lockname*
    -rwxr-xr-x 1 root root 3340 Jun 3 13:46 ondelay*
    -rwxr-xr-x 1 root root 376796 Jun 3 13:46 pagesend*
    -rwxr-xr-x 1 root root 13950 Jun 3 13:46 probemodem*
    -rwxr-xr-x 1 root root 9234 Jun 3 13:46 recvstats*
    -rwxr-xr-x 1 root root 64480 Jun 3 13:46 sftp-server*
    -rwxr-xr-x 1 root root 744412 Jun 3 13:46 sshd*
    -rwxr-xr-x 1 root root 30750 Jun 4 11:46 su*
    -rwxr-xr-x 1 root root 194632 Jun 3 13:46 tagtest*
    -rwxr-xr-x 1 root root 69892 Jun 3 13:46 tsitest*
    -rwxr-xr-x 1 root root 43792 Jun 3 13:46 typetest*
    ./tmp:
    total 8
    drwxr-xr-x 2 root root 4096 Jun 4 12:32 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    ./usr:
    total 8
    drwxr-xr-x 2 root root 4096 Jun 4 12:16 ./
    drwxr-xr-x 9 root root 4096 Jun 5 10:05 ../
    lrwxrwxrwx 1 root root 7 Jun 4 12:14 bin -> ../bin//
    lrwxrwxrwx 1 root root 7 Jun 4 11:33 lib -> ../lib//
    lrwxrwxrwx 1 root root 8 Jun 4 12:13 sbin -> ../sbin//

en: Chroot environment for <application>Apache</application>
fr: Environnement de chroot pour <application>Apache</application>

en: The <command>chroot</command> utility is often used to jail a daemon in a restricted tree. You can use it to insulate services from one another, so that security issues in a software package do not jeopardize the whole server. When using the <command>makejail</command> script, setting up and updating the chrooted tree is much easier.
fr: L'utilitaire <command>chroot</command> est souvent utilisé pour emprisonner un démon dans une arborescence restreint. Vous pouvez l'utiliser pour isoler des services d'autres services, pour que les problèmes de sécurité d'un paquet logiciel ne mettent pas en péril le serveur tout entier. Quand vous utiliser le script <command>makejail</command>, mettre en place et mettre à jour l'arborescence chrooté est beaucoup plus facile.

en: FIXME: Apache can also be chrooted using <ulink url="http://www.modsecurity.org" /> which is available in <package>libapache-mod-security</package> (for Apache 1.x) and <package>libapache2-mod-security</package> (for Apache 2.x).
fr: FIXME : Apache peut aussi être chrooté en utilisant <ulink url="http://www.modsecurity.org" /> qui est disponible dans <application>libapache-mod-security</application> (pour Apache 1.x) et <application>libapache2-mod-security</application> (pour Apache 2.x).

en: Licensing
fr: Licence

en: Installing the server
fr: Installer le serveur

en: This procedure was tested on Debian GNU/Linux 3.0 (Woody) with <command>makejail</command> 0.0.4-1 (in Debian/testing).
fr: Cette procédure a été testée sur Debian GNU/Linux&nbsp;3.0 (Woody) avec <command>makejail</command> 0.0.4-1 (de Debian/testing).

en: Log in as <command>root</command> and create a new jail directory:
fr: Connectez-vous en tant que <command>root</command> et créez le nouveau répertoire prison&nbsp;:

en: Create a new user and a new group. The chrooted Apache server will run as this user/group, which isn't used for anything else on the system. In this example, both user and group are called <command>chrapach</command>.
fr: Créez un nouvel utilisateur et un nouveau groupe. Le serveur Apache chrooté fonctionnera sous cet utilisateur et groupe, qui n'est utilisé pour rien d'autre sur le système. Dans cet exemple, l'utilisateur et le groupe sont appelés <command>chrapach</command>.

en: FIXME: is a new user needed? (Apache already runs as the apache user)
fr: FIXME : Est-ce qu'un nouvel utilisateur est nécessaire&nbsp;? (Apache fonctionne déjà sous l'utilisateur apache)

en: Install Apache as usual on Debian: <literal>apt-get install apache</literal>
fr: Installez Apache comme d'habitude sous Debian&nbsp;: <literal>apt-get install apache</literal>

en: Set up Apache (e.g. define your subdomains, etc.). In the <filename>/etc/apache/httpd.conf</filename> configuration file, set the <emphasis>Group</emphasis> and <emphasis>User</emphasis> options to <literal>chrapach</literal>. Restart Apache and make sure the server is working correctly. Now, stop the Apache daemon.
fr: Configurez Apache (par exemple définissez les sous-domaines, etc.). Dans le fichier de configuration <filename>/etc/apache/httpd.conf</filename>, positionnez les options <emphasis>Group</emphasis> et <emphasis>User</emphasis> à <literal>chrapach</literal>. Redémarrez Apache et assurez-vous que le serveur fonctionne correctement. Maintenant, stoppez le démon Apache.

en: Install <command>makejail</command> (available in Debian/testing for now). You should also install <command>wget</command> and <command>lynx</command> as they will be used by <command>makejail</command> to test the chrooted server: <literal>apt-get install makejail wget lynx</literal>
fr: Installez <command>makejail</command> (disponible dans Debian/testing actuellement). Vous devriez également installer <command>wget</command> et <command>lynx</command> car ils sont utilisés par <command>makejail</command> pour tester le serveur chrooté&nbsp;: <literal>apt-get install makejail wget lynx</literal>

en: Copy the sample configuration file for Apache to the <filename>/etc/makejail</filename> directory:
fr: Copiez le fichier de configuration exemple pour Apache dans le répertoire <filename>/etc/makejail</filename>&nbsp;:

en: Edit <filename>/etc/makejail/apache.py</filename>. You need to change the <emphasis>chroot</emphasis>, <emphasis>users</emphasis> and <emphasis>groups</emphasis> options. To run this version of <command>makejail</command>, you can also add a <command>packages</command> option. See the <ulink name="makejail documentation" url="http://www.floc.net/makejail/current/doc/" />. A sample is shown here:
fr: Éditez <filename>/etc/makejail/apache.py</filename>. Vous devez changer les options <emphasis>chroot</emphasis>, <emphasis>users</emphasis> et <emphasis>groups</emphasis>. Pour exécuter cette version de <command>makejail</command>, vous pouvez également ajouter une option <command>packages</command>. Consultez la <ulink url="http://www.floc.net/makejail/current/doc/" name="documentation makejail" />. Un exemple est fourni ici&nbsp;:

en: <emphasis>FIXME:</emphasis> some options do not seem to work properly. For instance, <filename>/etc/shadow</filename> and <filename>/etc/gshadow</filename> are not copied, whereas <filename>/etc/password</filename> and <filename>/etc/group</filename> are fully copied instead of being filtered.
fr: <emphasis>FIXME</emphasis> : Certaines options semblent ne pas fonctionner correctement. Par exemple, <filename>/etc/shadow</filename> et <filename>/etc/gshadow</filename> ne sont pas copiés, alors que <filename>/etc/password</filename> et <filename>/etc/group</filename> sont intégralement copiés au lieu d'être filtrés.

en: Create the chroot tree: <literal>makejail /etc/makejail/apache.py</literal>
fr: Créez l'arborescence de chroot&nbsp;: <literal>makejail /etc/makejail/apache.py</literal>

en: If <filename>/etc/password</filename> and <filename>/etc/group</filename> were fully copied, type:
fr: Si les fichiers <filename>/etc/password</filename> et <filename>/etc/group</filename> ont été intégralement copiés, entrez&nbsp;:

en: to replace them with filtered copies.
fr: pour les remplacer avec des copies filtrées.

en: Copy the Web site pages and the logs into the jail. These files are not copied automatically (see the <emphasis>preserve</emphasis> option in <command>makejail</command>'s configuration file).
fr: Copiez les pages du site web et les journaux dans la prison. Ces fichiers ne sont pas copiés automatiquement (consultez l'option <emphasis>preserve</emphasis> du fichier de configuration de <command>makejail</command>).

en: Edit the startup script for the system logging daemon so that it also listen to the <filename>/var/chroot/apache/dev/log</filename> socket. In <filename>/etc/default/syslogd</filename>, replace: <literal>SYSLOGD=""</literal> with <literal>SYSLOGD=" -a /var/chroot/apache/dev/log"</literal> and restart the daemon (<literal>/etc/init.d/sysklogd restart</literal>).
fr: Éditez le script de démarrage pour le démon de journaux système pour qu'il écoute également sur la socket <filename>/var/chroot/apache/dev/log</filename>. Dans <filename>/etc/default/syslogd</filename>, remplacez&nbsp;: <literal>SYSLOGD=&quot;&quot;</literal> par <literal>SYSLOGD=&quot; -a /var/chroot/apache/dev/log&quot;</literal> et redémarrez le démon (<literal>/etc/init.d/sysklogd restart</literal>).

en: Edit the Apache startup script (<filename>/etc/init.d/apache</filename>). You might need to make some changes to the default startup script for it to run properly with a chrooted tree. Such as:
fr: Éditez le script de démarrage d'Apache (<filename>/etc/init.d/apache</filename>). Vous pouvez avoir besoin d'effectuer certaines changements au script de démarrage par défaut pour qu'il fonctionne correctement dans une arborescence chrooté. Comme&nbsp;:

en: set a new <emphasis>CHRDIR</emphasis> variable at the top of the file;
fr: configurer une nouvelle variable <emphasis>CHRDIR</emphasis> au début du fichier&nbsp;;

en: edit the <emphasis>start</emphasis>, <emphasis>stop</emphasis>, <emphasis>reload</emphasis>, etc. sections;
fr: éditer les sections <emphasis>start</emphasis>, <emphasis>stop</emphasis>, <emphasis>reload</emphasis>, etc.&nbsp;;

en: add a line to mount and unmount the <filename>/proc</filename> filesystem within the jail.
fr: ajouter une ligne pour monter et démonter le système de fichiers <filename>/proc</filename> dans la prison.

en: <emphasis>FIXME</emphasis>: should the first Apache process be run as another user than root (i.e. add --chuid chrapach:chrapach)? Cons: chrapach will need write access to the logs, which is awkward.
fr: <emphasis>FIXME</emphasis> : Est-ce que le premier processus Apache devrait être lancé avec un autre utilisateur que root (c'est-à-dire ajouter --chuid chrapach:chrapach)&nbsp;? Désavantage&nbsp;: chrapach devra avoir un accès en écriture aux journaux, ce qui est étrange.

en: Replace in <filename>/etc/logrotate.d/apache</filename> <literal>/var/log/apache/*.log</literal> with <literal>/var/chroot/apache/var/log/apache/*.log</literal>
fr: Remplacez dans <filename>/etc/logrotate.d/apache</filename> <literal>/var/log/apache/*.log</literal> par <literal>/var/chroot/apache/var/log/apache/*.log</literal>

en: Start Apache (<command>/etc/init.d/apache start</command>) and check what is it reported in the jail log (<filename>/var/chroot/apache/var/log/apache/error.log</filename>). If your setup is more complex, (e.g. if you also use PHP and MySQL), files will probably be missing. if some files are not copied automatically by <command>makejail</command>, you can list them in the <emphasis>forceCopy</emphasis> (to copy files directly) or <emphasis>packages</emphasis> (to copy full packages and their dependencies) option the <filename>/etc/makejail/apache.py</filename> configuration file.
fr: Démarrez Apache (<command>/etc/init.d/apache start</command>) et vérifiez ce qui est indiqué dans les journaux de la prison (<filename>/var/chroot/apache/var/log/apache/error.log</filename>). Si votre configuration est plus complexe (e.g. si vous utilisez également PHP et MySQL), des fichiers seront probablement manquants. Si certains fichiers ne sont pas copiés automatiquement par <command>makejail</command>, vous pouvez les indiquer dans les options <emphasis>forceCopy</emphasis> (pour copier les fichiers directement) ou <emphasis>packages</emphasis> (pour copier les paquets en entier et leurs dépendances) du fichier de configuration <filename>/etc/makejail/apache.py</filename>.

en: Type <literal>ps aux | grep apache</literal> to make sure Apache is running. You should see something like:
fr: Entrez <literal>ps aux | grep apache</literal> pour vous assurer qu'Apache fonctionne. Vous devriez voir quelque chose comme&nbsp;:

en: Make sure the Apache processes are running chrooted by looking in the <filename>/proc</filename> filesystem: <literal>ls -la /proc/<varname>process_number</varname>/root/.</literal> where <varname>process_number</varname> is one of the PID numbers listed above (2nd column; 189 for instance). The entries for a restricted tree should be listed:
fr: Assurez-vous que les processus Apache fonctionnent bien dans le chroot en observant le système de fichiers <filename>/proc</filename>&nbsp;: <literal>ls -la /proc/<varname>numero_processus</varname>/root/.</literal> où <varname>numero_processus</varname> est l'un des numéros de PID de la liste ci-dessus (2e colonne&nbsp;; 189 par exemple). La liste des entrées pour une arborescence restreinte devraient être ainsi&nbsp;:

en: To automate this test, you can type:<literal>ls -la /proc/`cat /var/chroot/apache/var/run/apache.pid`/root/.</literal>
fr: Pour automatiser ce test, vous pouvez entrer&nbsp;:<literal>ls -la /proc/`cat /var/chroot/apache/var/run/apache.pid`/root/.</literal>

en: <emphasis>FIXME</emphasis>: Add other tests that can be run to make sure the jail is closed?
fr: <emphasis>FIXME</emphasis> : Ajouter d'autres tests qui peuvent être exécuter pour s'assurer que la prison est fermées&nbsp;?

en: The reason I like this is because setting up the jail is not very difficult and the server can be updated in just two lines:
fr: La raison pour laquelle j'aime cela est que la mise en place d'une prison n'est pas très difficile et que le serveur peut être mis à jour avec seulement deux lignes&nbsp;:

en: See also
fr: Consultez également

en: If you are looking for more information you can consider these sources of information in which the information presented is based: <ulink name="makejail homepage" url="http://www.floc.net/makejail/" />, this program was written by Alain Tesio
fr: Si vous recherchez plus d'informations, vous pouvez envisager ces sources d'informations sur lesquelles les informations présentées sont basées :<ulink url="http://www.floc.net/makejail/" name="page d'accueil de makejail" />, ce programme a été écrit par Alain Tesio
