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

en: Securing services running on your system
fr: Sécurisation des services du système

en: Services can be secured in a running system in two ways:
fr: Les services présents sur un système peuvent être sécurisés de deux façons&nbsp;:

en: Making them only accessible at the access points (interfaces) they need to be in.
fr: les rendre accessibles uniquement aux points d'accès (interfaces) nécessaires ;

en: Configuring them properly so that they can only be used by legitimate users in an authorized manner.
fr: les configurer correctement ainsi seuls les utilisateurs habilités pourront les utiliser.

en: Restricting services so that they can only be accessed from a given place can be done by restricting access to them at the kernel (i.e. firewall) level, configure them to listen only on a given interface (some services might not provide this feature) or using some other methods, for example the Linux vserver patch (for 2.4.16) can be used to force processes to use only one interface.
fr: Restreindre les services pour qu'ils ne soient accessibles que depuis un endroit bien spécifique peut être fait au niveau du noyau (pare-feu), configurez les services pour écouter uniquement sur une interface définie (certains services ne fournissent peut-être pas cette fonctionnalité) ou utilisez tout autre méthode, par exemple le correctif vserver pour Linux (2.4.16) peut être utilisé pour forcer les processus à n'utiliser qu'une interface.

en: Regarding the services running from <command>inetd</command> (<command>telnet</command>, <command>ftp</command>, <command>finger</command>, <command>pop3</command>...) it is worth noting that <command>inetd</command> can be configured so that services only listen on a given interface (using <literal>service@ip</literal> syntax) but that's an undocumented feature. One of its substitutes, the <command>xinetd</command> meta-daemon includes a <literal>bind</literal> option just for this matter. See <citerefentry><refentrytitle>ixnetd.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manual page.
fr: Concernant les services lancés par <command>inetd</command> (<command>telnet</command>, <command>ftp</command>, <command>finger</command>, <command>pop3</command>, etc.), il est à noter que inetd peut être configuré pour que les services n'écoutent que sur une interface précise (en utilisant la syntaxe <literal>service@ip</literal>), mais c'est une fonctionnalité non documentée. L'un de ses remplaçants, le métadémon <command>xinetd</command>, inclut une option <literal>bind</literal> pour faire cela. Consultez <citerefentry><refentrytitle>ixnetd.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry>

en: The following sections detail how specific individual services can be configured properly depending on their intended use.
fr: Les paragraphes suivants détaillent comment déterminer les services qui peuvent être configurés correctement en fonction de leur utilisation.

en: Securing ssh
fr: Sécurisation de SSH

en: If you are still running telnet instead of ssh, you should take a break from this manual and change this. Ssh should be used for all remote logins instead of telnet. In an age where it is easy to sniff Internet traffic and get clear-text passwords, you should use only protocols which use cryptography. So, perform an <literal>apt-get install ssh</literal> on your system now.
fr: Si vous utilisez toujours TELNET au lieu de SSH, vous devriez prendre une pause dans la lecture de ce manuel pour remédier à cela. SSH devrait être utilisé pour toutes les connexions distantes à la place de TELNET. À une époque où il est facile de scruter le trafic Internet et d'obtenir les mots de passe en clair, vous devriez utiliser uniquement les protocoles qui utilisent la cryptographie. Par conséquent, effectuez maintenant un <literal>apt-get install ssh</literal> sur le système.

en: Encourage all the users on your system to use ssh instead of telnet, or even better, uninstall telnet/telnetd. In addition you should avoid logging into the system using ssh as root and use alternative methods to become root instead, like <command>su</command> or <command>sudo</command>. Finally, the <filename>sshd_config</filename> file, in <filename>/etc/ssh</filename>, should be modified to increase security as well:
fr: Encourager tous les utilisateurs du système à utiliser SSH au lieu de TELNET, ou mieux encore, désinstallez telnet/telnetd. De plus, vous devriez éviter de vous connecter au système en utilisant SSH en tant que superutilisateur et préférer l'utilisation de méthodes alternatives pour devenir superutilisateur comme <literal>su</literal> ou <literal>sudo</literal>. Enfin, le fichier <filename>sshd_config</filename>, dans <filename>/etc/ssh</filename>, devrait être modifié comme suit pour accroître la sécurité.

en: <literal>ListenAddress 192.168.0.1</literal> Have ssh listen only on a given interface, just in case you have more than one (and do not want ssh available on it) or in the future add a new network card (and don't want ssh connections from it).
fr: Ne faîtes écouter SSH que sur une interface donnée, juste au cas où vous en ayez plus d'une (et ne voulez pas que SSH y soit disponible) ou si vous ajoutez, dans le futur, une nouvelle carte réseau (et ne voulez pas de connexions SSH dessus).

en: <literal>PermitRootLogin no</literal> Try not to permit Root Login wherever possible. If anyone wants to become root via ssh, now two logins are needed and the root password cannot be brute forced via SSH.
fr: Essayez autant que possible de ne pas autoriser de connexion en tant que superutilisateur. Si quelqu'un veut devenir superutilisateur par SSH, deux connexions sont maintenant nécessaires et le mot de passe du superutilisateur ne peut être attaqué par force brute par SSH.

en: <literal>Port 666</literal> or <literal>ListenAddress 192.168.0.1:666</literal> Change the listen port, so the intruder cannot be completely sure whether a sshd daemon runs (be forewarned, this is security by obscurity).
fr: <literal>Port 666</literal> ou <literal>ListenAddress 192.168.0.1:666</literal> change le port d'écoute, ainsi l'intrus ne peut être complètement sûr de l'exécution d'un démon sshd (soyez prévenus, c'est de la sécurité par l'obscurité).

en: <literal>PermitEmptyPasswords no</literal> Empty passwords make a mockery of system security.
fr: <literal>PermitEmptyPasswords no</literal> Les mots de passe vides sont un affront au système de sécurité.

en: <literal>AllowUsers alex ref me@somewhere</literal> Allow only certain users to have access via ssh to this machine. <literal>user@host</literal> can also be used to restrict a given user from accessing only at a given host.
fr: Autorise seulement certains utilisateurs à avoir accès par SSH à cette machine. <literal>user@host</literal> peut également être utilisé pour n'autoriser l'accès qu'à un utilisateur donné depuis un hôte donné.

en: <literal>AllowGroups wheel admin</literal> Allow only certain group members to have access via ssh to this machine. AllowGroups and AllowUsers have equivalent directives for denying access to a machine. Not surprisingly they are called "DenyUsers" and "DenyGroups".
fr: Autorise seulement certains membres de groupes à avoir accès par SSH à cette machine. AllowGroups et AllowUsers ont des directives équivalentes pour interdire l'accès à la machine. Sans surprise elles s'appellent «&nbsp;DenyUsers&nbsp;» et «&nbsp;DenyGroups&nbsp;».

en: <literal>PasswordAuthentication yes</literal> It is completely your choice what you want to do. It is more secure to only allow access to the machine from users with ssh-keys placed in the <filename>~/.ssh/authorized_keys</filename> file. If you want so, set this one to "no".
fr: Il vous appartient complètement de décider ce que vous voulez faire. Il est plus sûr d'autoriser l'accès à la machine uniquement aux utilisateurs avec des clefs SSH placées dans le fichier <filename>~/.ssh/authorized_keys</filename>. Si c'est ce que vous voulez, positionnez cette option à « no ».

en: Disable any form of authentication you do not really need, if you do not use, for example <literal>RhostsRSAAuthentication</literal>, <literal>HostbasedAuthentication</literal>, <literal>KerberosAuthentication</literal> or <literal>RhostsAuthentication</literal> you should disable them, even if they are already by default (see the manpage <citerefentry><refentrytitle>sshd_config</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manual page).
fr: Désactiver toute forme d'autorisation dont vous n'avez pas réellement besoin&nbsp; si vous n'utilisez pas, par exemple, <literal>RhostsRSAAuthentication</literal>, <literal>HostbasedAuthentication</literal>, <literal>KerberosAuthentication</literal> ou <literal>RhostsAuthentication</literal>, vous devriez les désactiver même s'ils le sont déjà par défaut (consultez la page de manuel <citerefentry><refentrytitle>sshd_config</refentrytitle> <manvolnum>5</manvolnum></citerefentry>).

en: <literal>Protocol 2</literal> Disable the protocol version 1, since it has some design flaws that make it easier to crack passwords. For more information read <ulink name="a paper regarding ssh protocol problems" url="http://earthops.net/ssh-timing.pdf" /> or the <ulink name="Xforce advisory" url="http://xforce.iss.net/static/6449.php" />.
fr: Désactiver le protocole version 1, car il a des défauts de conception qui facilitent le piratage de mots de passe. Pour obtenir de plus amples renseignements, consultez <ulink name="a paper regarding ssh protocol problems" url="http://earthops.net/ssh-timing.pdf" /> ou le <ulink name="Xforce advisory" url="http://xforce.iss.net/static/6449.php" />.

en: <literal>Banner <filename>/etc/<replaceable>some_file</replaceable></filename></literal> Add a banner (it will be retrieved from the file) to users connecting to the ssh server. In some countries sending a warning before access to a given system about unauthorized access or user monitoring should be added to have legal protection.
fr: Ajouter une bannière (elle sera récupérée du fichier) pour les utilisateurs se connectant au serveur SSH. Dans certains pays, envoyer un avertissement avant l'accès à un système donné avertissant des accès non autorisés ou du suivi des utilisateurs devrait être ajouté pour avoir une protection légale.

en: You can also restrict access to the ssh server using <literal>pam_listfile</literal> or <literal>pam_wheel</literal> in the PAM control file. For example, you could keep anyone not listed in <filename>/etc/loginusers</filename> away by adding this line to <filename>/etc/pam.d/ssh</filename>:
fr: Vous pouvez également restreindre l'accès au serveur ssh en utilisant <literal>pam_listfile</literal> ou <literal>pam_wheel</literal> dans le fichier de contrôle PAM. Par exemple, vous pourriez bloquer tous les utilisateurs qui ne sont pas dans <filename>/etc/loginusers</filename> en ajoutant cette ligne à <filename>/etc/pam.d/ssh</filename>&nbsp;:

en: 
    auth       required     pam_listfile.so sense=allow onerr=fail item=user file=/etc/loginusers
fr: 
    auth required pam_listfile.so sense=allow onerr=fail item=user file=/etc/loginusers

en: As a final note, be aware that these directives are from a OpenSSH configuration file. Right now, there are three commonly used SSH daemons, ssh1, ssh2, and OpenSSH by the OpenBSD people. Ssh1 was the first ssh daemon available and it is still the most commonly used (there are rumors that there is even a Windows port). Ssh2 has many advantages over ssh1 except it is released under a closed-source license. OpenSSH is completely free ssh daemon, which supports both ssh1 and ssh2. OpenSSH is the version installed on Debian when the package <application>ssh</application> is chosen.
fr: Pour finir, soyez conscient que ces directives proviennent d'un fichier de configuration OpenSSH. Actuellement, trois démons SSH sont couramment utilisés, ssh1, ssh2, et OpenSSH par les gens d'OpenBSD. ssh1 était le premier démon SSH disponible et est toujours le plus couramment utilisé (il y a même des rumeurs à propos d'un portage pour Windows). ssh2 a beaucoup d'avantages par rapport à ssh1 sauf qu'il est diffusé sous une licence non libre. OpenSSH est un démon SSH complètement libre, qui gère à la fois ssh1 et ssh2. OpenSSH est la version installée sur Debian quand le paquet <application>ssh</application> est choisi.

en: Chrooting ssh
fr: Chrooter SSH

en: Currently OpenSSH does not provide a way to chroot automatically users upon connection (the commercial version does provide this functionality). However there is a project to provide this functionality for OpenSSH too, see <ulink url="http://chrootssh.sourceforge.net" />, it is not currently packaged for Debian, though. You could use, however, the <filename>pam_chroot</filename> module as described in <xref linkend="user-restrict" />.
fr: OpenSSH ne fournit pas de moyen à l'heure actuelle pour chrooter automatiquement les utilisateurs lors de la connexion (la version commerciale fournit cette fonctionnalité). Cependant, il existe un projet ayant pour but de fournir cette fonctionnalité pour OpenSSH également, consultez <ulink url="http://chrootssh.sourceforge.net" />, il n'est cependant pas empaqueté pour Debian actuellement. Vous pourriez cependant utiliser le module <filename>pam_chroot</filename> module comme décrit dans <xref linkend="user-restrict" />.

en: In <xref linkend="chroot-ssh-env" /> you can find several options to make a chroot environment for SSH.
fr: Dans <xref linkend="chroot-ssh-env" />, vous pouvez trouver plusieurs options pour créer un environnement chroot pour SSH.

en: Ssh clients
fr: Clients SSH

en: If you are using an SSH client against the SSH server you must make sure that it supports the same protocols that are enforced on the server. For example, if you use the <application>mindterm</application> package, it only supports protocol version 1. However, the sshd server is, by default, configured to only accept version 2 (for security reasons).
fr: Si vous utilisez un client SSH pour se connecter au serveur SSH, vous devez vous assurer qu'il prend en charge les mêmes protocoles que ceux utilisés sur le serveur. Par exemple, si vous utilisez le paquet <application>mindterm</application>, il ne prend en charge que le protocole version 1. Cependant, le serveur sshd est, par défaut, configuré pour n'accepter que la version 2 (pour des raisons de sécurité).

en: Disallowing file transfers
fr: Interdire les transferts de fichiers

en: If you do <emphasis>not</emphasis> want users to transfer files to and from the ssh server you need to restrict access to the <command>sftp-server</command> <emphasis>and</emphasis> the <command>scp</command> access. You can restrict <command>sftp-server</command> by configuring the proper <literal>Subsystem</literal> in the <filename>/etc/ssh/sshd_config</filename>.
fr: Si vous ne voulez <emphasis>pas</emphasis> que les utilisateurs transfèrent des fichiers depuis et vers le serveur ssh, vous devez restreindre l'accès au <command>sftp-server</command> <emphasis>et</emphasis> l'accès <command>scp</command>. Vous pouvez restreindre <command>sftp-server</command> en configurant le bon <literal>Subsystem</literal> dans <filename>/etc/ssh/sshd_config</filename>.

en: You can also chroot users (using <application>libpam-chroot</application> so that, even if file transfer is allowed, they are limited to an environment which does not include any system files.
fr: Vous pouvez aussi cloisonner les utilisateurs dans un chroot (en utilisant <application>libpam-chroot</application> de telle sorte que même si le transfert de fichiers est autorisé, ils soient limités à un environnement qui ne contient aucun fichier système.

en: Restricing access to file transfer only
fr: Restriction d'accès au seul transfert de fichiers

en: You might want to restrict access to users so that they can only do file transfers and cannot have interactive shells. In order to do this you can either:
fr: Vous pourriez restreindre l'accès aux utilisateurs pour leur permettre seulement le transfert de fichiers sans interpréteur de commandes interactif. Pour faire cela, vous pouvez :

en: disallow users from login to the ssh server (as described above either through the configuration file or PAM configuration).
fr: soit interdire les connexions d'utilisateurs au serveur SSH (comme décrit ci-dessus par le fichier de configuration ou par la configuration PAM) ;

en: give users a restricted shell such as <application>scponly</application> or <application>rssh</application>. These shells restrict the commands available to the users so that they are not provided any remote execution priviledges.
fr: soit donner aux utilisateurs un interpréteur de commandes restreint comme <application>scponly</application> ou <application>rssh</application>. Ces interpréteurs de commandes restreignent les commandes disponibles pour les utilisateurs afin de ne pas leur donner de droits d'exécution à distance.

en: Securing Squid
fr: Sécurisation de Squid

en: The recommended minimum configuration (provided with the package) is shown below:
fr: Voici ci-dessous la configuration minimum recommandée:

en: 
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 80          # http
    acl Safe_ports port 21          # ftp
    acl Safe_ports port 443 563     # https, snews
    acl Safe_ports port 70          # gopher
    acl Safe_ports port 210         # wais
    acl Safe_ports port 1025-65535  # unregistered ports
    acl Safe_ports port 280         # http-mgmt
    acl Safe_ports port 488         # gss-http
    acl Safe_ports port 591         # filemaker
    acl Safe_ports port 777         # multiling http
    acl Safe_ports port 901         # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT
    (...)
    # Only allow cachemgr access from localhost
    http_access allow manager localhost
    http_access deny manager
    # Only allow purge requests from localhost
    http_access allow purge localhost
    http_access deny purge
    # Deny requests to unknown ports
    http_access deny !Safe_ports
    # Deny CONNECT to other than SSL ports
    http_access deny CONNECT !SSL_ports
    #
    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    #
    http_access allow localhost
    # And finally deny all other access to this proxy
    http_access deny all
    #Default:
    # icp_access deny all
    #
    #Allow ICP queries from everyone
    icp_access allow all
fr: 
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 80          # http
    acl Safe_ports port 21          # ftp
    acl Safe_ports port 443 563     # https, snews
    acl Safe_ports port 70          # gopher
    acl Safe_ports port 210         # wais
    acl Safe_ports port 1025-65535  # ports non enregistrés
    acl Safe_ports port 280         # http-mgmt
    acl Safe_ports port 488         # gss-http
    acl Safe_ports port 591         # filemaker
    acl Safe_ports port 777         # multiling http
    acl Safe_ports port 901         # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT
    (...)
    # Ne permet l'accès à cachemgr que depuis localhost
    http_access allow manager localhost
    http_access deny manager
    # Ne permet des requêtes de purge que depuis localhost
    http_access allow purge localhost
    http_access deny purge
    # Interdit les requêtes sur des ports inconnus
    http_access deny !Safe_ports
    # Interdit CONNECT sur tout autre port que SSL
    http_access deny CONNECT !SSL_ports
    #
    # INSÉRER VOS PROPRES RÈGLES ICI POUR PERMETTRE L'ACCÈS
    # DEPUIS LES CLIENTS
    #
    http_access allow localhost
    # Et enfin, interdit tout autre accès à ce mandataire
    http_access deny all
    # Par défaut :
    # icp_access deny all
    #
    # Permet les requêtes ICP à tout le monde
    icp_access allow all

en: You should also configure Squid based on your system resources, including cache memory (option <literal>cache_mem</literal>), location of the cached files and the amount of space they will take up on disk (option <literal>cache_dir</literal>).
fr: Vous pouvez également configurer Squid selon vos ressources système, en incluant la mémoire cache (option <literal>cache_mem</literal>), l'emplacement de vos fichiers du cache et la quantité d'espace qu'ils prendront sur disque (option <literal>cache_dir</literal>).

en: Notice that, if not properly configured, someone may relay a mail message through Squid, since the HTTP and SMTP protocols are designed similarly. Squid's default configuration file denies access to port 25. If you wish to allow connections to port 25 just add it to Safe_ports lists. However, this is <emphasis>NOT</emphasis> recommended.
fr: Notez que, s'il n'est pas configuré correctement, n'importe qui peut relayer un message par l'intermédiaire de Squid, puisque les protocoles HTTP et SMTP sont conçus de façon similaire. Le fichier de configuration par défaut interdit l'accès au port 25. Si vous voulez autoriser les connexions sur ce port, il vous faudra l'ajouter dans la liste des Safe_ports (ports autorisés). Cependant, ce n'est <emphasis>PAS</emphasis> recommandé.

en: Setting and configuring the proxy/cache server properly is only part of keeping your site secure. Another necessary task is to analyze Squid's logs to assure that all things are working as they should be working. There are some packages in Debian GNU/Linux that can help an administrator to do this. The following packages are available in Debian 3.0 and Debian 3.1 (sarge):
fr: Installer et configurer le serveur mandataire et le cache correctement ne représente qu'une partie de la sécurisation du site. Une autre tâche nécessaire réside dans l'analyse des journaux de Squid pour s'assurer que tout fonctionne comme prévu. Quelques paquets dans Debian GNU/Linux peuvent aider l'administrateur dans cette tâche. Les paquets suivant sont disponibles dans Debian 3.0 et Debian 3.1 (Sarge)  :

en: <application>calamaris</application> - Log analyzer for Squid or Oops proxy log files.
fr: <application>calamaris</application> - Analyseur des journaux pour serveurs mandataires Squid ou Oops

en: <application>modlogan</application> - A modular logfile analyzer.
fr: <application>modlogan</application> - Analyseur modulaire de journaux

en: <application>sarg</application> - Squid Analysis Report Generator.
fr: <application>sarg</application> - Création de compte-rendu d'analyse de Squid

en: <application>squidtaild</application> - Squid log monitoring program.
fr: <application>squidtaild</application> - Programme de surveillance des journaux de Squid

en: Securing FTP
fr: Sécurisation de FTP

en: If you really have to use FTP (without wrapping it with sslwrap or inside a SSL or SSH tunnel), you should chroot ftp into the ftp users' home directory, so that the user is unable to see anything else than their own directory. Otherwise they could traverse your root file system just like if they had a shell in it. You can add the following line in your <filename>proftpd.conf</filename> in your global section to enable this chroot feature:
fr: Si vous avez réellement besoin d'utiliser FTP (sans l'emballer avec sslwrap ou à l'intérieur d'un tunnel SSL ou SSH), vous devriez «&nbsp;chrooter&nbsp;» FTP dans le répertoire personnel de l'utilisateur, ainsi l'utilisateur ne pourra rien voir d'autre que ses propres répertoires. Autrement, il pourrait parcourir le système comme s'il disposait d'un interpréteur de commandes. Vous pouvez ajouter la ligne suivante dans la section global de <filename>proftpd.conf</filename> pour activer ce chroot&nbsp;:

en: Restart ProFTPd by <literal>/etc/init.d/proftpd restart</literal> and check whether you can escape from your homedir now.
fr: Redémarrez ProFTPD par <literal>/etc/init.d/proftpd restart</literal> et vérifiez si vous pouvez sortir de votre propre répertoire personnel.

en: To prevent ProFTPd DoS attacks using ../../.., add the following line in <filename>/etc/proftpd.conf</filename>: <literal>DenyFilter \*.*/</literal>
fr: Pour prévenir ProFTPD d'attaques par déni de service avec l'utilisation de ../../.., ajoutez la ligne suivante dans <filename>/etc/proftpd.conf</filename>&nbsp;: <literal>DenyFilter \*.*/</literal>

en: Always remember that FTP sends login and authentication passwords in clear text (this is not an issue if you are providing an anonymous public service) and there are better alternatives in Debian for this. For example, <command>sftp</command> (provided by <application>ssh</application>). There are also free implementations of SSH for other operating systems: <ulink name="putty" url="http://www.chiark.greenend.org.uk/~sgtatham/putty/" /> and <ulink name="cygwin" url="http://www.cygwin.com" /> for example.
fr: Rappelez-vous toujours que FTP envoie les identifiants et les mots de passe d'authentification en clair (ce n'est pas un problème si vous fournissez un service public anonyme) et il existe de meilleures alternatives dans Debian pour cela. Par exemple, <command>sftp</command> (fourni par <application>ssh</application>). Il existe également d'autres implémentations de SSH pour d'autres systèmes d'exploitation&nbsp;: <ulink url="http://www.chiark.greenend.org.uk/~sgtatham/putty/" name="putty" /> et <ulink url="http://www.cygwin.com" name="cygwin" /> par exemple.

en: However, if you still maintain the FTP server while making users access through SSH you might encounter a typical problem. Users accessing anonymous FTP servers inside SSH-secured systems might try to log in the <emphasis>FTP server</emphasis>. While the access will be refused, the password will nevertheless be sent through the net in clear form. To avoid that, ProFTPd developer TJ Saunders has created a patch that prevents users feeding the anonymous FTP server with valid SSH accounts. More information and patch available at: <ulink name="ProFTPD Patches" url="http://www.castaglia.org/proftpd/#Patches" />. This patch has been reported to Debian too, see <ulink name="Bug #145669" url="http://bugs.debian.org/145669" />.
fr: Cependant, si vous maintenez encore le serveur FTP tout en donnant un accès par SSH aux utilisateurs, vous pouvez rencontrer un problème courant. Les utilisateurs accédant aux serveurs FTP anonymes à l'intérieur des systèmes sécurisés par SSH peuvent essayer de se connecter dans le <emphasis>serveur FTP</emphasis>. Bien que l'accès sera refusé, le mot de passe sera tout de même envoyé en clair sur le réseau. Pour éviter cela, le développeur de ProFTPD, TJ Saunders, a créé un correctif pour empêcher des utilisateurs de fournir au serveur FTP anonyme des comptes SSH valables. Plus d'informations et le correctif sont disponibles, consultez <ulink url="http://www.castaglia.org/proftpd/#Patches" name="Correctifs ProFTPD" />. Ce correctif a été également indiqué pour Debian, consultez le <ulink url="http://bugs.debian.org/145669" name="bogue nº 145669" />.

en: Securing access to the X Window System
fr: Sécurisation de l'accès au système X Window

en: Today, X terminals are used by more and more companies where one server is needed for a lot of workstations. This can be dangerous, because you need to allow the file server to connect to the clients (X server from the X point of view. X switches the definition of client and server). If you follow the (very bad) suggestion of many docs, you type <literal>xhost +</literal> on your machine. This allows any X client to connect to your system. For slightly better security, you can use the command <literal>xhost +hostname</literal> instead to only allow access from specific hosts.
fr: Actuellement, les terminaux X sont de plus en plus utilisés dans les entreprises où un seul serveur est nécessaire pour un grand nombre de stations de travail. Cela peut être dangereux car vous devez autoriser le serveur de fichiers à se connecter aux clients (le serveur X d'un point de vue X. X intervertit la notion de client et de serveur). Si vous suivez les (très mauvaises) suggestions de nombreuses documentations, vous tapez <literal>xhost +</literal> sur la machine. Cela autorise tout client X à se connecter au système. Pour une sécurité légèrement meilleure, vous pouvez utiliser la commande <literal>xhost +hostname</literal> à la place, ce qui permet de n'autoriser les accès que depuis certains hôtes.

en: A much more secure solution, though, is to use ssh to tunnel X and encrypt the whole session. This is done automatically when you ssh to another machine. For this to work, you have to configure both the ssh client and the ssh server. On the ssh client, <literal>ForwardX11</literal> should be set to <literal>yes</literal> in <filename>/etc/ssh/ssh_config</filename>. On the ssh server, <literal>X11Forwarding</literal> should be set to <literal>yes</literal> in <filename>/etc/ssh/sshd_config</filename> and the package <application>xbase-clients</application> should be installed because the ssh server uses <filename>/usr/X11R6/bin/xauth</filename> (<filename>/usr/bin/xauth</filename> on Debian unstable) when setting up the pseudo X display. In times of SSH, you should drop the xhost based access control completely.
fr: Une solution encore meilleure serait d'utiliser un tunnel SSH pour X et de chiffrer toute la session. C'est fait automatiquement lors de l'utilisation de SSH pour se connecter sur une autre machine. Pour que cela fonctionne, vous devez configurer à la fois le client SSH et le serveur SSH. Sur le client SSH, <literal>ForwardX11</literal> doit être positionné à <literal>yes</literal> dans <filename>/etc/ssh/ssh_config</filename>. Sur le serveur SSH, <literal>X11Forwarding</literal> doit être positionné à <literal>yes</literal> dans <filename>/etc/ssh/sshd_config</filename> et le paquet <application>xbase-clients</application> doit être installé car le serveur SSH utilise <filename>/usr/X11R6/bin/xauth</filename> (<filename>/usr/bin/xauth</filename> sur Debian unstable) pour mettre en place le pseudoaffichage X. À l'heure de SSH, vous devriez abandonner complètement le contrôle d'accès basé sur xhost.

en: For best security, if you do not need X access from other machines, switch off the binding on TCP port 6000 simply by typing:
fr: Pour une sécurité accrue, si vous n'avez pas besoin d'accéder à X depuis d'autres machines, désactivez l'écoute sur le port TCP 6000 en tapant simplement&nbsp;:

en: This is the default behavior in Xfree 4.1.0 (the Xserver provided in Debian 3.0 and 3.1). If you are running Xfree 3.3.6 (i.e. you have Debian 2.2 installed) you can edit <filename>/etc/X11/xinit/xserverrc</filename> to have it something along the lines of:
fr: C'est le comportement par défaut dans XFree&nbsp;4.1.0 (le serveur X fourni dans Debian&nbsp;3.0 et 3.1). Si vous utilisez XFree&nbsp;3.3.6 (vous avez donc Debian&nbsp;2.2 installée), vous pouvez éditer <filename>/etc/X11/xinit/xserverrc</filename> afin d'avoir quelque chose ressemblant à ceci&nbsp;:

en: If you are using XDM set <filename>/etc/X11/xdm/Xservers</filename> to: <literal>:0 local /usr/bin/X11/X vt7 -dpi 100 -nolisten tcp</literal>. If you are using Gdm make sure that the <literal>DisallowTCP=true</literal> option is set in the <filename>/etc/gdm/gdm.conf</filename> (which is the default in Debian). This will basically append <literal>-nolisten tcp</literal> to every X command line <footnote><para> Gdm will <emphasis>not</emphasis> append <literal>-nolisten tcp</literal> if it finds a <literal>-query</literal> or <literal>-indirect</literal> on the command line since the query wouldn't work.</para></footnote>.
fr: Si vous utilisez XDM, mettez <filename>/etc/X11/xdm/Xservers</filename> à&nbsp;: <literal>:0 local /usr/bin/X11/X vt7 -dpi 100 -nolisten tcp</literal>. Si vous utilisez GDM, assurez-vous que l'option <literal>DisallowTCP=true</literal> est positionnée dans <filename>/etc/gdm/gdm.conf</filename> (qui est par défaut dans Debian). Cela va basiquement ajouter <literal>-nolisten tcp</literal> à chaque ligne de commande X <footnote><para>GDM <emphasis>n'ajoutera pas</emphasis> <literal>-nolisten tcp</literal> s'il trouve <literal>-query</literal> ou <literal>-indirect</literal> sur la ligne de commande car cela ne pourrait pas fonctionner.</para></footnote>.

en: You can also set the default's system timeout for <command>xscreensaver</command> locks. Even if the user can override it, you should edit the <filename>/etc/X11/app-defaults/XScreenSaver</filename> configuration file and change the lock line:
fr: Vous pouvez également positionner l'expiration de délai système par défaut pour les blocages <command>xscreensaver</command>. Même si l'utilisateur peut annuler cela, vous devriez éditer le fichier de configuration <filename>/etc/X11/app-defaults/XScreenSaver</filename> et changer la ligne de blocage&nbsp;:

en: (which is the default in Debian) to:
fr: (qui est par défaut dans Debian) à&nbsp;:

en: FIXME: Add information on how to disable the screensavers which show the user desktop (which might have sensitive information).
fr: FIXME : Ajouter des informations sur comment désactiver les économiseurs d'écran qui affichent l'écran de l'utilisateur (qui peuvent avoir des informations sensibles).

en: Read more on X Window security in <ulink name="XWindow-User-HOWTO" url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO.html" /> (<filename>/usr/share/doc/HOWTO/en-txt/XWindow-User-HOWTO.txt.gz</filename>).
fr: Plus de renseignements sur la sécurité X Window dans <ulink url="http://www.linuxdoc.org/HOWTO/XWindow-User-HOWTO.html" name="XWindow-User-HOWTO" /> (<filename>/usr/share/doc/HOWTO/en-txt/XWindow-User-HOWTO.txt.gz</filename>).

en: FIXME: Add info on thread of debian-security on how to change config files of XFree 3.3.6 to do this.
fr: FIXME : Ajouter des informations d'une discussion de debian-security pour avoir les modifications des fichiers de configuration de XFree 3.3.6 pour faire cela.

en: Check your display manager
fr: Vérifiez le gestionnaire d'affichage

en: If you only want to have a display manager installed for local usage (having a nice graphical login, that is), make sure the XDMCP (X Display Manager Control Protocol) stuff is disabled. In XDM you can do this with this line in <literal>/etc/X11/xdm/xdm-config</literal>:
fr: Si vous ne voulez un gestionnaire d'affichage installé que pour une utilisation locale (avec une jolie connexion graphique, tout de même), assurez-vous que le XDMCP (X Display Manager Control Protocol) est désactivé. Dans XDM, vous pouvez faire cela avec cette ligne dans <literal>/etc/X11/xdm/xdm-config</literal>&nbsp;:

en: For GDM there should be in your gdm.conf:
fr: Pour GDM, il devrait y avoir dans le fichier gdm.conf&nbsp;:

en: Normally, all display managers are configured not to start XDMCP services per default in Debian.
fr: Normalement, tous les gestionnaires d'affichages sont configurés par défaut pour ne pas démarrer les services XDMCP dans Debian.

en: Securing printing access (the lpd and lprng issue)
fr: Sécurisation de l'accès à l'impression (le problème lpd et lprng)

en: Imagine, you arrive at work, and the printer is spitting out endless amounts of paper because someone is DoSing your line printer daemon. Nasty, isn't it?
fr: Imaginez, vous arrivez au travail et l'imprimante crache une quantité infinie de papier car quelqu'un est en train de provoquer un déni de service sur le démon d'impression. Méchant, n'est ce pas ?

en: In any UNIX printing architecture, there has to be a way to get the client's data to the host's print server. In traditional <command>lpr</command> and <command>lp</command>, the client command copies or symlinks the data into the spool directory (which is why these programs are usually SUID or SGID).
fr: Dans toute architecture d'impression UNIX, il y a un moyen de fournir les données du client vers le serveur d'impression de l'hôte. Dans les traditionnels <command>lpr</command> et <command>lp</command>, la commande du client copie ou crée un lien symbolique pour les données dans le répertoire de spool (c'est pour cela que ces programmes sont habituellement SUID ou SGID).

en: In order to avoid any issues you should keep your printer servers especially secure. This means you need to configure your printer service so it will only allow connections from a set of trusted servers. In order to do this, add the servers you want to allow printing to your <filename>/etc/hosts.lpd</filename>.
fr: Pour éviter tout problème, vous devriez garder vos serveurs d'impression particulièrement sûrs. Cela veut dire qu'il est nécessaire de configurer le service d'impression pour qu'il autorise seulement les connexions d'un ensemble de serveurs de confiance. Pour ce faire, ajoutez les serveurs auxquels vous voulez autoriser l'impression à <filename>/etc/hosts.lpd</filename>.

en: However, even if you do this, the <command>lpr</command> daemon accepts incoming connections on port 515 of any interface. You should consider firewalling connections from networks/hosts which are not allowed printing (the <command>lpr</command> daemon cannot be limited to listen only on a given IP address).
fr: Cependant, même si vous faites cela, le démon <command>lpr</command> accepte les connexions entrantes sur le port 515 de n'importe quelle interface. Vous devriez réfléchir au filtrage par un pare-feu des connexions provenant de réseaux ou hôtes qui ne sont pas autorisés à imprimer (le démon <command>lpr</command> ne peut être limité que pour écouter sur une adresse IP donnée).

en: <command>Lprng</command> should be preferred over <command>lpr</command> since it can be configured to do IP access control. And you can specify which interface to bind to (although somewhat weirdly).
fr: <command>lprng</command> doit être préféré à <command>lpr</command> car il peut être configuré pour faire du contrôle d'accès basé sur l'adresse IP. Vous pouvez indiquer l'interface sur laquelle se lier (cependant d'une manière un peu bizarre)

en: If you are using a printer in your system, but only locally, you will not want to share this service over a network. You can consider using other printing systems, like the one provided by <application>cups</application> or <ulink name="PDQ" url="http://pdq.sourceforge.net/" /> which is based on user permissions of the <filename>/dev/lp0</filename> device.
fr: Si vous utilisez une imprimante sur le système, mais seulement localement, vous ne voulez pas partager ce service sur le réseau. Vous pouvez considérer l'utilisation d'autres systèmes d'impression, comme celui fourni par <application>cups</application> ou <ulink url="http://pdq.sourceforge.net/" name="PDQ" /> qui est basé sur les permissions utilisateurs du périphérique <filename>/dev/lp0</filename>.

en: In <application>cups</application>, the print data is transferred to the server via the HTTP protocol. This means the client program doesn't need any special privileges, but does require that the server is listening on a port somewhere.
fr: Dans <application>cups</application>, les données d'impression sont transférées vers le serveur par le protocole HTTP. Cela veut dire que le programme client n'a pas besoin de privilèges spéciaux, mais cela nécessite que le serveur écoute sur un port quelque part.

en: However, if you want to use <command>cups</command>, but only locally, you can configure it to bind to the loopback interface by changing <filename>/etc/cups/cupsd.conf</filename>:
fr: Cependant, si vous voulez utiliser <command>cups</command>, mais seulement localement, vous pouvez le configurer pour se lier à l'interface de bouclage (loopback) en modifiant <filename>/etc/cups/cupsd.conf</filename>&nbsp;:

en: There are many other security options like allowing or denying networks and hosts in this config file. However, if you do not need them you might be better off just limiting the listening port. <command>Cups</command> also serves documentation through the HTTP port, if you do not want to disclose potential useful information to outside attackers (and the port is open) add also:
fr: Il y a plusieurs autres options de sécurité comme autoriser ou interdire des réseaux et hôtes dans le fichier de configuration. Cependant, si vous n'en avez pas besoin, il peut être préférable de simplement limiter le port d'écoute. <command>cups</command> fournit également la documentation par le port HTTP, si vous ne voulez pas dévoiler des informations potentiellement utiles aux attaquants extérieurs (et que le port est ouvert), ajoutez également&nbsp;:

en: This configuration file can be modified to add some more features including SSL/TLS certificates and crypto. The manuals are available at http://localhost:631/ or at <ulink url="http://cups.org" />.
fr: Ce fichier de configuration peut être modifié pour ajouter plus de fonctionnalités y compris des certificats SSL/TLS et du chiffrement. Les manuels sont disponibles sur http://localhost:631/ ou à <ulink url="cups.org" />.

en: FIXME: Add more content (the article on <ulink name="Amateur Fortress Building" url="http://www.rootprompt.org" /> provides some very interesting views).
fr: FIXME : Ajouter plus de contenu (l'article sur <ulink name="Amateur Fortress Building" url="http://www.rootprompt.org" /> fournit certains points de vues très intéressants).

en: FIXME: Check if PDG is available in Debian, and if so, suggest this as the preferred printing system.
fr: FIXME : Vérifier la disponibilité de PDG dans Debian, et s'il l'est, le suggérer comme le système d'impression préféré.

en: FIXME: Check if Farmer/Wietse has a replacement for printer daemon and if it's available in Debian.
fr: FIXME : Vérifier si Farmer/Wietse a une alternative pour le démon d'imprimante et si il est disponible dans Debian.

en: Securing the mail service
fr: Sécurisation du service de courrier

en: If your server is not a mailing system, you do not really need to have a mail daemon listening for incoming connections, but you might want local mail delivered in order, for example, to receive mail for the root user from any alert systems you have in place.
fr: Si le serveur n'est pas un système d'envoi de courrier, vous n'avez pas réellement besoin d'un démon de courrier écoutant les connexions entrantes, mais vous pourriez vouloir que le courrier local soit distribué pour, par exemple, recevoir le courrier du superutilisateur en provenance d'un des systèmes d'alerte en place.

en: If you have <command>exim</command> you do not need the daemon to be working in order to do this since the standard <command>cron</command> job flushes the mail queue. See <xref linkend="disableserv" /> on how to do this.
fr: Si vous avez <command>exim</command>, vous n'avez pas besoin que le démon tourne pour le faire car la tâche standard <command>cron</command> vide la file des messages. Consultez <xref linkend="disableserv" /> pour le façon de faire cela.

en: Configuring a Nullmailer
fr: Configurer un Nullmailer

en: You might want to have a local mailer daemon so that it can relay the mails sent locally to another system. This is common when you have to administer a number of systems and do not want to connect to each of them to read the mail sent locally. Just as all logging of each individual system can be centralized by using a central syslog server, mail can be sent to a central mailserver.
fr: Vous pouvez vouloir avoir un démon local de courrier pour qu'il puisse relayer les courriers envoyés localement à un autre système. C'est courant quand vous devez administrer un certain nombre de systèmes et que vous ne voulez pas vous connecter à chacun d'entre eux pour lire le courrier envoyé localement. Comme toute la journalisation de chaque système individuel peut être centralisée en utilisant un serveur de journalisation système centralisé, les courriers peuvent être envoyés à un serveur de courriers central.

en: Such a <emphasis>relay-only</emphasis> system should be configured properly for this. The daemon could, as well, be configured to only listen on the loopback address.
fr: Un tel système <emphasis>relais seulement</emphasis> devrait être configuré correctement pour cela. Le démon pourrait également être configuré pour n'écouter que sur l'adresse de bouclage.

en: The following configuration steps only need to be taken to configure the <application>exim</application> package in the Debian 3.0 release. If you are using a later release (such as 3.1 which uses <application>exim4</application>) the installation system has been improved so that if the mail transport agent is configured to only deliver local mail it will automatically only allow connections from the local host and will not permit remote connections.
fr: Les étapes de configuration suivantes ne doivent être suivies que si vous configurez le paquet <application>exim</application> dans la version&nbsp;3.0 de Debian. Si vous utilisez une version ultérieure (comme la version&nbsp;3.1 qui utilise <application>exim4</application>), le système d'installation a été amélioré afin, si le MTA est configuré pour ne délivrer que des messages locaux, de n'autoriser des connexions que depuis l'hôte local et interdire toute connexion distante.

en: In a Debian 3.0 system using <application>exim</application>, you will have to remove the SMTP daemon from <command>inetd</command>:
fr: Sur un système Debian&nbsp;3.0 utilisant <application>exim</application>, vous devrez retirer le démon SMTP d'inetd&nbsp;:

en: and configure the mailer daemon to only listen on the loopback interface. In <command>exim</command> (the default MTA) you can do this by editing the file <filename>/etc/exim.conf</filename> and adding the following line:
fr: et configurer le démon de courrier pour écouter seulement sur l'interface de bouclage. Dans <command>exim</command> (le MTA par défaut) vous pouvez faire ça en éditant le fichier <filename>/etc/exim.conf</filename> et en ajoutant la ligne suivante&nbsp;:

en: Restart both daemons (inetd and exim) and you will have exim listening on the 127.0.0.1:25 socket only. Be careful, and first disable inetd, otherwise, exim will not start since the inetd daemon is already handling incoming connections.
fr: Redémarrez les deux démons (inetd et exim) et Exim n'écoutera que sur la socket 127.0.0.1:25. Faites attention, et avant tout désactivez inetd, sinon Exim ne démarrera pas étant donné que le démon inetd est déjà en attente de connexions entrantes.

en: For <command>postfix</command> edit <filename>/etc/postfix/main.conf</filename>:
fr: Pour <command>postfix</command> éditez <filename>/etc/postfix/main.conf</filename>&nbsp;:

en: If you only want local mail, this approach is better than tcp-wrapping the mailer daemon or adding firewalling rules to limit anybody accessing it. However, if you do need it to listen on other interfaces, you might consider launching it from inetd and adding a tcp wrapper so incoming connections are checked against <filename>/etc/hosts.allow</filename> and <filename>/etc/hosts.deny</filename>. Also, you will be aware of when an unauthorized access is attempted against your mailer daemon, if you set up proper logging for any of the methods above.
fr: Si vous voulez seulement le courrier local, cette approche est meilleure que l'encapsulation TCP du démon de courrier ou l'ajout de règles de pare-feu pour limiter les personnes qui y accèdent. Cependant, si vous n'avez pas besoin d'écouter sur d'autres interfaces, vous pourriez envisager de le lancer à partir d'inetd et ajouter une encapsulation TCP pour que les connexions entrantes soient vérifiées par rapport à <filename>/etc/hosts.allow</filename> et <filename>/etc/hosts.deny</filename>. De plus, vous serez au courant quand un accès non autorisé est tenté sur le démon de courrier, si vous mettez en place correctement la journalisation pour n'importe laquelle des méthodes décrites plus haut.

en: In any case, to reject mail relay attempts at the SMTP level, you can change <filename>/etc/exim/exim.conf</filename> to include:
fr: En tout cas, pour rejeter les tentatives de relais de courrier au niveau SMTP, vous pouvez modifier <filename>/etc/exim/exim.conf</filename> pour inclure&nbsp;:

en: Even if your mail server will not relay the message, this kind of configuration is needed for the relay tester at <ulink url="http://www.abuse.net/relay.html" /> to determine that your server is <emphasis>not</emphasis> relay capable.
fr: Même si le serveur de courrier ne relaiera pas le message, ce genre de configuration est nécessaire au testeur de relais à <ulink url="http://www.abuse.net/relay.html" /> pour déterminer que le serveur ne peut <emphasis>pas</emphasis> faire de relais.

en: If you want a relay-only setup, however, you can consider changing the mailer daemon to programs that can <emphasis>only</emphasis> be configured to forward the mail to a remote mail server. Debian provides currently both <application>ssmtp</application> and <application>nullmailer</application> for this purpose. In any case, you can evaluate for yourself any of the mail transport agents <footnote><para> To retrieve the list of mailer daemons available in Debian try: <screen> $ apt-cache search mail-transport-agent </screen> The list will not include <command>qmail</command>, which is distributed only as source code in the <application>qmail-src</application> package. </para></footnote> provided by Debian and see which one suits best to the system's purposes.
fr: Si vous voulez une configuration relais seulement, cependant, vous pouvez vouloir changer le démon de courrier pour des programmes qui ne peuvent être configurés <emphasis>que</emphasis> pour faire suivre le courrier à un serveur de courrier distant. Debian fournit actuellement les paquets <application>ssmtp</application> et <application>nullmailer</application> dans ce but. En tout cas, vous pouvez évaluer pour vous-même l'un de ces deux agents de transport de courrier <footnote><para>Pour récupérer la liste des démons de courrier disponibles dans Debian, essayez&nbsp;: <screen>$ apt-cache search mail-transport-agent</screen></para></footnote>La liste n'inclura pas <command>qmail</command>, qui est distribué seulement comme code source dans le paquet <application>qmail-src</application> fournis par Debian et voir lequel correspond le mieux aux buts du système.

en: Providing secure access to mailboxes
fr: Fournir un accès sécurisé aux boîtes à lettres

en: If you want to give remote access to mailboxes there are a number of POP3 and IMAP daemons available.<footnote><para> A list of servers/daemons which support these protocols in Debian can be retrieved with: <screen> $ apt-cache search pop3-server $ apt-cache search imap-server </screen></para></footnote> However, if you provide IMAP access note that it is a general file access protocol, it can become the equivalent of a shell access because users might be able to retrieve any file that they can through it.
fr: Si vous désirez donner un accès à distance aux boîtes à lettres, il y a un certain nombre de démons POP3 et IMAP disponibles<footnote><para>Une liste des serveurs et démons prenant ces protocoles en charge dans Debian peut être récupérée avec&nbsp;: <screen>$ apt-cache search pop3-server $ apt-cache search imap-server</screen></para></footnote> Cependant, si vous fournissez un accès IMAP, notez qu'il s'agit d'un protocole générique d'accès aux fichiers, il peut devenir l'équivalent d'un accès à l'interpréteur de commandes car les utilisateurs peuvent être capables de récupérer n'importe quel fichier par celle-ci.

en: Try, for example, to configure as your inbox path <literal>{server.com}/etc/passwd</literal> if it succeeds your IMAP daemon is not properly configured to prevent this kind of access.
fr: Essayez, par exemple, de configurer comme chemin de votre boîte de réception <literal>{server.com}/etc/passwd</literal>, si cela réussit, votre démon IMAP n'est pas configuré correctement pour empêcher ce genre d'accès.

en: Of the IMAP servers in Debian the <command>cyrus</command> server (in the <application>cyrus-imapd</application> package) gets around this by having all access to a database in a restricted part of the file system. Also, <command>uw-imapd</command> (either install the <application>uw-imapd</application> or better, if your IMAP clients support it, <application>uw-imapd-ssl</application>) can be configured to chroot the users mail directory but this is not enabled by default. The documentation provided gives more information on how to configure it.
fr: Parmi les serveurs IMAP dans Debian, le serveur <command>cyrus</command> (dans le paquet <application>cyrus-imapd</application>) contourne cela en ayant tous les accès sur une base de données dans une partie restreinte du système de fichiers. Également, <command>uw-imapd</command> (installez soit <application>uw-imapd</application> ou mieux, si votre client IMAP le gère, <application>uw-imapd-ssl</application>) peut être configuré pour «&nbsp;chrooter&nbsp;» les répertoires de courrier des utilisateurs, mais cela n'est pas activé par défaut. La documentation fournie donne plus d'informations sur la façon de le configurer.

en: Also, you might want to run an IMAP server that does not need valid users to be created on the local system (which would grant shell access too), <application>courier-imap</application> (for IMAP) and <application>courier-pop</application>, <application>teapop</application> (for POP3) and <application>cyrus-imapd</application> (for both POP3 and IMAP) provide servers with authentication methods beside the local user accounts. <command>cyrus</command> can use any authentication method that can be configured through PAM while <command>teapop</command> might use databases (such as <application>postgresql</application> and <application>mysql</application>) for user authentication.
fr: Vous pouvez également vouloir faire fonctionner un serveur IMAP qui n'ait pas besoin que des utilisateurs valables soient créés sur le système local (ce qui donnerait également un accès à l'interpréteur de commande), les paquets <application>courier-imap</application> (pour IMAP), <application>courier-pop</application> <application>teapop</application> (pour POP3) et <application>cyrus-imapd</application> (pour POP3 et IMAP) fournissent des serveurs avec des méthodes d'authentification en plus des comptes utilisateur locaux. <command>cyrus</command> peut utiliser toute méthode d'authentification qui peut être configurée par PAM tandis que <command>teapop</command> peut utiliser des bases de données (comme <application>postgresql</application> et <application>mysql</application>) pour l'authentification des utilisateurs.

en: FIXME: Check: <application>uw-imapd</application> might be configured with user authentication through PAM too.
fr: FIXME : Vérifier : <application>uw-imapd</application> peut être configuré avec l'authentification utilisateur grâce à PAM également.

en: Receiving mail securely
fr: Réception du courrier de manière sûre

en: Reading/receiving mail is the most common clear-text protocol. If you use either POP3 or IMAP to get your mail, you send your clear-text password across the net, so almost anyone can read your mail from now on. Instead, use SSL (Secure Sockets Layer) to receive your mail. The other alternative is SSH, if you have a shell account on the box which acts as your POP or IMAP server. Here is a basic <filename>fetchmailrc</filename> to demonstrate this:
fr: La lecture et réception du courrier sont des protocoles en texte clair parmi les plus courants. Si vous utilisez POP3 ou IMAP pour récupérer le courrier, vous envoyez votre mot de passe en clair à travers le réseau, et donc presque tout le monde peut lire votre courrier à partir de maintenant. À la place, utilisez SSL (Secure Sockets Layer) pour recevoir votre courrier. L'autre alternative est SSH, si vous avez un compte avec interpréteur de commandes sur la machine qui sert de serveur POP ou IMAP. Voici un <filename>fetchmailrc</filename> simple décrivant cela&nbsp;:

en: 
    poll my-imap-mailserver.org via "localhost"
      with proto IMAP port 1236
          user "ref" there with password "hackme" is alex here warnings 3600
        folders
          .Mail/debian
        preconnect 'ssh -f -P -C -L 1236:my-imap-mailserver.org:143 -l ref
         my-imap-mailserver.org sleep 15 &lt;/dev/null &gt; /dev/null'
fr: 
    poll mon-serveur-imap.org via "localhost"
      with proto IMAP port 1236
          user "ref" there with password "hackme" is alex here warnings 3600
        folders
          .Mail/debian
        preconnect 'ssh -f -P -C -L 1236:my-imap-mailserver.org:143 -l ref
         mon-serveur-imap.org sleep 15 &lt;/dev/null &gt; /dev/null'

en: The preconnect is the important line. It fires up an ssh session and creates the necessary tunnel, which automatically forwards connections to localhost port 1236 to the IMAP mail server, but encrypted. Another possibility would be to use <command>fetchmail</command> with the SSL feature.
fr: Le preconnect est la ligne importante. Il lance une session SSH et crée le tunnel nécessaire, qui relaie automatiquement les connexions au port local 1236 vers le port IMAP du serveur de mail, mais chiffrées. Une autre possibilité serait d'utiliser <command>fetchmail</command> avec la fonctionnalité SSL.

en: If you want to provide encrypted mail services like POP and IMAP, <literal>apt-get install stunnel</literal> and start your daemons this way:
fr: Si vous désirez fournir des services de courrier comme POP et IMAP chiffrés, <literal>apt-get install stunnel</literal> et démarrez vos démons ainsi&nbsp;:

en: This command wraps the provided daemon (-l) to the port (-d) and uses the specified SSL certificate (-p).
fr: Cette commande encapsule le démon fourni (-l) au port (-d) et utilise le certificat SSL indiqué (-p).

en: Securing BIND
fr: Sécurisation de BIND

en: There are different issues that can be tackled in order to secure the Domain server daemon, which are similar to the ones considered when securing any given service:
fr: Il y a différents problèmes qui peuvent être traités pour sécuriser le démon de serveur de domaine; problèmes similaires à ceux étudiés quand on sécurise n'importe quel service donné&nbsp;:

en: configuring the daemon itself properly so it cannot be misused from the outside (see <xref linkend="configure-bind" />). This includes limiting possible queries from clients: zone transfers and recursive queries.
fr: configurer le démon lui-même pour qu'il ne puisse pas être mal utilisé de l'extérieur (consultez <xref linkend="configure-bind" />). Cela inclut limiter les requêtes possibles pour les clients&nbsp;: transferts de zones et requêtes récursives ;

en: limit the access of the daemon to the server itself so if it is used to break in, the damage to the system is limited. This includes running the daemon as a non-privileged user (see <xref linkend="user-bind" />) and chrooting it (see <xref linkend="chroot-bind" />).
fr: limiter l'accès du démon au serveur lui-même, ainsi s'il est utilisé pour s'introduire, les dommages au système sont limités. Cela inclut d'exécuter le démon en tant qu'utilisateur non privilégié (consultez <xref linkend="user-bind" />) et le chrooter (consultez <xref linkend="chroot-bind" />).

en: Bind configuration to avoid misuse
fr: Configuration de BIND pour éviter de mauvaises utilisations

en: You should restrict some of the information that is served from the DNS server to outside clients so that it cannot be used to retrieve valuable information from your organization that you do not want to give away. This includes adding the following options: <emphasis>allow-transfer</emphasis>, <emphasis>allow-query</emphasis>, <emphasis>allow-recursion</emphasis> and <emphasis>version</emphasis>. You can either limit this on the global section (so it applies to all the zones served) or on a per-zone basis. This information is documented in the <application>bind-doc</application> package, read more on this on <filename>/usr/share/doc/bind/html/index.html</filename> once the package is installed.
fr: Vous devriez restreindre certains renseignements donnés par le serveur DNS aux clients extérieurs pour l'empêcher d'être utilisé pour obtenir des informations de valeur sur votre organisation que vous ne voudriez pas divulguer. Cela inclut l'ajout des options suivantes&nbsp;: <emphasis>allow-transfer</emphasis>, <emphasis>allow-query</emphasis>, <emphasis>allow-recursive</emphasis> et <emphasis>version</emphasis>. Vous pouvez soit limiter cela dans la section globale (pour que cela s'applique à toutes les zones servies) ou individuellement par zone. Cette information est documentée dans le paquet <application>bind-doc</application>, consultez <filename>/usr/share/doc/bind/html/index.html</filename> en plus à ce sujet une fois que le paquet est installé.

en: Imagine that your server is connected to the Internet and to your internal (your internal IP is 192.168.1.2) network (a basic multi-homed server), you do not want to give any service to the Internet and you just want to enable DNS lookups from your internal hosts. You could restrict it by including in <filename>/etc/bind/named.conf</filename>:
fr: Imaginez que votre serveur (un serveur avec plusieurs adresses de base) est connecté à Internet et à votre réseau interne (votre adresse IP interne est 192.168.1.2), vous ne voulez fournir aucun service à Internet et vous voulez juste autoriser les consultations DNS à partir de vos hôtes internes. Vous pourriez le restreindre en incluant dans <filename>/etc/bind/named.conf</filename>:

en: The <emphasis>listen-on</emphasis> option makes the DNS bind to only the interface that has the internal address, but, even if this interface is the same as the interface that connects to the Internet (if you are using NAT, for example), queries will only be accepted if coming from your internal hosts. If the system has multiple interfaces and the <emphasis>listen-on</emphasis> is not present, only internal users could query, but, since the port would be accessible to outside attackers, they could try to crash (or exploit buffer overflow attacks) on the DNS server. You could even make it listen only on 127.0.0.1 if you are not giving DNS service for any other systems than yourself.
fr: L'option <emphasis>listen-on</emphasis> lie uniquement le DNS à l'interface ayant une adresse interne, mais, même si cette interface est la même que l'interface qui permet la connexion à Internet (par l'utilisation de NAT, par exemple), les requêtes ne seront acceptées que si celles-ci proviennent d'hôtes internes. Si le système est constitué de plusieurs interfaces et que le <emphasis>listen-on</emphasis> n'est pas présent, seuls les utilisateurs internes pourront émettre des requêtes, mais, puisque le port restera accessible à des attaquants externes, ils pourront essayer de faire tomber (ou exploiter une attaque de débordement de tampon sur) le serveur DNS. Vous pouvez même le mettre uniquement en écoute sur l'adresse 127.0.0.1 si vous ne désirez offrir le service à personne d'autre que vous même.

en: The version.bind record in the chaos class contains the version of the currently running bind process. This information is often used by automated scanners and malicious individuals who wish to determine if one's <command>bind</command> is vulnerable to a specific attack. By providing false or no information in the version.bind record, one limits the probability that one's server will be attacked based on its published version. To provide your own version, use the <emphasis>version</emphasis> directive in the following manner:
fr: L'enregistrement version.bind dans la classe chaos contient la version du processus bind actuellement en cours d'exécution. Cette information est souvent utilisée par des scanners automatisés et des individus malveillants qui souhaitent déterminer si un <command>bind</command> est vulnérable à une attaque spécifique. En fournissant des informations fausses ou pas d'informations du tout, on limite la probabilité qu'un serveur soit attaqué sur la base de la version qu'il publie. Pour fournir votre propre version, utilisez la directive <emphasis>version</emphasis> de la manière suivante&nbsp;:

en:  options { ... various options here ...
    version "Not available."; };
fr: options {
            ... diverses options ici ...
            version "Not available.";
     };

en: Changing the version.bind record does not provide actual protection against attacks, but it might be considered a useful safeguard.
fr: Changer l'enregistrement version.bind ne fournit pas actuellement de protection contre les attaques, mais cela devrait être considéré comme une protection utile.

en: A sample <filename>named.conf</filename> configuration file might be the following:
fr: Un fichier de configuration <filename>named.conf</filename> d'exemple pourrait être me suivant&nbsp;:

en: 
    acl internal {
            127.0.0.1/32;           // localhost
            10.0.0.0/8;             // internal
            aa.bb.cc.dd;            // eth0 IP
    };
    
    acl friendly {
            ee.ff.gg.hh;            // slave DNS
            aa.bb.cc.dd;            // eth0 IP
            127.0.0.1/32;           // localhost
            10.0.0.0/8;             // internal
    };
    
    options {
            directory "/var/cache/bind";
            allow-query { internal; };
            allow-recursion { internal; };
            allow-transfer { none; };
    };
    // From here to the mysite.bogus zone 
    // is basically unmodified from the debian default
    logging {
            category lame-servers { null; };
            category cname { null; };   
    };
    
    zone "." {
            type hint;
            file "/etc/bind/db.root";
    };
    
    zone "localhost" {
            type master;
            file "/etc/bind/db.local";
    };
    
    zone "127.in-addr.arpa" {
            type master;
            file "/etc/bind/db.127";
    };
    
    zone "0.in-addr.arpa" {
            type master;
            file "/etc/bind/db.0";
    };
    
    zone "255.in-addr.arpa" {
            type master;
            file "/etc/bind/db.255";
    };
    
    // zones I added myself
    zone "mysite.bogus" {
            type master;
            file "/etc/bind/named.mysite";
            allow-query { any; };
            allow-transfer { friendly; };
    };
fr: 
    acl internal {
            127.0.0.1/32;           // localhost
            10.0.0.0/8;             // interne
            aa.bb.cc.dd;            // IP eth0
    };
    
    acl friendly {
            ee.ff.gg.hh;            // DNS escalve
            aa.bb.cc.dd;            // IP eth0
            127.0.0.1/32;           // localhost
            10.0.0.0/8;             // interne
    };
    
    options {
            directory "/var/cache/bind";
            allow-query { internal; };
            allow-recursion { internal; };
            allow-transfer { none; };
    };
    // À partir d'ici jusqu'à la zone mysite.bogus
    // est dans l'ensemble non modifié des valeurs par défaut Debian
    logging {
            category lame-servers { null; };
            category cname { null; };   
    };
    
    zone "." {
            type hint;
            file "/etc/bind/db.root";
    };
    
    zone "localhost" {
            type master;
            file "/etc/bind/db.local";
    };
    
    zone "127.in-addr.arpa" {
            type master;
            file "/etc/bind/db.127";
    };
    
    zone "0.in-addr.arpa" {
            type master;
            file "/etc/bind/db.0";
    };
    
    zone "255.in-addr.arpa" {
            type master;
            file "/etc/bind/db.255";
    };
    
    // Zones ajoutées moi-même
    zone "mysite.bogus" {
            type master;
            file "/etc/bind/named.mysite";
            allow-query { any; };
            allow-transfer { friendly; };
    };

en: Please (again) check the Bug Tracking System regarding Bind, specifically <ulink name="Bug #94760 (regarding ACLs on zone transfers)" url="http://bugs.debian.org/94760" />. Feel free to contribute to the bug report if you think you can add useful information.
fr: Veuillez vérifier (de nouveau) le système de suivi des bogues (BTS) à propos de BIND, en particulier le <ulink url="http://bugs.debian.org/94760" name="bogue nº 94760 (à propos des ACL sur les transferts de zone)" />. Vous pouvez contribuer si vous le désirez au rapport de bogue si vous pensez pouvoir ajouter des informations utiles.

en: Changing BIND's user
fr: Changer l'utilisateur de BIND

en: Regarding limiting BIND's privileges you must be aware that if a non-root user runs BIND, then BIND cannot detect new interfaces automatically, for example when you put a PCMCIA card into your laptop. Check the <filename>README.Debian</filename> file in your named documentation (<filename>/usr/share/doc/bind/README.Debian</filename>) directory for more information about this issue. There have been many recent security problems concerning BIND, so switching the user is useful when possible. We will detail here the steps needed in order to do this, however, if you want to do this in an automatic way you might try the script provided in <xref linkend="bind-chuser" />.
fr: Concernant la limitation des privilèges de BIND vous devez être conscient que si un utilisateur différent du superutilisateur exécute BIND, alors BIND ne peut pas détecter de nouvelles interfaces automatiquement, par exemple, quand vous insérez une carte PCMCIA dans un portable. Consultez le fichier <filename>README.Debian</filename> du répertoire de documentation de named (<filename>/usr/share/doc/bind/README.Debian</filename>) pour plus d'informations sur ce problème. De nombreux problèmes de sécurité concernant BIND ont été récemment découverts, donc le changement d'utilisateur est utile si possible, cependant si vous désirez le faire de façon automatique, vous pouvez essayer le script fourni dans <xref linkend="bind-chuser" />.

en: Notice, in any case, that this only applies to BIND version 8. In the Debian packages for BIND version 9 (since the 9.2.1-5 version, available since <emphasis>sarge</emphasis>) the <emphasis>bind</emphasis> user is created and used by setting the OPTIONS variable in <filename>/etc/default/bind9</filename>. If you are using BIND version 9 and your name server daemon is not running as the <emphasis>bind</emphasis> user verify the settings on that file.
fr: Remarquez, de toute façon, que cela ne concerne que la version 8 de BIND. Dans les paquets Debian de la version 9 (depuis la version 9.2.1-5, disponible avec Sarge), l'utilisateur <emphasis>bind</emphasis> est créé et utilisé en configurant la variable OPTIONS de <filename>/etc/default/bind9</filename>. Si vous utilisez BIND version 9 et que le démon de serveur de noms ne fonctionne pas avec l'utilisateur <emphasis>bind</emphasis>, vérifiez les configurations de ce fichier.

en: To run BIND under a different user, first create a separate user and group for it (it is <emphasis>not</emphasis> a good idea to use nobody or nogroup for every service not running as root). In this example, the user and group <literal>named</literal> will be used. You can do this by entering:
fr: Pour démarrer BIND sous un autre utilisateur, tout d'abord créez un utilisateur et un groupe séparé (ce n'est <emphasis>pas</emphasis> une bonne idée d'utiliser nobody ou nogroup pour chaque service ne devant pas tourner en tant que superutilisateur). Dans cet exemple, l'utilisateur et le groupe <literal>named</literal> seront utilisés. Vous pouvez faire cela en tapant&nbsp;:

en: Notice that the user <literal>named</literal> will be quite restricted. If you want, for whatever reason, to have a less restrictive setup use:
fr: Notez que l'utilisateur <literal>named</literal> sera très restreint. Si vous désirez, pout toute raison, avoir une configuration moins restrictive, utilisez&nbsp;:

en: Now you can either edit <filename>/etc/init.d/bind</filename> with your favorite editor and change the line beginning with
fr: Maintenant vous pouvez soit éditer, à l'aide de votre éditeur favori, <filename>/etc/init.d/bind</filename> et modifiez les lignes commençant par

en: to<footnote><para>Note that depending on your bind version you might not have the <literal>-g</literal> option, most notably if you are using bind9 in sarge (9.2.4 version).</para></footnote>
fr: en<footnote><para>Notez que selon la version de BIND, l'option <literal>-g</literal> risque de ne pas être disponible, en particulier si vous utilisez bind9 avec <emphasis>Sarge</emphasis> (version 9.2.4).</para></footnote>

en: Or you can change (create it if it does not exit) the default configuration file (<filename>/etc/default/bind</filename> for BIND version 8) and introduce the following:
fr: soit modifier (créez-le s'il n'existe pas) le fichier de configuration par défaut (<filename>/etc/default/bind</filename> pour BIND en version 8) et introduisez ceci :

en: Change the permissions of files that are used by Bind, including <filename>/etc/bind/rndc.key</filename>:
fr: Modifiez les permissions des fichiers utilisés par BIND, y compris <filename>/etc/bind/rndc.key</filename>&nbsp;:

en: and where bind creates its pidfile, using, for example, <filename>/var/run/named</filename> instead of <filename>/var/run</filename>:
fr: et l'endroit où BIND crée son fichier pid en utilisant, par exemple <filename>/var/run/named</filename> au lieu de <filename>/var/run</filename>&nbsp;:

en: 
    $ mkdir /var/run/named
    $ chown named.named /var/run/named
    $ vi /etc/named.conf
    [ ... update the configuration file to use this new location ...]
    options { ...
            pid-file "/var/run/named/named.pid";
    };
    [ ... ]
fr: 
    $ mkdir /var/run/named
    $ chown named.named /var/run/named
    $ vi /etc/named.conf
    [ ... mettez le fichier de configuration à jour en utilisant ce nouvel
    emplacement ...]
    options { ...
            pid-file "/var/run/named/named.pid";
    };
    [ ... ]

en: Also, in order to avoid running anything as root, change the <literal>reload</literal> line in the init.d script by substituting:
fr: Pour éviter également d'exécuter quoi que ce soit en tant que superutilisateur, modifiez la ligne <literal>reload</literal> du script init.d en substituant :

en: to:
fr: par :

en: Note: Depending on your Debian version you might have to change the <literal>restart</literal> line too. This was fixed in Debian's bind version <literal>1:8.3.1-2</literal>.
fr: Remarque : selon la version de Debian, vous pouvez devoir changer la ligne <literal>restart</literal> également. Cela a été corrigé dans la version <literal>1:8.3.1-2</literal> de BIND pour Debian.

en: All you need to do now is to restart bind via <literal>/etc/init.d/bind restart</literal>, and then check your syslog for two entries like this:
fr: Il ne reste plus qu'à redémarrer BIND à l'aide de <literal>/etc/init.d/bind restart</literal>, puis rechercher dans le journal système les deux entrées suivantes&nbsp;:

en: Voilà! Your named now <emphasis>does not</emphasis> run as root. If you want to read more information on why BIND does not run as non-root user on Debian systems, please check the Bug Tracking System regarding Bind, specifically <ulink name="Bug #50013: bind should not run as root" url="http://bugs.debian.org/50013" /> and <ulink name="Bug #132582: Default install is potentially insecure" url="http://bugs.debian.org/132582" />, <ulink name="Bug #53550" url="http://bugs.debian.org/53550" />, <ulink name="Bug #52745" url="http://bugs.debian.org/52745" />, and <ulink name="Bug #128129" url="http://bugs.debian.org/128129" />. Feel free to contribute to the bug reports if you think you can add useful information.
fr: Voilà&nbsp;! Maintenant named ne s'exécute <emphasis>plus</emphasis> en tant que superutilisateur. Si vous voulez lire plus d'informations sur pourquoi BIND ne fonctionne pas en tant qu'utilisateur non superutilisateur sur les systèmes Debian, veuillez vérifier le système de suivi des bogues concernant BIND, en particulier les bogues <ulink url="http://bugs.debian.org/50013" name="nº 50013 : bind ne devrait pas fonctionner en tant que superutilisateur" />, <ulink url="http://bugs.debian.org/132582" name="nº 132582 : l'installation par défaut est potentiellement non sécurisée" />, <ulink url="http://bugs.debian.org/53550" name="nº 53550" />, <ulink url="http://bugs.debian.org/52745" name="nº 52745" /> et <ulink url="http://bugs.debian.org/128129" name="nº 128129" />. Vous pouvez contribuer à ces rapports de bogue si vous le désirez si vous pensez pouvoir ajouter des informations utiles.

en: Chrooting the name server
fr: Chrooter le serveur de domaine

en: To achieve maximum BIND security, now build a chroot jail (see <xref linkend="chroot" />) around your daemon. There is an easy way to do this: the <literal>-t</literal> option (see the <citerefentry><refentrytitle>named</refentrytitle> <manvolnum>8</manvolnum></citerefentry> manual page or page 100 of <ulink name="Bind's 9 documentation (PDF)" url="http://www.nominum.com/content/documents/bind9arm.pdf" />). This will make Bind chroot itself into the given directory without you needing to set up a chroot jail and worry about dynamic libraries. The only files that need to be in the chroot jail are:
fr: Pour atteindre une sécurité de BIND maximale, construisez maintenant une prison chroot (consultez <xref linkend="chroot" />) autour du démon. Il y a un moyen facile de faire cela&nbsp;: l'option <literal>-t</literal> (consultez la page de manuel <citerefentry><refentrytitle>named</refentrytitle> <manvolnum>8</manvolnum></citerefentry> ou la page 100 de la <ulink url="http://www.nominum.com/content/documents/bind9arm.pdf" name="documentation de BIND 9 (PDF)" />). Cela fera que BIND se chrootera lui-même dans le répertoire donné sans que vous ayez besoin de configurer une prison chroot et de vous inquiéter au sujet des bibliothèques dynamiques. Les seuls fichiers qui doivent être dans cette prison chroot&nbsp;:

en: 
    dev/null
    etc/bind/       - should hold named.conf and all the server zones
    sbin/named-xfer - if you do name transfers
    var/run/named/  - should hold the PID and the name server cache (if
                      any) this directory needs to be writable by named user
    var/log/named   - if you set up logging to a file, needs to be writable
                      for the named user
    dev/log         - syslogd should be listening here if named is configured to
                      log through it
fr: 
    dev/null
    etc/bind/       - doit contenir named.conf et toutes les zones du serveur
    sbin/named-xfer - si vous faites du transfert de nom
    var/run/named/  - devrait contenir le PID et le cache du serveur de nom
                      (s'il existe), ce répertoire doit être accessible en
                      écriture à l'utilisateur named
    var/log/named   - si vous configurez le journal vers un fichier, doit
                      être accessible en écriture à l'utilisateur named
    dev/log         - syslogd devrait écouter ici si named est configuré
                      pour journaliser en l'utilisant

en: In order for your Bind daemon to work properly it needs permission in the named files. This is an easy task since the configuration files are always at <literal>/etc/named/</literal>. Take into account that it only needs read-only access to the zone files, unless it is a secondary or cache name server. If this is your case you will have to give read-write permissions to the necessary zones (so that zone transfers from the primary server work).
fr: Pour que le démon BIND fonctionne correctement il a besoin de permissions dans les fichiers named. C'est une tâche facile car les fichiers de configuration sont toujours dans <literal>/etc/named</literal>. Prenez en compte qu'il n'a besoin que d'un accès en lecture seule aux fichiers de zone, sauf s'il s'agit un serveur de nom secondaire ou serveur cache. Si c'est le cas vous devrez permettre la lecture et l'écriture aux zones nécessaires (pour que les transferts de zone à partir du serveur primaire fonctionnent).

en: Also, you can find more information regarding Bind chrooting in the <ulink name="Chroot-BIND-HOWTO" url="http://www.tldp.org/HOWTO/Chroot-BIND-HOWTO.html" /> (regarding Bind 9) and <ulink name="Chroot-BIND8-HOWTO" url="http://www.tldp.org/HOWTO/Chroot-BIND8-HOWTO.html" /> (regarding Bind 8). This same documents should be available through the installation of the <application>doc-linux-text</application> (text version) or <application>doc-linux-html</application> (HTML version). Another useful document is <ulink url="http://web.archive.org/web/20011024064030/http://www.psionic.com/papers/dns/dns-linux" />.
fr: De plus, vous pouvez trouver plus d'informations concernant le chrootage de BIND dans le <ulink url="http://www.linuxdoc.org/HOWTO/Chroot-BIND-HOWTO.html" name="Chroot-BIND-HOWTO" /> (au sujet de BIND 9) et <ulink url="http://www.linuxdoc.org/HOWTO/Chroot-BIND8-HOWTO.html" name="Chroot-BIND8-HOWTO" /> (au sujet de BIND 8). Ces mêmes documents devraient être disponibles par l'installation de <application>doc-linux-text</application> (version texte) ou <application>doc-linux-html</application> (version HTML). Un autre document utile est <ulink url="http://web.archive.org/web/20011024064030/http://www.psionic.com/papers/dns/dns-linux" />.

en: If you are setting up a full chroot jail (i.e. not just <literal>-t</literal>) for Bind in Debian, make sure you have the following files in it<footnote><para>This setup has not been tested for new release of Bind yet.</para></footnote>:
fr: Si vous configurez une véritable prison chroot (c'est-à-dire pas seulement l'option <literal>-t</literal>) pour BIND dans Debian, assurez-vous qu'elle contient les fichiers suivants<footnote><para>Cette configuration n'a pas encore été essayée pour les nouvelles versions de BIND.</para></footnote> :

en: 
    dev/log - syslogd should be listening here
    dev/null
    etc/bind/named.conf 
    etc/localtime
    etc/group - with only a single line: "named:x:GID:"
    etc/ld.so.cache - generated with ldconfig 
    lib/ld-2.3.6.so
    lib/libc-2.3.6.so
    lib/ld-linux.so.2 - symlinked to ld-2.3.6.so
    lib/libc.so.6 - symlinked to libc-2.3.6.so
    sbin/ldconfig - may be deleted after setting up the chroot
    sbin/named-xfer - if you do name transfers
    var/run/
fr: 
    dev/log - syslogd devrait écouter ici
    dev/null
    etc/bind/named.conf 
    etc/localtime
    etc/group - avec une seule ligne: "named:x:GID:"
    etc/ld.so.cache - généré avec ldconfig
    lib/ld-2.3.6.so
    lib/libc-2.3.6.so
    lib/ld-linux.so.2 - lié symboliquement à ld-2.3.6.so  
    lib/libc.so.6 - lié symboliquement à libc-2.3.6.so
    sbin/ldconfig - pourra être effacé après la configuration du chroot
    sbin/named-xfer - si vous faites des transferts de nom
    var/run/

en: And modify also <command>syslogd</command> listen on <literal>$CHROOT/dev/log</literal> so the named server can write syslog entries into the local system log.
fr: Modifiez aussi l'écoute de <command>syslogd</command> sur <literal>$CHROOT/dev/log</literal> pour que le serveur de nom puisse écrire des entrées de journalisation système dans le journal du système local.

en: If you want to avoid problems with dynamic libraries, you can compile bind statically. You can use <command>apt-get</command> for this, with the <literal>source</literal> option. It can even download the packages you need to properly compile it. You would need to do something similar to:
fr: Pour éviter des problèmes avec les bibliothèques dynamiques, vous pouvez compiler BIND statiquement. Vous pouvez utiliser <command>apt-get</command> pour cela avec l'option <literal>source</literal>. Il peut même récupérer les paquets dont vous avez besoin pour le compiler correctement. Il vous faudrait faire quelque chose comme&nbsp;:

en: 
    $ apt-get source bind
    # apt-get build-dep bind
    $ cd bind-8.2.5-2
      (edit src/port/linux/Makefile so CFLAGS includes the '-static'
       option)
    $ dpkg-buildpackage -rfakeroot -uc -us
    $ cd ..
    # dpkg -i bind-8.2.5-2*deb
fr: 
    $ apt-get source bind
    # apt-get build-dep bind
    $ cd bind-8.2.5-2
      (modifier src/port/linux/Makefile pour que CFLAGS contienne
       l'option « -static »)
    $ dpkg-buildpackage -rfakeroot -uc -us
    $ cd ..
    # dpkg -i bind-8.2.5-2*deb

en: After installation, you will need to move around the files to the chroot jail<footnote><para>Unless you use the <literal>instdir</literal> option when calling <command>dpkg</command> but then the chroot jail might be a little more complex.</para></footnote> you can keep the <literal>init.d</literal> scripts in <filename>/etc/init.d</filename> so that the system will automatically start the name server, but edit them to add <literal>--chroot /location_of_chroot</literal> in the calls to <command>start-stop-daemon</command> in those scripts or use the <emphasis>-t</emphasis> option for BIND by setting it in the OPTIONS argument at the <filename>/etc/default/bind</filename> (for version 8) or <filename>/etc/default/bind9</filename> (for version 9) configuration file.
fr: Après l'installation, vous devrez déplacer des fichiers dans la prison chroot<footnote><para>Sauf si vous utilisez l'option <literal>instdir</literal> lors de l'appel à <command>dpkg</command> mais alors la prison chroot peut être un petit peu plus complexe.</para></footnote> vous pouvez conserver les scripts <literal>init.d</literal> dans <filename>/etc/init.d</filename> pour que le système lance automatiquement le serveur de domaine, mais éditez les pour ajouter <literal>--chroot /location_of_chroot</literal> dans les appels à <command>start-stop-daemon</command> dans ces scripts ou utilisez l'option <emphasis>-t</emphasis> de BIND en la configurant dans l'argument OPTIONS du fichier de configuration <filename>/etc/default/bind</filename> (pour la version 8) ou <filename>/etc/default/bind9</filename> (pour la version 9).

en: For more information on how to set up chroots see <xref linkend="chroot" />.
fr: Pour plus d'informations sur la mise en place de chroots, consultez <xref linkend="chroot" />.

en: FIXME: Merge info from <ulink url="http://people.debian.org/~pzn/howto/chroot-bind.sh.txt" />, <ulink url="http://www.cryptio.net/~ferlatte/config/" /> (Debian-specific), <ulink url="http://web.archive.org/web/20021216104548/http://www.psionic.com/papers/whitep01.html" /> and <ulink url="http://csrc.nist.gov/fasp/FASPDocs/NISTSecuringDNS.htm" />.
fr: FIXME : Inclure les informations provenant de <ulink url="http://people.debian.org/~pzn/howto/chroot-bind.sh.txt" />, <ulink url="http://www.cryptio.net/~ferlatte/config/" /> (spécifique Debian), <ulink url="http://web.archive.org/web/20021216104548/http://www.psionic.com/papers/whitep01.html" />, <ulink url="http://csrc.nist.gov/fasp/FASPDocs/NISTSecuringDNS.htm" />.

en: Securing Apache
fr: Sécurisation d'Apache

en: FIXME: Add content: modules provided with the normal Apache installation (under /usr/lib/apache/X.X/mod_*) and modules that can be installed separately in libapache-mod-XXX packages.
fr: FIXME : Ajout de contenu&nbsp;: modules fournis par l'installation normale d'Apache (sous /usr/lib/apache/X.X/mod_*) et modules qui peuvent être installés séparément dans les paquets libapache-mod-XXX.

en: You can limit access to the Apache server if you only want to use it internally (for testing purposes, to access the <application>doc-central</application> archive, etc.) and do not want outsiders to access it. To do this use the <literal>Listen</literal> or <literal>BindAddress</literal> directives in <filename>/etc/apache/http.conf</filename>.
fr: Vous pouvez limiter l'accès au serveur Apache si vous voulez uniquement l'utiliser en interne (dans un but d'essai, pour accéder à l'archive <application>doc-central</application>, etc.) et si vous ne voulez pas que des intrus y accèdent. Pour réaliser cela, utilisez les directives <literal>Listen</literal> ou <literal>BindAddress</literal> dans <filename>/etc/apache/http.conf</filename>.

en: Using Listen:
fr: En utilisant Listen&nbsp;:

en: Using BindAddress:
fr: En utilisant BindAddress&nbsp;:

en: Then restart apache with <literal>/etc/init.d/apache restart</literal> and you will see that it is only listening on the loopback interface.
fr: Ensuite, redémarrez apache avec <literal>/etc/init.d/apache restart</literal> et vous observerez qu'il écoute uniquement l'interface loopback.

en: In any case, if you are not using all the functionality provided by Apache, you might want to take a look at other web servers provided in Debian like <application>dhttpd</application>.
fr: Dans tous les cas, si vous n'utilisez pas toutes les fonctionnalités fournies par Apache, vous pouvez jeter un &oelig;il aux autres serveurs web fournis dans Debian comme <application>dhttpd</application>.

en: The <ulink name="Apache Documentation" url="http://httpd.apache.org/docs/misc/security_tips.html" /> provides information regarding security measures to be taken on Apache web server (this same information is provided in Debian by the <application>apache-doc</application> package).
fr: La <ulink url="http://httpd.apache.org/docs/misc/security_tips.html" name="documentation d'Apache" /> fournit des informations concernant les mesures de sécurité à prendre pour les serveurs web Apache (ces mêmes informations sont fournies dans Debian par le paquet <application>apache-doc</application>).

en: More information on further restricting Apache by setting up a chroot jail is provided in <xref linkend="chroot-apache-env" />.
fr: Plus d'informations sur des restrictions supplémentaires d'Apache en mettant en place une prison chrooté sont disponibles en <xref linkend="chroot-apache-env" />.

en: Disabling users from publishing web contents
fr: Désactiver la publication de contenu sur le web par les utilisateurs

en: The default Apache installation in Debian permits users to publish content under the <filename>$HOME/public_html</filename>. This content can be retrieved remotely using an URL such as: http://your_apache_server/~user.
fr: L'installation par défaut d'Apache dans Debian permet aux utilisateurs de publier du contenu dans leur répertoire <filename>$HOME/public_html</filename>. Ce contenu peut être récupéré à distance en utilisant une URL comme&nbsp;: http://serveur_apache/~utilisateur.

en: If you do not want to permit this you must change the <filename>/etc/apache/http.conf</filename> configuration file commenting out (in Apache 1.3) the following module:
fr: Pour empêcher cela, veuillez modifier le fichier de configuration <filename>/etc/apache/http.conf</filename> en commentant (pour Apache 1.3) le module suivant :

en: If you are using Apache 2.0 you must remove the file <filename>/etc/apache2/mods-enabled/userdir.load</filename> or restrict the default configuration by modifying <filename>/etc/apache2/mods-enabled/userdir.conf</filename>.
fr: Avec Apache 2.0, il faut supprimer le fichier <filename>/etc/apache2/mods-enabled/userdir.load</filename> ou restreindre la configuration par défaut en modifiant <filename>/etc/apache2/mods-enabled/userdir.conf</filename>.

en: However, if the module was linked statically (you can list the modules that are compiled in running <literal>apache -l</literal>) you must add the following to the Apache configuration file:
fr: Cependant, si le module a été lié statiquement (vous pouvez obtenir la liste des modules compilés en exécutant <literal>apache -l</literal>), vous devez ajouter la ligne suivante au fichier de configuration d'Apache :

en: An attacker might still do user enumeration, since the answer of the web server will be a <emphasis>403 Permission Denied</emphasis> and not a <emphasis>404 Not available</emphasis>. You can avoid this if you use the Rewrite module.
fr: Un attaquant peut encore faire de l'énumération d'utilisateur, car la réponse du serveur web sera un <emphasis>403 Permission Denied</emphasis> et non un <emphasis>404 Not available</emphasis>. Vous pouvez éviter cela en utilisant le module Rewrite.

en: Logfiles permissions
fr: Permissions des fichiers de journalisation

en: Apache logfiles, since 1.3.22-1, are owned by user 'root' and group 'adm' with permissions 640. These permissions are changed after rotation. An intruder that accessed the system through the web server would not be able (without privilege escalation) to remove old log file entries.
fr: Les fichiers de journalisation d'Apache, depuis la version&nbsp;1.3.22-1, ont pour propriétaire l'utilisateur «&nbsp;root&nbsp;» et pour groupe «&nbsp;adm&nbsp;» avec les permissions 640. Ces permissions sont changées après la rotation. Un intrus qui peut accéder au système par le serveur web ne pourra pas (sans augmentation de droits) enlever d'anciennes entrées de fichiers de log.

en: Published web files
fr: Fichiers web publiés

en: Apache files are located under <filename>/var/www</filename>. Just after installation the default file provides some information on the system (mainly that it's a Debian system running Apache). The default webpages are owned by user root and group root by default, while the Apache process runs as user www-data and group www-data. This should make attackers that compromise the system through the web server harder to deface the site. You should, of course, substitute the default web pages (which might provide information you do not want to show to outsiders) with your own.
fr: Les fichiers d'Apache sont situés sous <filename>/var/www</filename>. Juste après l'installation, le fichier par défaut fournit quelques informations sur le système (principalement qu'il s'agit d'un système Debian exécutant Apache). Les pages web par défaut appartiennent à l'utilisateur root et au groupe root par défaut alors que le processus Apache s'exécute avec l'utilisateur www-data et le groupe www-data. Cela devrait rendre plus difficile aux attaquants qui compromettent le système par le site web de le défigurer. Vous devriez, bien sûr, remplacer les pages web par défaut (qui peuvent fournir des informations que vous ne voulez pas donner aux visiteurs) avec les vôtres.

en: Securing finger
fr: Sécurisation de finger

en: If you want to run the finger service first ask yourself if you need to do so. If you do, you will find out that Debian provides many finger daemons (output from <command>apt-cache search fingerd</command>):
fr: Si vous désirez utiliser le service finger, demandez-vous si vous en avez réellement besoin. Si oui, vous découvrirez que Debian fournit de nombreux démons finger (sortie d'un <command>apt-cache search fingerd</command>):

en: cfingerd - Configurable finger daemon
fr: cfingerd - démon finger configurable

en: efingerd - Another finger daemon for unix, capable of fine-tuning your output.
fr: efingerd - autre démon finger pour UNIX capable de syntoniser précisément la sortie

en: ffingerd - a secure finger daemon
fr: ffingerd - démon finger sécurisé

en: fingerd - Remote user information server.
fr: fingerd - serveur distant pour informations d'utilisateurs

en: xfingerd - BSD-like finger daemon with qmail support.
fr: xfingerd - démon finger de type BSD avec la prise en charge de qmail

en: <application>ffingerd</application> is the recommended finger daemon if you are going to use it for a public service. In any case, you are encouraged to, when setting it up through inetd, xinetd or tcpserver to: limit the number of processes that will be running at the same time, limit access to the finger daemon from a given number of hosts (using tcp wrappers) and having it only listening to the interface you need it to be in.
fr: <application>ffingerd</application> est le démon finger recommandé si vous comptez l'utiliser pour un service public. Dans tous les cas, vous devriez, lors de la mise en place par inetd, xinetd ou tcpserver, limiter le nombre de processus qui seront lancés en même temps, limiter les accès au démon finger depuis un nombre d'hôtes donné (en utilisant l'encapsulation TCP) et l'avoir en écoute uniquement sur une interface bien définie.

en: General chroot and suid paranoia
fr: Paranoïa généralisée du suid et du chroot

en: <command>chroot</command> is one of the most powerful possibilities to restrict a daemon or a user or another service. Just imagine a jail around your target, which the target cannot escape from (normally, but there are still a lot of conditions that allow one to escape out of such a jail). You can eventually create a modified root environment for the user or service you do not trust. This can use quite a bit of disk space as you need to copy all needed executables, as well as libraries, into the jail. But then, even if the user does something malicious, the scope of the damage is limited to the jail.
fr: <command>chroot</command> est l'une des plus puissantes possibilités pour restreindre un démon, un utilisateur ou un autre service. Imaginez simplement une prison autour de votre cible, de laquelle votre cible ne peut s'échapper (normalement, mais il y a encore beaucoup de conditions qui peuvent permettre de s'échapper d'une telle prison). Si vous ne faites pas confiance à l'utilisateur ou au service, vous pouvez créer un environnement racine modifié pour lui. Cela peut utiliser pas mal d'espace disque car vous devez copier tous les exécutables nécessaires, ainsi que des bibliothèques, dans la prison. Mais alors, même si l'utilisateur fait quelque chose de malveillant, l'étendue des dommages est limitée à la prison.

en: Many services running as daemons could benefit from this sort of arrangement. The daemons that you install with your Debian distribution will not come, however, chrooted<footnote><para>It does try to run them under <emphasis>minimum priviledge</emphasis> which includes running daemons with their own users instead of having them run as root. </para></footnote> per default.
fr: Un grand nombre de services fonctionnant en démons pourraient bénéficier de ce type d'arrangement. Les démons que vous installez dans votre distribution Debian ne seront cependant pas fournis chrootés<footnote><para>Elle essaie de les faire fonctionner avec le <emphasis>minimum de droits</emphasis>, y compris exécuter les démons avec leur propre utilisateur au lieu de les exécuter en tant que superutilisateur.</para></footnote> par défaut.

en: This includes: name servers (such as <command>bind</command>), web servers (such as <command>apache</command>), mail servers (such as <command>sendmail</command>) and ftp servers (such as <command>wu-ftpd</command>). It is probably fair to say that the complexity of BIND is the reason why it has been exposed to a lot of attacks in recent years (see <xref linkend="sec-bind" />).
fr: Exemples : serveurs de noms de domaine (comme <command>bind</command>), serveurs web (comme <command>apache</command>), serveurs de courrier (comme <command>sendmail</command>) et serveurs FTP (comme <command>wu-ftpd</command>). La complexité de BIND est probablement la raison pour laquelle il a été exposé à de nombreuses attaques ces dernières années (consultez <xref linkend="sec-bind" />).

en: However, Debian does provide some software that can help set up <command>chroot</command> environments. See <xref linkend="auto-chroot" />.
fr: Cependant, Debian fournit des logiciels qui peuvent vous aider à mettre en place des environnements <command>chroot</command>. Consultez <xref linkend="auto-chroot" />.

en: Anyway, if you run any service on your system, you should consider running them as secure as possible. This includes: revoking root privileges, running in a restricted environment (such as a chroot jail) or replacing them with a more secure equivalent.
fr: De toute façon, si vous exécutez un quelconque service sur votre système, vous devriez considérer de le faire fonctionner de la façon la plus sécurisée possible. Cela comprend&nbsp;: révoquer les droits du superutilisateur, le faire fonctionner dans un environnement restreint (comme une prison chroot) ou le remplacer par un équivalent plus sécurisé.

en: However, be forewarned that a <command>chroot</command> jail can be broken if the user running in it is the superuser. So, you need to make the service run as a non-privileged user. By limiting its environment you are limiting the world readable/executable files the service can access, thus, you limit the possibilities of a privilege escalation by use of local system security vulnerabilities. Even in this situation you cannot be completely sure that there is no way for a clever attacker to somehow break out of the jail. Using only server programs which have a reputation for being secure is a good additional safety measure. Even minuscule holes like open file handles can be used by a skilled attacker for breaking into the system. After all, <command>chroot</command> was not designed as a security tool but as a testing tool.
fr: Cependant, soyez prévenu qu'une prison <command>chroot</command> peut être cassée si l'utilisateur fonctionnant dedans est le superutilisateur. Vous devez donc faire fonctionner le service avec un utilisateur sans droits élevés. En limitant son environnement, vous limitez les fichiers lisibles et exécutables par tout le monde auxquels le service peut accéder, vous limitez donc aussi les possibilités d'une augmentation de droits en utilisant des failles de sécurité sur le système local. Même dans une situation où vous ne pouvez pas être complètement certain qu'il n'y a pas de moyen pour un attaquant intelligent de sortir de la prison d'une manière ou d'une autre. Utiliser seulement des programmes serveur ayant une réputation de sécurité est une bonne mesure de sécurité additionnelle. Même des trous minuscules comme des descripteurs de fichier peuvent être utilisés par un attaquant doué pour s'introduire dans le système. Après tout, <command>chroot</command> n'a pas été conçu pour être un outil de sécurité, mais un outil de test.

en: Making chrooted environments automatically
fr: Créer des environnements chrooté automatiquement

en: There are several programs to chroot automatically servers and services. Debian currently (accepted in May 2002) provides Wietse Venema's <command>chrootuid</command> in the <application>chrootuid</application> package, as well as <application>compartment</application> and <application>makejail</application>. These programs can be used to set up a restricted environment for executing any program (<command>chrootuid</command> enables you to even run it as a restricted user).
fr: Plusieurs programmes permettent de chrooter automatiquement des serveurs et services. Debian fournit actuellement (accepté en mai 2002) <command>chrootuid</command> de Wietse Venema dans le paquet <application>chrootuid</application>, ainsi que <application>compartment</application> et <application>makejail</application>. Ces programmes peuvent être utilisés pour mettre en place un environnement restreint pour exécuter tout programme (<command>chrootuid</command> vous permet même de l'exécuter avec un utilisateur restreint).

en: Some of these tools can be used to set up the chroot environment easily. The <command>makejail</command> program for example, can create and update a chroot jail with short configuration files (it provides sample configuration files for <command>bind</command>, <command>apache</command>, <command>postgresql</command> and <command>mysql</command>). It attempts to guess and install into the jail all files required by the daemon using <command>strace</command>, <command>stat</command> and Debian's package dependencies. More information at <ulink url="http://www.floc.net/makejail/" />. <command>Jailer</command> is a similar tool which can be retrieved from <ulink url="http://www.balabit.hu/downloads/jailer/" /> and is also available as a Debian package.
fr: Certains de ces outils peuvent être utilisés pour mettre en place l'environnement chrooté facilement. Le programme <command>makejail</command>, par exemple, peut créer et mettre à jour une prison chroot avec de petits fichiers de configuration (il fournit des fichiers de configuration exemple pour <command>bind</command>, <command>apache</command>, <command>postgresql</command> et <command>mysql</command>). Il tente de deviner et d'installer dans la prison tous les fichiers nécessaires au démon en utilisant <command>strace</command>, <command>stat</command> et les dépendances du paquet Debian. De plus amples renseignements sont disponibles à <ulink url="http://www.floc.net/makejail/" />. <command>Jailer</command> est un outil semblable disponible à <ulink url="http://www.balabit.hu/downloads/jailer/" /> et en paquet Debian.

en: General cleartext password paranoia
fr: Paranoïa généralisée du mot de passe en texte clair

en: You should try to avoid any network service which sends and receives passwords in cleartext over a net like FTP/Telnet/NIS/RPC. The author recommends the use of ssh instead of telnet and ftp to everybody.
fr: Vous devriez essayer d'éviter tout service réseau qui envoie et reçoit des mots de passe en texte clair par le net comme FTP/TELNET/NIS/RPC. L'auteur recommande l'utilisation de SSH à la place de TELNET et FTP pour tout le monde.

en: Keep in mind that migrating from telnet to ssh, but using other cleartext protocols does not increase your security in ANY way! Best would be to remove ftp, telnet, pop, imap, http and to supersede them with their respective encrypted services. You should consider moving from these services to their SSL versions, ftp-ssl, telnet-ssl, pop-ssl, https ...
fr: Gardez à l'esprit que la migration de TELNET vers SSH, en conservant l'utilisation d'autres protocoles à texte non chiffrés n'augmente votre sécurité en AUCUNE manière&nbsp;! Le mieux serait de retirer FTP, TELNET, POP, IMAP, HTTP et de les remplacer par leurs services chiffrés respectifs. Vous devriez considérer la migration de ces services vers leurs versions SSL, ftp-ssl, telnet-ssl, pop-ssl, HTTPS, etc.

en: Most of these above listed hints apply to every Unix system (you will find them if reading any other hardening-related document related to Linux and other Unices).
fr: La plupart des astuces ci-dessus s'appliquent à tout système UNIX (vous les trouverez dans des documents de durcissement liés à Linux et autres UNIX).

en: Disabling NIS
fr: Désactivation du NIS

en: You should not use NIS, the Network Information Service, if possible, because it allows password sharing. This can be highly insecure if your setup is broken.
fr: Si possible, évitez d'utiliser NIS, le service d'informations réseau (« Network Information Service »), car il autorise le partage de mot de passe. Cela peut être fortement dangereux si votre installation est cassée.

en: If you need password sharing between machines, you might want to consider using other alternatives. For example, you can setup an LDAP server and configure PAM on your system in order to contact the LDAP server for user authentication. You can find a detailed setup in the <ulink name="LDAP-HOWTO" url="http://www.tldp.org/HOWTO/LDAP-HOWTO.html" /> (<filename>/usr/share/doc/HOWTO/en-txt/LDAP-HOWTO.txt.gz</filename>).
fr: Si vous avez besoin de partager les mots de passe entre machines, pensez à d'autres alternatives. Par exemple, mettre en place un serveur LDAP et configurer PAM sur votre système afin de contacter le serveur LDAP pour l'authentification des utilisateurs. Une installation détaillée est disponible dans le <ulink url="http://www.linuxdoc.org/HOWTO/LDAP-HOWTO.html" name="LDAP-HOWTO" /> (<filename>/usr/share/doc/HOWTO/en-txt/LDAP-HOWTO.txt.gz</filename>).

en: You can read more about NIS security in the <ulink name="NIS-HOWTO" url="http://www.tldp.org/HOWTO/NIS-HOWTO.html" /> (<filename>/usr/share/doc/HOWTO/en-txt/NIS-HOWTO.txt.gz</filename>).
fr: Des informations supplémentaires sur la sécurité de NIS sont disponibles à l'adresse <ulink url="http://www.linuxdoc.org/HOWTO/NIS-HOWTO.html" name="NIS-HOWTO" /> (<filename>/usr/share/doc/HOWTO/fr-txt/NIS-HOWTO.txt.gz</filename>).

en: FIXME (jfs): Add info on how to set this up in Debian.
fr: FIXME (jfs)&nbsp;: Ajouter des renseignements sur la façon de configurer cela dans Debian.

en: Securing RPC services
fr: Sécurisation des services RPC

en: You should disable RPC if you do not need it.
fr: Vous devriez désactiver RPC si vous n'en avez pas besoin.

en: Remote Procedure Call (RPC) is a protocol that programs can use to request services from other programs located on different computers. The <command>portmap</command> service controls RPC services by mapping RPC program numbers into DARPA protocol port numbers; it must be running in order to make RPC calls.
fr: Les appels de procédure à distance («&nbsp;Remote Procedure Call&nbsp;» ou RPC) sont un protocole que les programmes peuvent utiliser pour demander des services de la part d'autres programmes liées sur différents ordinateurs. Le service <command>portmap</command> contrôle les services RPC en convertissant les numéros de programme RPC en numéros de port du protocole DARPA&nbsp;; il doit fonctionner pour pouvoir faire des appels RPC.

en: RPC-based services have had a bad record of security holes, although the portmapper itself hasn't (but still provides information to a remote attacker). Notice that some of the DDoS (distributed denial of service) attacks use RPC exploits to get into the system and act as a so called agent/handler.
fr: Les services basés sur RPC ont eu un mauvaise historique de trous de sécurité, bien que le portmapper lui-même n'en a pas (mais il fournit des informations à un attaquant distant). Notez que certaines des attaques DDoS (déni de service distribué) exploitent RPC pour entrer dans le système et agir en tant qu'agent ou gestionnaire.

en: You only need RPC if you are using an RPC-based service. The most common RPC-based services are NFS (Network File System) and NIS (Network Information System). See the previous section for more information about NIS. The File Alteration Monitor (FAM) provided by the package <application>fam</application> is also an RPC service, and thus depends on <application>portmap</application>.
fr: Vous n'avez besoin de RPC que si vous utilisez un service basé sur RPC. Les services basés sur RPC les plus communs sont NFS (Network File System) et NIS (Network Information System). Consultez la section précédente pour plus d'informations à propos de NIS. Le File Alteration Monitor (FAM) fourni par le paquet <application>fam</application> est également un service RPC et dépend donc de <application>portmap</application>.

en: NFS services are quite important in some networks. If that is the case for you, then you will need to find a balance of security and usability for your network (you can read more about NFS security in the <ulink name="NFS-HOWTO" url="http://www.tldp.org/HOWTO/NFS-HOWTO.html" /> (<filename>/usr/share/doc/HOWTO/en-txt/NFS-HOWTO.txt.gz</filename>)).
fr: Les services NFS sont assez importants dans certains réseaux. Si c'est le cas pour vous, vous aurez alors besoin de trouver un équilibre entre la sécurité et l'utilisabilité du réseau (plus de renseignements à propos de la sécurité NFS sont disponibles dans le <ulink url="http://www.tldp.org/HOWTO/NFS-HOWTO.html" name="NFS-HOWTO" /> ou <filename>/usr/share/doc/HOWTO/fr-txt/NFS-HOWTO.txt.gz</filename>).

en: Disabling RPC services completely
fr: Désactivation des services RPC

en: Disabling portmap is quite simple. There are several different methods. The simplest one in a Debian 3.0 system and later releases is to uninstall the <application>portmap</application> package. If you are running an older Debian version you will have to disable the service as seen in <xref linkend="disableserv" />, because the program is part of the <application>netbase</application> package (which cannot be de-installed without breaking the system).
fr: La désactivation de portmap est assez simple. Il y a différentes méthodes. La plus simple sur un système Debian 3.0 et versions supérieures est de désinstaller le paquet <application>portmap</application>. Si vous exécutez une version plus ancienne, vous devrez désactiver le service comme expliqué dans <xref linkend="disableserv" />, cela est dû au fait que le programme fait partie du paquet <application>netbase</application> (qui ne peut être désinstallé sans endommager le système).

en: Notice that some desktop environments (notably, GNOME) use RPC services and need the portmapper for some of the file management features. If this is your case, you can limit the access to RPC services as described below.
fr: Notez que certains environnements de bureau (notamment, GNOME) utilisent des services RPC et ont besoin du portmapper pour certaines fonctionnalités de gestion de fichiers. Si c'est votre cas, vous pouvez limiter l'accès aux services RPC comme décrit ci-dessous.

en: Limiting access to RPC services
fr: Limiter l'accès aux services RPC

en: Unfortunately, in some cases removing RPC services from the system is not an option. Some local desktop services (notably SGI's <application>fam</application>) are RPC based and thus need a local portmapper. This means that under some situations, users installing a desktop environment (like GNOME) will install the portmapper too.
fr: Malheureusement, dans certains cas, supprimer les services RPC du système n'est pas une option. Certains services de bureau local (notamment <application>fam</application> de SGI) sont basés sur RPC et ont donc besoin d'un portmapper local. Cela veut dire que dans certains circonstances, des utilisateurs installant un environnement de bureau (comme GNOME) installera également le portmapper.

en: There are several ways to limit access to the portmapper and to RPC services:
fr: Il y a différentes façons de limiter l'accès au portmapper et aux services RPC&nbsp;:

en: Block access to the ports used by these services with a local firewall (see <xref linkend="firewall-setup" />).
fr: bloquer l'accès aux ports utilisés par ces services avec un pare-feu local (consultez <xref linkend="firewall-setup" />)&nbsp;;

en: Block access to these services using tcp wrappers, since the portmapper (and some RPC services) are compiled with <filename>libwrap</filename> (see <xref linkend="tcpwrappers" />). This means that you can block access to them through the <filename>hosts.allow</filename> and <filename>hosts.deny</filename> tcp wrappers configuration.
fr: bloquer l'accès à ces services en utilisant l'encapsulation TCP, car le portmapper (et certains services RPC) sont compilés avec <filename>libwrap</filename> (consultez <xref linkend="tcpwrappers" />). Cela veut dire que vous pouvez en bloquer l'accès par la configuration des fichiers <filename>hosts.allow</filename> et <filename>hosts.deny</filename> de l'encapsulation TCP ;

en: Since version 5-5, the <application>portmap</application> package can be configured to listen only on the loopback interface. To do this, modify <filename>/etc/default/portmap</filename>, uncomment the following line: <literal>#OPTIONS="-i 127.0.0.1"</literal> and restart the portmapper. This is sufficient to allow local RPC services to work while at the same time prevents remote systems from accessing them (see, however, <xref linkend="limit-bindaddr" />).
fr: depuis la version 5-5, le paquet <application>portmap</application> peut être configuré pour n'écouter que sur l'interface loopback. Pour faire cela, modifiez <filename>/etc/default/portmap</filename>, décommentez la ligne suivante&nbsp;: <literal>#OPTIONS="-i 127.0.0.1"</literal> et redémarrez le portmapper. Cela est suffisant pour autorisez les services locaux et en même temps pour prévenir les systèmes distants à y accéder (consultez, cependant, <xref linkend="limit-bindaddr" />).

en: Adding firewall capabilities
fr: Ajouter des capacités au pare-feu

en: The Debian GNU/Linux operating system has the built-in capabilities provided by the Linux kernel. If you install a recent Debian release (default kernel installed is 2.6) you will have <command>iptables</command> (netfilter) firewalling available<footnote><para> Available since the kernel version 2.4 (which was the default kernel in Debian 3.0). Previous kernel versions (2.2, available in even older Debian releases) used <command>ipchains</command>. The main difference between <command>ipchains</command> and <command>iptables</command> is that the latter is based on <emphasis>stateful packet inspection</emphasis> which provides for more secure (and easier to build) filtering configurations. Older (and now unsupported) Debian distributions using the 2.0 kernel series needed the appropriate kernel patch.</para></footnote>.
fr: Le système d'exploitation Debian GNU/Linux possède les capacités intégrées fournies par le noyau Linux <footnote><para></para></footnote>. Si vous installez une version récente de Debian (le noyau installé par défaut est le 2.6) vous aurez la fonctionnalité pare-feu <command>iptables</command> (netfilter) disponible<footnote><para>Disponible depuis le noyau 2.4 (qui était le noyau par défaut de Debian 3.0). Les versions de noyau précédentes (2.2, disponibles dans les versions encore plus anciennes de Debian) utilisaient <command>ipchains</command>. La principale différence entre <command>ipchains</command> et <command>iptables</command> est que ce dernier est basé sur une <emphasis>inspection des paquets en fonction de l'état</emphasis> (stateful packet inspection) qui fournit des configurations de filtrage plus sécurisées (et plus faciles à construire). Les distributions Debian plus anciennes (qui ne sont plus prises en charge) utilisant un noyau 2.0 ont besoin du correctif de noyau correspondant.</para></footnote>.

en: Firewalling the local system
fr: Protéger le système local avec un pare-feu

en: You can use firewall rules as a way to secure the access to your local system and, even, to limit the outbound communications made by it. Firewall rules can also be used to protect processes that cannot be properly configured <emphasis>not</emphasis> to provide services to some networks, IP addresses, etc.
fr: Vous pouvez utiliser des règles de pare-feu comme façon de sécuriser l'accès à votre système local et, même, de limiter les connexions sortantes effectuées par celui-ci. Des règles de pare-feu peuvent être également utilisées pour protéger des processus qui ne peuvent être proprement configurés pour <emphasis>ne pas</emphasis> fournir certains services à certains réseaux, certaines adresses IP, etc.

en: However, this step is presented last in this manual basically because it is <emphasis>much</emphasis> better not to depend solely on firewalling capabilities in order to protect a given system. Security in a system is made up of layers, firewalling should be the last to include, once all services have been hardened. You can easily imagine a setup in which the system is solely protected by a built-in firewall and an administrator blissfully removes the firewall rules for whatever reason (problems with the setup, annoyance, human error...), this system would be wide open to an attack if there were no other hardening in the system to protect from it.
fr: Toutefois, cette étape est présentée en dernier dans ce manuel car il est <emphasis>largement</emphasis> préférable de ne pas dépendre exclusivement des capacités d'un pare-feu pour protéger un système donné. La sécurité dans un système est réalisée par couches, le filtrage devrait être la dernière, une fois que tous les services ont été renforcés. Vous pouvez facilement imaginer une installation dans laquelle le système est uniquement protégé par le pare-feu et que l'administrateur enlève bêtement les règles pour n'importe quelle raison (problèmes avec l'installation, exaspération, erreur humaine, etc.), ce système pourrait être grand ouvert à une attaque s'il n'y avait aucun autre renforcement dans le système pour le protéger.

en: On the other hand, having firewall rules on the local system also prevents some bad things from happening. Even if the services provided are configured securely, a firewall can protect from misconfigurations or from fresh installed services that have not yet been properly configured. Also, a tight configuration will prevent trojans <emphasis>calling home</emphasis> from working unless the firewalling code is removed. Note that an intruder does <emphasis>not</emphasis> need superuser access to install a trojan locally that could be remotely controlled (since binding on ports is allowed if they are not priviledged ports and capabilities have not been removed).
fr: D'un autre côté, avoir des règles de pare-feu sur le système local prévient également quelques mauvaises choses de se produire. Même si les services fournis sont configurés avec sécurité, un pare-feu peut protéger des erreurs de configuration ou des services fraîchement installés qui n'ont pas encore été configurés correctement. Une configuration serrée préviendra également un cheval de Troie <emphasis>appelant à la maison</emphasis> de fonctionner sauf si le code de pare-feu est enlevé. Notez qu'un intrus n'a <emphasis>pas</emphasis> besoin de l'accès superutilisateur pour installer un cheval de Troie qui pourrait être contrôlé à distance (car l'ouverture sur des ports est autorisée si le port n'est pas privilégié et si des capacités n'ont pas été supprimées).

en: Thus, a proper firewall setup would be one with a default deny policy, that is:
fr: Une configuration correcte de pare-feu serait donc une règle de refus par défaut, c'est-à-dire&nbsp;:

en: incoming connections are allowed only to local services by allowed machines.
fr: les connexions entrantes ne sont autorisés que pour des services locaux par des machines autorisées&nbsp;;

en: outgoing connections are only allowed to services used by your system (DNS, web browsing, POP, email...).<footnote><para> Unlike personal firewalls in other operating systems, Debian GNU/Linux does not (yet) provide firewall generation interfaces that can make rules limiting them per process or user. However, the iptables code can be configured to do this (see the owner module in the <citerefentry><refentrytitle>iptables</refentrytitle> <manvolnum>8</manvolnum></citerefentry> manual page).</para></footnote>
fr: les connexions sortantes ne sont autorisés que pour les services utilisés par votre système (DNS, navigation web, POP, courrier, etc.)<footnote><para>À la différence des pare-feu personnels d'autres systèmes d'exploitation, Debian&nbsp;GNU/Linux ne fournit pas (encore) d'interface de génération de pare-feu qui puisse créer des règles les limitant par processus ou par utilisateur. Cependant, le code iptables peut être configuré pour faire cela (consultez le module propriétaire (owner) dans la page de manuel <citerefentry><refentrytitle>iptables</refentrytitle> <manvolnum>8</manvolnum></citerefentry>).</para></footnote>&nbsp;;

en: the forward rule denies everything (unless you are protecting other systems, see below).
fr: la règle forward interdit tout (à moins que vous ne protégiez d'autres systèmes, voir ci-dessous)&nbsp;;

en: all other incoming or outgoing connections are denied.
fr: toutes les autres connexions entrantes et sortantes sont interdites.

en: Using a firewall to protect other systems
fr: Utiliser un pare-feu pour protéger d'autres systèmes

en: A Debian firewall can also be installed in order to protect, with filtering rules, access to systems <emphasis>behind</emphasis> it, limiting their exposure to the Internet. A firewall can be configured to prevent access from systems outside of the local network to internal services (ports) that are not public. For example, on a mail server, only port 25 (where the mail service is being given) needs to be accessible from the outside. A firewall can be configured to, even if there are other network services besides the public ones running in the mail server, throw away packets (this is known as <emphasis>filtering</emphasis>) directed towards them.
fr: Un pare-feu Debian peut aussi être installé de façon à protéger, selon des règles de filtrage, l'accès aux systèmes <emphasis>derrière</emphasis> lui, limitant leur exposition à Internet. Un pare-feu peut être configuré pour interdire l'accès de systèmes en dehors de votre réseau local à des services internes (ports) qui ne sont pas publics. Par exemple, sur un serveur de messagerie, seul le port 25 (où le service de courrier est fourni) doit être accessible depuis l'extérieur. Un pare-feu peut être configuré pour, même s'il y a d'autres services en plus des services publics, rejeter les paquets (c'est connu sous le nom de<emphasis>filtrage</emphasis>) dirigés vers eux.

en: You can even set up a Debian GNU/Linux box as a bridge firewall, i.e. a filtering firewall completely transparent to the network that lacks an IP address and thus cannot be attacked directly. Depending on the kernel you have installed, you might need to install the bridge firewall patch and then go to <emphasis>802.1d Ethernet Bridging</emphasis> when configuring the kernel and a new option <emphasis>netfilter ( firewalling ) support</emphasis>. See the <xref linkend="bridge-fw" /> for more information on how to set this up in a Debian GNU/Linux system.
fr: Vous pouvez même installer une machine Debian GNU/Linux en tant que pont pare-feu, c'est-à-dire un pare-feu filtrant complètement transparent pour le réseau qui est dépourvu d'adresse IP et donc ne peut pas être attaqué directement. Selon le noyau que vous avez installé, vous pouvez avoir besoin d'installer le correctif pare-feu pour pont, puis aller à <emphasis>802.1d Ethernet Bridging</emphasis> lors de la configuration du noyau et une nouvelle option <emphasis>netfilter (firewalling) support</emphasis>. Consultez <xref linkend="bridge-fw" /> pour plus d'informations sur la façon de faire cela dans un système Debian&nbsp;GNU/Linux.

en: Setting up a firewall
fr: Mettre en place un pare-feu

en: The default Debian installation, unlike other Linux distributions, does not yet provide a way for the administrator to setup a firewall configuration throughout the default installation but you can install a number of firewall configuration packages (see <xref linkend="firewall-pack" />).
fr: L'installation Debian par défaut, à la différence d'autres distributions Linux, ne fournit pas encore de moyen pour l'administrateur de mettre une configuration de pare-feu lors de l'installation, mais vous pouvez installer un certain nombre de paquets de configuration de pare-feu (consultez <xref linkend="firewall-pack" />).

en: Of course, the configuration of the firewall is always system and network dependant. An administrator must know beforehand what is the network layout and the systems to protect, the services that need to be accessed, and whether or not other network considerations (like NAT or routing) need to be taken into account. Be careful when configuring your firewall, as Laurence J. Lane says in the <application>iptables</application> package:
fr: Bien sûr, la configuration du pare-feu dépend toujours du système et du réseau. Un administrateur doit connaître auparavant quelle est la disposition du réseau, les systèmes qu'il désire protéger et si d'autres considérations réseau (comme le NAT ou le routage) doivent être prises en compte ou non. Soyez prudent quand vous configurez votre pare-feu, comme le dit Laurence J. Lane dans son paquet <application>iptables</application>&nbsp;:

en: <emphasis>The tools can easily be misused, causing enormous amounts of grief by completely crippling network access to a system. It is not terribly uncommon for a remote system administrator to accidentally get locked out of a system hundreds or thousands of miles away. You can even manage to get locked out of a computer who's keyboard is under your own fingers. Please, use due caution.</emphasis>
fr: <emphasis>Les outils peuvent facilement être mal utilisés, entraînant d'énormes quantités de maux en paralysant complètement l'accès au réseau pour un système d'ordinateur. Il n'est pas très inhabituel pour un administrateur système de se bloquer lui-même en dehors du système situé à quelques centaines ou milliers de kilomètres de là. Il est même possible de se bloquer en dehors d'un ordinateur dont le clavier est sous ses doigts. Veuillez s'il vous plaît l'utiliser avec précaution.</emphasis>

en: Remember this: just installing the <application>iptables</application> (or the older firewalling code) does not give you any protection, just provides the software. In order to have a firewall you need to <emphasis>configure</emphasis> it!
fr: Rappelez-vous de cela&nbsp;: installer simplement le paquet <application>iptables</application> (ou l'ancien code de pare-feu) ne vous fournit pas de protection, mais seulement les logiciels. Pour avoir un pare-feu, vous devez le <emphasis>configurer</emphasis>&nbsp;!

en: If you do not have a clue on how to set up your firewall rules manually consult the <emphasis>Packet Filtering HOWTO</emphasis> and <emphasis>NAT HOWTO</emphasis> provided by <application>iptables</application> for offline reading at <filename>/usr/share/doc/iptables/html/</filename>.
fr: Si vous ne savez pas comment configurer les règles de votre pare-feu manuellement, veuillez consulter le <emphasis>Packet Filtering HOWTO</emphasis> et le <emphasis>NAT HOWTO</emphasis> fournis par <application>iptables</application> pour une lecture hors ligne à <filename>/usr/share/doc/iptables/html/</filename>.

en: If you do not know much about firewalling you should start by reading the <ulink name="Firewalling and Proxy Server HOWTO" url="http://www.tldp.org/HOWTO/Firewall-HOWTO.html" />, install the <application>doc-linux-text</application> package if you want to read it offline. If you want to ask questions or need help setting up a firewall you can use the debian-firewall mailing list, see <ulink url="http://lists.debian.org/debian-firewall" />. Also see <xref linkend="references" /> for more (general) pointers on firewalls. Another good iptables tutorial is <ulink url="http://iptables-tutorial.frozentux.net/iptables-tutorial.html" />.
fr: Si vous ne connaissez pas grand chose sur les pare-feu, vous devriez commencer par lire le <ulink url="http://www.tldp.org/HOWTO/Firewall-HOWTO.html" name="Firewalling and Proxy Server HOWTO" />, installez le paquet <application>doc-linux-text</application> si vous voulez le lire hors ligne. Si vous désirez poser des questions ou demander de l'aide pour configurer un pare-feu, vous pouvez utiliser la liste de diffusion debian-firewall, consultez <ulink url="http://lists.debian.org/debian-firewall" />. Consultez également <xref linkend="references" /> pour plus de pointeurs (généraux) sur les pare-feu. Un autre bon tutoriel d'iptables est <ulink url="http://iptables-tutorial.frozentux.net/iptables-tutorial.html" />.

en: Using firewall packages
fr: Paquets pare-feu

en: Setting up manually a firewall can be complicated for novice (and sometimes even expert) administrators. However, the free software community has created a number of tools that can be used to easily configure a local firewall. Be forewarned that some of these tools are oriented more towards local-only protection (also known as <emphasis>personal firewall</emphasis>) and some are more versatile and can be used to configure complex rules to protect whole networks.
fr: Configurer manuellement un pare-feu peut être compliqué pour un administrateur débutant (et même parfois pour un expert). Cependant, la communauté des logiciels libres a créé un certain nombre d'outils pouvant être utilisés pour configurer facilement un pare-feu local. Soyez prévenu que certains de ces outils sont plus orientés vers de la protection locale seulement (également connu sous le nom de <emphasis>pare-feu personnel</emphasis>) et d'autres sont plus versatiles et peuvent être utilisés pour configurer des règles complexes pour protéger des réseaux entiers.

en: Some software that can be used to set up firewall rules in a Debian system is:
fr: Plusieurs logiciels peuvent être utilisés pour configurer des règles de pare-feu dans un système Debian.

en: For desktop systems:
fr: Pour les systèmes de bureau :

en: <application>firestarter</application>, a GNOME application oriented towards end-users that includes a wizard useful to quickly setup firewall rules. The application includes a GUI to be able to monitor when a firewall rule blocks traffic.
fr: <application>firestarter</application>, une application GNOME orientée vers les utilisateurs finaux et incluant un assistant utile pour définir rapidement des règles de pare-feu. L'application inclut une interface utilisateur pour pouvoir surveiller quand une règle de pare-feu bloque le trafic ;

en: <application>guarddog</application>, a KDE based firewall configuration package oriented both to novice and advanced users.
fr: <application>guarddog</application>, un paquet de configuration de pare-feu basé sur KDE orienté à la fois vers les utilisateurs novices et avancés ;

en: <application>knetfilter</application>, a KDE GUI to manage firewall and NAT rules for iptables (alternative/competitor to the guarddog tool although slightly oriented towards advanced users).
fr: <application>knetfilter</application>, une interface graphique KDE pour gérer un pare-feu et des règles NAT pour iptables (alternative ou concurrent à l'outil guarddog bien que légèrement plus orienté vers les utilisateurs avancés) ;

en: fireflier, an interactive tool to create iptables rules based on traffic seen on the system and applications. It has a server-client model so you have to install both the server (<application>fireflier-server</application>) and one of the available clients, with one client available for different desktop environments: <application>fireflier-client-gtk</application> (Gtk+ client), <application>fireflier-client-kde</application> (KDE client) and <application>fireflier-client-qt</application> (QT client).
fr: fireflier, un outil interactif pour créer des règles iptables à partir du trafic vu sur le système et les applications. Il possède un modèle client serveur donc vous devez installer à la fois le serveur (<application>fireflier-server</application>) et un des clients disponibles, avec un client disponible pour chaque environnement de bureau : <application>fireflier-client-gtk</application> (client GTK+), <application>fireflier-client-kde</application> (client KDE) et <application>fireflier-client-qt</application> (client QT).

en: For servers (headless) systems:
fr: Pour les systèmes serveurs (sans interface graphique) :

en: <application>fwbuilder</application>, an object oriented GUI which includes policy compilers for various firewall platforms including Linux' netfilter, BSD's pf (used in OpenBSD, NetBSD, FreeBSD and MacOS X) as well as router's access-lists. It is similar to enterprise firewall management software. Complete fwbuilder's functionality is also available from the command line.
fr: <application>fwbuilder</application>, une interface graphique orientée objet qui inclut des compilateurs de règles pour diverses plates-formes de pare-feu incluant netfilter de Linux, pf de BSD (utilisé dans OpenBSD, NetBSD, FreeBSD et Mac OS X) ainsi que des listes d'accès du routeur. La fonctionnalité de fwbuilder complète est également disponible depuis la ligne de commande ;

en: <application>shorewall</application>, a firewall configuration tool which provides support for IPsec as well as limited support for traffic shaping as well as the definition of the firewall rules. Configuration is done through a simple set of files that are used to generate the iptables rules.
fr: <application>shorewall</application>, un outil de configuration de pare-feu qui fournit une prise en charge IPsec ainsi qu'une prise en charge limitée pour le dimensionnement du trafic (« traffic shaping ») et la définition des règles du pare-feu. La configuration est effectuée par un simple jeu de fichiers qui sont utilisés pour générer les règles iptables ;

en: <application>bastille</application>, this hardening application is described in <xref linkend="automatic-harden" />. One of the hardening steps that the administrator can configure is a definition of the allowed and disallowed network traffic that is used to generate a set of firewall rules that the system will execute on startup.
fr: <application>bastille</application>, l'application de durcissement est décrit dans <xref linkend="automatic-harden" />. L'une des étapes de durcissement que l'administrateur peut configurer est une définition du trafic autorisé et interdit qui est utilisée pour générer un ensemble de règles de pare-feu que le système exécutera au démarrage.

en: Lots of other iptables frontends come with Debian; an extensive list comparing the different packages in Debian is maintained at the <ulink name="Firewalls page on the Debian wiki" url="http://wiki.debian.org/Firewalls" />.
fr: De nombreuses autres interfaces à iptables sont disponibles dans Debian ; une liste exhaustive de comparaison des différents paquets dans Debian est tenue à jour sur la <ulink url="http://wiki.debian.org/Firewalls" name="page du wiki Debian sur les pare-feu" />.

en: Notice that some of the packages outlined previously will introduce firewalling scripts to be run when the system boots. Test them extensively before rebooting or you might find yourself locked from the box. If you mix different firewalling packages you can have undesired effects, usually, the firewalling script that runs last will be the one that configures the system (which might not be what you intend). Consult the package documentation and use either one of these setups.
fr: Remarquez que certains des paquets cités ci-dessus introduiront probablement des scripts de pare-feu à exécuter lors de l'amorçage du système. Testez-les de manière exhaustive avant de redémarrer le système ou vous pourriez vous retrouver bloqué en dehors de la machine. Si vous mélangez différents paquets de pare-feu, vous pouvez obtenir des effets indésirables. Habituellement, le script de pare-feu qui s'exécute en dernier sera celui qui configurera le système (qui peut ne pas être ce que vous voulez). Consultez la documentation du paquet et utilisez l'un d'entre eux pour ces configurations.

en: As mentioned before, some programs, like <application>firestarter</application>, <application>guarddog</application> and <application>knetfilter</application>, are administration GUIs using either GNOME or KDE (last two). These applications are much more user-oriented (i.e. for home users) than some of the other packages in the list which might be more administrator-oriented. Some of the programs mentioned before (like <command>bastille</command>) are focused at setting up firewall rules to protect the host they run in but are not necessarily designed to setup firewall rules for firewall hosts that protect a network (like <command>shorewall</command> or <command>fwbuilder</command>).
fr: Comme mentionné précédemment, certains programmes comme <application>firestarter</application>, <application>guarddog</application> ou <application>knetfilter</application> sont des interfaces graphiques pour l'administration qui utilisent soit GNOME, soit KDE (les deux derniers). Ces applications sont plus orientées utilisateur (c'est-à-dire utilisation «&nbsp;familiale&nbsp;») tandis que certains des autres paquets de la liste sont plus orientés administrateur. Certains des programmes mentionnés auparavant (comme <command>bastille</command>) sont ciblés sur la mise en place de règles de pare-feu qui protègent l'hôte sur lequel ils fonctionnent, mais ils ne sont pas nécessairement conçus pour mettre en place des règles de pare-feu pour des hôtes de pare-feu qui protègent un réseau (comme <command>shorewall</command> ou <command>fwbuilder</command>).

en: There is yet another type of firewall application: application proxies. If you are looking into setting up an enterprise-level firewall that does packet filtering and provides a number of transparent proxies that can do fine-grain traffic analysis you should consider using <application>zorp</application>, which provides this in a single program. You can also manually setup this type of firewall host using the proxies available in Debian for different services like for DNS using <application>bind</application> (properly configured), <application>dnsmasq</application>, <application>pdnsd</application> or <application>totd</application> for FTP using <application>frox</application> or <application>ftp-proxy</application>, for X11 using <application>xfwp</application>, for IMAP using <application>imapproxy</application>, for mail using <application>smtpd</application>, or for POP3 using <application>p3scan</application>. For other protocols you can either use a generic TCP proxy like <application>simpleproxy</application> or a generic SOCKS proxy like <application>dante-server</application>, <application>tsocks</application> or <application>socks4-server</application>. Typically, you will also use a web caching system (like <application>squid</application>) and a web filtering system (like <application>squidguard</application> or <application>dansguardian</application>).
fr: Il existe encore un autre type d'application de pare-feu: les serveurs mandataires (<emphasis>proxy</emphasis>) applicatifs. Si vous cherchez à mettre en place un tel pare-feu de niveau d'entreprise qui effectue du filtrage de paquets et fournit un certain nombre de serveurs mandataires transparents qui peuvent faire une analyse fine du trafic, vous devriez considérer l'utilisation de <application>zorp</application>, qui fournit cela dans un seul programme. Vous pouvez également mettre en place ce type de pare-feu manuellement en utilisant les serveurs mandataires disponibles dans Debian pour différents services comme pour le DNS en utilisant <application>bind</application> (correctement configuré), <application>dnsmasq</application>, <application>pdnsd</application> ou <application>totd</application> pour le FTP en utilisant <application>frox</application> ou <application>ftp-proxy</application>, pour X11 en utilisant <application>xfwp</application>, pour IMAP en utilisant <application>imapproxy</application>, pour le courrier en utilisant <application>smtpd</application>, ou pour POP3 en utilisant <application>p3scan</application>. Pour d'autres protocoles, vous devriez soit utiliser un serveur mandataire TCP générique comme <application>simpleproxy</application>, soit un serveur mandataire SOCKS comme <application>dante-server</application>, <application>tsocks</application> ou <application>socks4-server</application>. Vous devrez également typiquement utiliser un système de cache web (comme <application>squid</application>) et un système de filtrage web (comme <application>squidguard</application> ou <application>dansguardian</application>).

en: Manual init.d configuration
fr: Configuration manuelle init.d

en: Another possibility is to manually configure your firewall rules through an init.d script that will run all the <command>iptables</command> commands. Take the following steps:
fr: Une autre possibilité est de configurer manuellement vos règles de pare-feu par un script init.d qui exécutera toutes les commandes <command>iptables</command>. Suivez les étapes ci-dessous.

en: Review the script below and adapt it to your needs.
fr: Consultez le script ci-dessous et adaptez-le à vos besoins.

en: Test the script and review the syslog messages to see which traffic is being dropped. If you are testing from the network you will want to either run the sample shell snippet to remove the firewall (if you don't type anything in 20 seconds) or you might want to comment out the <emphasis>default deny</emphasis> policy definitions (<emphasis>-P INPUT DROP</emphasis> and <emphasis>-P OUTPUT DROP</emphasis>) and check that the system will not drop any legitimate traffic.
fr: Testez le script et vérifiez les messages du journal système pour voir le trafic qui est rejeté. Si vous testez depuis le réseau, vous voudrez soit exécuter le script shell en exemple qui enlève le pare-feu (si vous ne tapez rien pendant 20 secondes), soit commenter les définitions de règle <emphasis>default deny</emphasis> (<emphasis>-P INPUT DROP</emphasis> et <emphasis>-P OUTPUT DROP</emphasis>) et vérifier que le système ne rejette pas de trafic légitime.

en: Move the script to <filename>/etc/init.d/myfirewall</filename>
fr: Déplacez le script dans <filename>/etc/init.d/parefeu</filename>.

en: The below script takes advantage of Debian's use (since Squeeze) of dependency based boot sequencing. For more information see: <ulink name="Debian Dependency Based Boot" url="https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot" /> and <ulink name="How to write an LSB Init Script" url="https://wiki.debian.org/LSBInitScripts" />. With the LSB headers set as they are in the script, insserv will automatically configure the system to start the firewall before any network is brought up, and stop the firewall after any network is brought down.
fr: Le script ci-dessous tire avantage de l'utilisation (depuis Squeeze) par Debian d'un séquençage d'amorçage basé sur les dépendances. Pour plus d'informations voir : <ulink name="Debian Dependency Based Boot" url="https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot" /> et <ulink name="How to write an LSB Init Script" url="https://wiki.debian.org/LSBInitScripts" />. Si les en-têtes LSB sont définis comme ils le sont dans le script, insserv configurera automatiquement le système pour qu'il lance le pare-feu avant le démarrage de n'importe quel réseau, et ne l'arrête qu'après la fermeture de tous les réseaux.

en: This is the sample firewall script:
fr: Voici l'exemple de script de pare-feu&nbsp;:

en: 
    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          myfirewall
    # Required-Start:    $local_fs
    # Required-Stop:     $local_fs
    # Default-Start:     S
    # Default-Stop:      0 6
    # X-Start-Before:    $network
    # X-Stop-After:      $network
    # Short-Description: My custom firewall.
    ### END INIT INFO
    #
    # Simple example firewall configuration.
    #
    # Caveats:
    # - This configuration applies to all network interfaces
    #   if you want to restrict this to only a given interface use
    #   '-i INTERFACE' in the iptables calls.
    # - Remote access for TCP/UDP services is granted to any host, 
    #   you probably will want to restrict this using '--source'.
    #
    # chkconfig: 2345 9 91
    # description: Activates/Deactivates the firewall at boot time
    #
    # You can test this script before applying with the following shell
    # snippet, if you do not type anything in 10 seconds the firewall
    # rules will be cleared.
    #---------------------------------------------------------------
    #  while true; do test=""; read  -t 20 -p "OK? " test ; \
    #  [ -z "$test" ] &amp;&amp; /etc/init.d/myfirewall clear ; done
    #---------------------------------------------------------------
    
    PATH=/bin:/sbin:/usr/bin:/usr/sbin
    
    # Services that the system will offer to the network
    TCP_SERVICES="22" # SSH only
    UDP_SERVICES=""
    # Services the system will use from the network
    REMOTE_TCP_SERVICES="80" # web browsing
    REMOTE_UDP_SERVICES="53" # DNS
    # Network that will be used for remote mgmt
    # (if undefined, no rules will be setup)
    # NETWORK_MGMT=192.168.0.0/24
    # If you want to setup a management network (i.e. you've uncommented
    # the above line) you will need to define the SSH port as well (i.e.
    # uncomment the below line.) Remember to remove the SSH port from the
    # TCP_SERVICES string.
    # SSH_PORT="22"
    
    if ! [ -x /sbin/iptables ]; then  
        exit 0
    fi
    
    fw_start () {
    
      # Input traffic:
      /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      # Services
      if [ -n "$TCP_SERVICES" ] ; then
      for PORT in $TCP_SERVICES; do
        /sbin/iptables -A INPUT -p tcp --dport ${PORT} -j ACCEPT
      done
      fi
      if [ -n "$UDP_SERVICES" ] ; then
      for PORT in $UDP_SERVICES; do
        /sbin/iptables -A INPUT -p udp --dport ${PORT} -j ACCEPT
      done
      fi
      # Remote management
      if [ -n "$NETWORK_MGMT" ] ; then
        /sbin/iptables -A INPUT -p tcp --src ${NETWORK_MGMT} --dport ${SSH_PORT} -j ACCEPT
      fi
      # Remote testing
      /sbin/iptables -A INPUT -p icmp -j ACCEPT
      /sbin/iptables -A INPUT -i lo -j ACCEPT
      /sbin/iptables -P INPUT DROP
      /sbin/iptables -A INPUT -j LOG
    
      # Output:
      /sbin/iptables -A OUTPUT -j ACCEPT -o lo 
      /sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      # ICMP is permitted:
      /sbin/iptables -A OUTPUT -p icmp -j ACCEPT
      # So are security package updates:
      # Note: You can hardcode the IP address here to prevent DNS spoofing
      # and to setup the rules even if DNS does not work but then you 
      # will not "see" IP changes for this service:
      /sbin/iptables -A OUTPUT -p tcp -d security.debian.org --dport 80 -j ACCEPT 
      # As well as the services we have defined:
      if [ -n "$REMOTE_TCP_SERVICES" ] ; then
      for PORT in $REMOTE_TCP_SERVICES; do
        /sbin/iptables -A OUTPUT -p tcp --dport ${PORT} -j ACCEPT
      done
      fi
      if [ -n "$REMOTE_UDP_SERVICES" ] ; then
      for PORT in $REMOTE_UDP_SERVICES; do
        /sbin/iptables -A OUTPUT -p udp --dport ${PORT} -j ACCEPT
      done
      fi
      # All other connections are registered in syslog
      /sbin/iptables -A OUTPUT -j LOG
      /sbin/iptables -A OUTPUT -j REJECT 
      /sbin/iptables -P OUTPUT DROP
      # Other network protections
      # (some will only work with some kernel versions)
      echo 1 &gt; /proc/sys/net/ipv4/tcp_syncookies
      echo 0 &gt; /proc/sys/net/ipv4/ip_forward 
      echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
      echo 1 &gt; /proc/sys/net/ipv4/conf/all/log_martians 
      echo 1 &gt; /proc/sys/net/ipv4/ip_always_defrag
      echo 1 &gt; /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
      echo 1 &gt; /proc/sys/net/ipv4/conf/all/rp_filter
      echo 0 &gt; /proc/sys/net/ipv4/conf/all/send_redirects
      echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_source_route
    
    }
    
    fw_stop () {
      /sbin/iptables -F
      /sbin/iptables -t nat -F
      /sbin/iptables -t mangle -F
      /sbin/iptables -P INPUT DROP
      /sbin/iptables -P FORWARD DROP
      /sbin/iptables -P OUTPUT ACCEPT
    }
    
    fw_clear () {
      /sbin/iptables -F
      /sbin/iptables -t nat -F
      /sbin/iptables -t mangle -F
      /sbin/iptables -P INPUT ACCEPT
      /sbin/iptables -P FORWARD ACCEPT
      /sbin/iptables -P OUTPUT ACCEPT
    }
    
    
    case "$1" in
      start|restart)
        echo -n "Starting firewall.."
        fw_stop 
        fw_start
        echo "done."
        ;;
      stop)
        echo -n "Stopping firewall.."
        fw_stop
        echo "done."
        ;;
      clear)
        echo -n "Clearing firewall rules.."
        fw_clear
        echo "done."
        ;;
      *)
        echo "Usage: $0 {start|stop|restart|clear}"
        exit 1
        ;;
      esac
    exit 0
fr: 
    #!/bin/sh
    # Exemple de configuration de pare-feu.
    #
    # Mises en garde
    # - Cette configuration s'applique à toutes les interfaces réseau.
    #   Si vous voulez ne restreindre cela qu'à une interface donnée,
    #   utilisez « -i INTERFACE » dans les appels iptables ;
    # - L'accès à distance pour les services TCP/UDP est accordé à tout
    #   hôte, vous voudrez probablement restreindre cela en utilisant
    #   « --source ».
    #
    # chkconfig : 2345 9 91
    # description : activer ou désactiver le pare-feu au démarrage
    #
    # Vous pouvez tester ce script avant de l'appliquer avec l'extrait
    # de script shell suivant, si vous ne tapez rien pendant
    # 20 secondes, les règles de pare-feu seront effacées.
    #---------------------------------------------------------------
    #  while true; do test=""; read  -t 20 -p "OK ? " test ; \
    #  [ -z "$test" ] &#38;&#38; /etc/init.d/parefeu clear ; done
    #---------------------------------------------------------------
    
    PATH=/bin:/sbin:/usr/bin:/usr/sbin
    
    # Services que le système offrira au réseau
    TCP_SERVICES="22" # seulement SSH
    UDP_SERVICES=""
    # Services que le système utilisera du réseau
    REMOTE_TCP_SERVICES="80" # navigation web
    REMOTE_UDP_SERVICES="53" # DNS
    # Réseau qui sera utilisé pour la gestion à distance
    # (si non défini, aucune règle ne sera mise en place)
    # NETWORK_MGMT=192.168.0.0/24
    # Port utilisé pour le service SSH, à définir si vous avez configuré
    # une gestion de réseau mais l'avez enlevé de TCP_SERVICES
    # SSH_PORT="22"
    
    if ! [ -x /sbin/iptables ]; then  
        exit 0
    fi
    
    fw_start () {
    
      # Trafic d'entrée :
      /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      # Services
      if [ -n "$TCP_SERVICES" ] ; then
      for PORT in $TCP_SERVICES; do
        /sbin/iptables -A INPUT -p tcp --dport ${PORT} -j ACCEPT
      done
      fi
      if [ -n "$UDP_SERVICES" ] ; then
      for PORT in $UDP_SERVICES; do
        /sbin/iptables -A INPUT -p udp --dport ${PORT} -j ACCEPT
      done
      fi
      # Gestion à distance
      if [ -n "$NETWORK_MGMT" ] ; then
        /sbin/iptables -A INPUT -p tcp --src ${NETWORK_MGMT} --dport ${SSH_PORT} -j ACCEPT
      else 
        /sbin/iptables -A INPUT -p tcp --dport ${SSH_PORT}  -j ACCEPT
      fi
      # Test à distance
      /sbin/iptables -A INPUT -p icmp -j ACCEPT
      /sbin/iptables -A INPUT -i lo -j ACCEPT
      /sbin/iptables -P INPUT DROP
      /sbin/iptables -A INPUT -j LOG
    
      # Sortie :
      /sbin/iptables -A OUTPUT -j ACCEPT -o lo 
      /sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      # ICMP est permis :
      /sbin/iptables -A OUTPUT -p icmp -j ACCEPT
      # Ainsi que les mises à jour de sécurité :
      # Remarque : vous pouvez indiquer en dur l'adresse IP ici afin de prévenir une
      # usurpation DNS et configurer les règles même si le DNS ne fonctionne pas mais
      # dans ce cas vous ne « verrez » pas les modifications d'IP pour ce service :
      /sbin/iptables -A OUTPUT -p tcp -d security.debian.org --dport 80 -j ACCEPT 
      # Ainsi que pour tous les services définis :
      if [ -n "$REMOTE_TCP_SERVICES" ] ; then
      for PORT in $REMOTE_TCP_SERVICES; do
        /sbin/iptables -A OUTPUT -p tcp --dport ${PORT} -j ACCEPT
      done
      fi
      if [ -n "$REMOTE_UDP_SERVICES" ] ; then
      for PORT in $REMOTE_UDP_SERVICES; do
        /sbin/iptables -A OUTPUT -p udp --dport ${PORT} -j ACCEPT
      done
      fi
      # Toutes les autres connexions sont enregistrées dans syslog
      /sbin/iptables -A OUTPUT -j LOG
      /sbin/iptables -A OUTPUT -j REJECT 
      /sbin/iptables -P OUTPUT DROP
      # Autres protections réseau
      # (certaines ne fonctionneront que pour certaines versions de noyau)
      echo 1 &#62; /proc/sys/net/ipv4/tcp_syncookies
      echo 0 &#62; /proc/sys/net/ipv4/ip_forward 
      echo 1 &#62; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
      echo 1 &#62; /proc/sys/net/ipv4/conf/all/log_martians 
      echo 1 &#62; /proc/sys/net/ipv4/ip_always_defrag
      echo 1 &#62; /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
      echo 1 &#62; /proc/sys/net/ipv4/conf/all/rp_filter
      echo 0 &#62; /proc/sys/net/ipv4/conf/all/send_redirects
      echo 0 &#62; /proc/sys/net/ipv4/conf/all/accept_source_route
    
    }
    
    fw_stop () {
      /sbin/iptables -F
      /sbin/iptables -t nat -F
      /sbin/iptables -t mangle -F
      /sbin/iptables -P INPUT DROP
      /sbin/iptables -P FORWARD DROP
      /sbin/iptables -P OUTPUT ACCEPT
    }
    
    fw_clear () {
      /sbin/iptables -F
      /sbin/iptables -t nat -F
      /sbin/iptables -t mangle -F
      /sbin/iptables -P INPUT ACCEPT
      /sbin/iptables -P FORWARD ACCEPT
      /sbin/iptables -P OUTPUT ACCEPT
    }
    
    
    case "$1" in
      start|restart)
        echo -n "Démarrage du pare-feu…"
        fw_stop 
        fw_start
        echo "done."
        ;;
      stop)
        echo -n "Arrêt du pare-feu…"
        fw_stop
        echo "done."
        ;;
      clear)
        echo -n "Effacement des règles de pare-feu…"
        fw_clear
        echo "done."
        ;;
      *)
        echo "Utilisation : $0 {start|stop|restart|clear}"
        exit 1
        ;;
      esac
    exit 0

en: Instead of including all of the iptables rules in the init.d script you can use the <command>iptables-restore</command> program to restore the rules saved using <command>iptables-save</command>. In order to do this you need to setup your rules, save the ruleset under a static location (such as <filename>/etc/default/firewall</filename>)
fr: Au lieu d'intégrer toutes les règles iptables dans un script init.d, vous pouvez utiliser le programme <command>iptables-restore</command> pour restaurer les règles sauvées avec <command>iptables-save</command>. Pour faire cela, vous devez configurer les règles et sauver le jeu de règles dans un endroit statique (comme <filename>/etc/default/firewall</filename>).

en: Configuring firewall rules through <command>ifup</command>
fr: Configurer les règles du réseau par ifup

en: You can use also the network configuration in <filename>/etc/network/interfaces</filename> to setup your firewall rules. For this you will need to:
fr: Vous pouvez également utiliser la configuration du réseau dans <filename>/etc/network/interfaces</filename> pour mettre en place les règles de pare-feu. Pour cela, vous devez&nbsp;:

en: Create your firewalling ruleset for when the interface is active.
fr: créer le jeu de règles de pare-feu à appliquer quand l'interface sera active ;

en: Save your ruleset with <command>iptables-save</command> to a file in <filename>/etc</filename>, for example <filename>/etc/iptables.up.rules</filename>
fr: sauver le jeu de règles avec <command>iptables-save</command> dans un fichier de <filename>/etc</filename>, par exemple <filename>/etc/iptables.up.rules</filename> ;

en: Configure <filename>/etc/network/interfaces</filename> to use the configured ruleset:
fr: configurer <filename>/etc/network/interfaces</filename> pour utiliser le jeu de règles configurées&nbsp;:

en: 
    iface eth0 inet static
            address x.x.x.x
            [.. interface configuration ..]
            pre-up iptables-restore &lt; /etc/iptables.up.rules
fr: 
    iface eth0 inet static
            address x.x.x.x
            [… configuration de l'interface …]
            pre-up iptables-restore &lt; /etc/iptables.up.rules

en: You can optionally also setup a set of rules to be applied when the network interface is <emphasis>down</emphasis> creating a set of rules, saving it in <filename>/etc/iptables.down.rules</filename> and adding this directive to the interface configuration:
fr: Optionnellement, vous pouvez mettre en place un jeu de règles à appliquer quand l'interface est <emphasis>inactivée</emphasis> en créant un jeu de règles, en le sauvant dans <filename>/etc/iptables.down.rules</filename> et en ajoutant la directive suivante à la configuration de l'interface&nbsp;:

en: For more advanced firewall configuration scripts through <application>ifupdown</application> you can use the hooks available to each interface as in the <filename>*.d/</filename> directories called with <command>run-parts</command> (see <citerefentry><refentrytitle>run-parts</refentrytitle> <manvolnum>8</manvolnum></citerefentry> manual page).
fr: Pour des scripts de configuration de pare-feu plus avancés avec <application>ifupdown</application>, vous pouvez utiliser les accroches (<emphasis>hooks</emphasis>) disponibles pour chaque interface dans les répertoires <filename>*.d/</filename> appelés avec <command>run-parts</command> (consultez <citerefentry><refentrytitle>run-parts</refentrytitle> <manvolnum>8</manvolnum></citerefentry>).

en: Testing your firewall configuration
fr: Tester la configuration de pare-feu

en: Testing your firewall configuration is as easy, and as dangerous, as just running your firewall script (or enabling the configuration you defined in your firewall configuration application). However, if you are not careful enough and you are configuring your firewall remotely (like through an SSH connection) you could lock yourself out.
fr: Tester la configuration de pare-feu est aussi facile et aussi dangereux que d'exécuter simplement le script de pare-feu (ou d'activer la configuration que vous avez définie dans l'application de configuration de pare-feu). Cependant, si vous n'êtes pas assez prudent et que vous configurez le pare-feu à distance (comme à travers une connexion SSH), vous pourriez vous enfermer dehors.

en: There are several ways to prevent this. One is running a script in a separate terminal that will remove the firewall configuration if you don't feed it input. An example of this is:
fr: Plusieurs moyens permettent d'empêcher cela. L'un est d'exécuter un script dans un terminal séparé qui va enlever la configuration de pare-feu si vous ne faites pas d'entrée clavier. Un exemple de cela est&nbsp;:

en: 
    $  while true; do test=""; read  -t 20 -p "OK? " test ; \
      [ -z "$test" ] &amp;&amp; /etc/init.d/firewall clear ; done
fr: 
    $  while true; do test=""; read  -t 20 -p "OK? " test ; \
      [ -z "$test" ] &#38;&#38; /etc/init.d/firewall clear ; done

en: Another one is to introduce a backdoor in your system through an alternate mechanism that allows you to either clear the firewall system or punch a hole in it if something goes awry. For this you can use <application>knockd</application> and configure it so that a certain port connection attempt sequence will clear the firewall (or add a temporary rule). Even though the packets will be dropped by the firewall, since <command>knockd</command> binds to the interface and <emphasis>sees</emphasis> you will be able to work around the problem.
fr: Un autre moyen est d'introduire une porte dérobée dans le système par un mécanisme alternatif qui vous permet soit d'enlever le système de pare-feu, soit de percer un trou dedans si quelque chose déraille. Pour cela, vous pouvez utiliser <application>knockd</application> et le configurer pour qu'une tentative de connexion sur un certain port enlève le pare-feu (ou ajoute une règle temporaire). Bien que les paquets soient rejetés par le pare-feu, comme <command>knockd</command> se lie à l'interface et les <emphasis>voit</emphasis>, vous pourrez contourner le problème.

en: Testing a firewall that is protecting an internal network is a different issue, you will want to look at some of the tools used for remote vulnerability assessment (see <xref linkend="vuln-asses" />) to probe the network from the outside in (or from any other direction) to test the effectiveness of the firewall configuation.
fr: Tester un pare-feu qui protège un réseau interne est un problème différent, vous voudrez étudier certains des outils utilisés pour le test de failles à distance (consultez <xref linkend="vuln-asses" />) pour sonder le réseau depuis l'extérieur (ou dans toute autre direction) pour tester l'efficacité de la configuration du pare-feu.
