<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>5. tcp_wrapper </title> <link rel="stylesheet" href="style.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <link rel="start" href="index.html" title=" HOWTO IPv6 Linux (fr) "> <link rel="up" href="ch20.html" title="Chapitre 20. Eléments d'installation des démons prêts pour IPv6 "> <link rel="prev" href="ch20s04.html" title="4. Le Démon d'Annonce de Routeur (radvd) "> <link rel="next" href="ch21.html" title="Chapitre 21. Programmer (en utilisant l'API) "> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr><th colspan="3" align="center">5. tcp_wrapper </th></tr> <tr> <td width="20%" align="left"> <a accesskey="p" href="ch20s04.html">Précédent</a> </td> <th width="60%" align="center">Chapitre 20. Eléments d'installation des démons prêts pour IPv6 </th> <td width="20%" align="right"> <a accesskey="n" href="ch21.html">Suivant</a> </td> </tr> </table> <hr> </div> <div class="sect1" lang="fr"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="hints-daemons-tcpwrapper"></a>5. tcp_wrapper </h2></div></div></div> <p> tcp_wrapper est une bibliothèque qui peut vous aider à protéger vos services contre les usages abusifs. </p> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2548158"></a>5.1. Les capacités de filtrage </h3></div></div></div> <p> Vous pouvez utiliser tcp_wrapper pour </p> <div class="itemizedlist"><ul type="disc"> <li><p> Le filtrage à partir des adresses source (IPv4 ou IPv6) </p></li> <li><p> Le filtrage des utilisateurs (réclame un démon ident en état de fonctionnement sur le client) </p></li> </ul></div> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2548191"></a>5.2. Les programmes utilisant tcp_wrapper </h3></div></div></div> <p> Les suivants sont connus: </p> <div class="itemizedlist"><ul type="disc"> <li><p> Chaque service appelé par xinetd (si xinetd est compilé en utilisant la bibliothèque tcp_wrapper) </p></li> <li><p> sshd (si compilé en utilisant tcp_wrapper) </p></li> </ul></div> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2548223"></a>5.3. Utilisation </h3></div></div></div> <p> tcp_wrapper est contrôlé par deux fichiers nommés /etc/hosts.allow et /etc/hosts.deny. Pour plus d'information voir </p> <pre class="programlisting"> $ man hosts.allow </pre> <div class="sect3" lang="fr"> <div class="titlepage"><div><div><h4 class="title"> <a name="id2548243"></a>5.3.1. Exemple de fichier /etc/hosts.allow </h4></div></div></div> <p> Dans ce fichier, chaque service qui doit être positivement filtré (<span class="emphasis"><em>i.e.,</em></span> dont les connexions doivent être acceptées) a besoin d'une ligne. </p> <pre class="programlisting"> sshd: 1.2.3. [3ffe:ffff:100:200::]/64 daytime-stream: 1.2.3. [3ffe:ffff:100:200::]/64 </pre> <p> Note: ils existent des implémentations cassées qui utilisent la mauvaise description réseau IPv6 suivante: [3ffe:ffff:100:200::/64]. </p> <p> Heureusement, de telles versions seront rapidement corrigées. </p> </div> <div class="sect3" lang="fr"> <div class="titlepage"><div><div><h4 class="title"> <a name="id2548283"></a>5.3.2. Exemple de fichier /etc/hosts.deny </h4></div></div></div> <p> Ce fichier contient toutes les entrées de filtre négative et devrait dénier l'accès à tout le reste en utilisant </p> <pre class="programlisting"> ALL: ALL </pre> <p> Si ce noeud est très sensible, vous pouvez remplacer la ligne stantard ci-dessus par celle-ci, mais cela peut être cause d'attaque DoS (charge de serveur de courrier et répertoire spool), si trop de connexions sont réalisées en un temps très bref. Peut-être un observateur de journaux (<span class="emphasis"><em>a logwatch</em></span>) serait-il meilleur dans de tels cas. </p> <pre class="programlisting"> ALL: ALL: spawn (echo "Attempt from %h %a to %d at `date`" | tee -a /var/log/tcp.deny.log | mail root@localhost) </pre> </div> </div> <div class="sect2" lang="fr"> <div class="titlepage"><div><div><h3 class="title"> <a name="id2548331"></a>5.4. La journalisation </h3></div></div></div> <p> Selon l'entrée du fichier de configuration du démon syslog /etc/syslog.conf, la journalisation de tcp_wrapper se fait normalement dans /var/log/secure. </p> <div class="sect3" lang="fr"> <div class="titlepage"><div><div><h4 class="title"> <a name="id2548345"></a>5.4.1. Connexion refusée </h4></div></div></div> <p> Une connexion refusée <span class="emphasis"><em>via</em></span> IPv4 au service daytime, couvert par xinetd, produit des lignes telles que celles de l'exemple suivant </p> <pre class="programlisting"> Jan 2 20:40:44 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap ¬ from=::ffff:1.2.3.4 Jan 2 20:32:06 gate xinetd-ipv6[12346]: FAIL: daytime-stream libwrap from=3ffe:ffff:100:200::212:34ff:fe12:3456 </pre> <p> Une connexion refusée <span class="emphasis"><em>via </em></span>IPv4 à sshd en double écoute produit des lignes telles que celles de l'exemple suivant </p> <pre class="programlisting"> Jan 2 20:24:17 gate sshd[12345]: refused connect from ::ffff:1.2.3.4 ¬ (::ffff:1.2.3.4) Jan 2 20:39:33 gate sshd[12345]: refused connect from 3ffe:ffff:100:200::212:34ff:fe12:3456 ¬ (3ffe:ffff:100:200::212:34ff:fe12:3456) </pre> </div> <div class="sect3" lang="fr"> <div class="titlepage"><div><div><h4 class="title"> <a name="id2548397"></a>5.4.2. Connexion autorisée </h4></div></div></div> <p> Une connexion autorisée <span class="emphasis"><em>via</em></span> IPv4 vers le service daytime, couvert par xinetd, produit des lignes telles que celles de l'exemple suivant </p> <pre class="programlisting"> Jan 2 20:37:50 gate xinetd-ipv6[12346]: START: daytime-stream pid=0 ¬ from=::ffff:1.2.3.4 Jan 2 20:37:56 gate xinetd-ipv6[12346]: START: daytime-stream pid=0 from=3ffe:ffff:100:200::212:34ff:fe12:3456 </pre> <p> Une connexion autorisée <span class="emphasis"><em>via</em></span> IPv4 vers sshd en double écoute produit des lignes telles que celles de l'exemple suivant </p> <pre class="programlisting"> Jan 2 20:43:10 gate sshd[21975]: Accepted password for user from ::ffff:1.2.3.4 ¬ port 33381 ssh2 Jan 2 20:42:19 gate sshd[12345]: Accepted password for user from 3ffe:ffff:100:200::212:34ff:fe12:3456 port 33380 ssh2 </pre> </div> </div> </div> <div class="navfooter"> <hr> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"> <a accesskey="p" href="ch20s04.html">Précédent</a> </td> <td width="20%" align="center"><a accesskey="u" href="ch20.html">Niveau supérieur</a></td> <td width="40%" align="right"> <a accesskey="n" href="ch21.html">Suivant</a> </td> </tr> <tr> <td width="40%" align="left" valign="top">4. Le Démon d'Annonce de Routeur (radvd) </td> <td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td> <td width="40%" align="right" valign="top"> Chapitre 21. Programmer (en utilisant l'API) </td> </tr> </table> </div> </body> </html>