Add a new translated section.
This commit is contained in:
parent
0678df027c
commit
458b09001e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=32977
1 changed files with 274 additions and 2 deletions
|
@ -963,9 +963,281 @@ permit port ttyd0</programlisting>
|
|||
|
||||
<indexterm><primary>TCP Wrappers</primary></indexterm>
|
||||
|
||||
<title>TCP Wrappers ** Traduction en Cours **</title>
|
||||
<title>L'encapsuleur TCP (<quote>TCP Wrappers</quote>)</title>
|
||||
|
||||
<para></para>
|
||||
<para>Toute personne familière avec &man.inetd.8; a
|
||||
probablement entendu parlé à un moment ou à
|
||||
un autre de l'encapsuleur <acronym>TCP</acronym> (<quote>TCP
|
||||
Wrappers</quote>). Mais peu sont ceux qui semblent saisir
|
||||
complètement son intérêt dans un
|
||||
réseau. Il semble que tout le monde désire
|
||||
installer un coupe-feu pour contrôler les connexions
|
||||
réseaux. Alors qu'un coupe-feu peut avoir de nombreuses
|
||||
utilisations, il existe des choses qu'un coupe-feu ne peut
|
||||
gérer comme renvoyer un message à l'initiateur
|
||||
d'une connexion. L'encapsuleur <acronym>TCP</acronym> en est
|
||||
capable ainsi que bien d'autres choses. Dans les sections
|
||||
suivantes plusieurs fonctionnalités de l'encapsuleur
|
||||
<acronym>TCP</acronym> seront abordées, et, dès
|
||||
que ce sera possible, un exemple de configuration sera
|
||||
proposé.</para>
|
||||
|
||||
<para>L'encapsuleur <acronym>TCP</acronym> étend les
|
||||
capacités d'<application>inetd</application> au niveau du
|
||||
support pour chaque serveur sous son contrôle. En
|
||||
utilisant cette méthode il est possible d'offrir le
|
||||
support des ouvertures de session, de retourner des messages
|
||||
lors des connexions, de permettre à un
|
||||
<quote>daemon</quote> de n'accepter que les connexions internes,
|
||||
etc. Bien que certaines de ces fonctionnalités peuvent
|
||||
être obtenues par l'implémentation d'un coupe-feu,
|
||||
ce système ajoutera non seulement une couche
|
||||
supplémentaire de protection mais ira plus loin dans le
|
||||
contrôle que ce que peut fournir un coupe-feu.</para>
|
||||
|
||||
<para>Les fonctionnalités apportées par
|
||||
l'encapsuleur <acronym>TCP</acronym> ne peuvent se substituer
|
||||
à l'utilisation d'un bon coupe-feu. L'encapsuleur
|
||||
<acronym>TCP</acronym> peut être utilisé de paire
|
||||
avec un coupe-feu ou tout autre système de
|
||||
sécurité et il pourra alors servir comme une
|
||||
couche supplémentaire de protection pour le
|
||||
système.</para>
|
||||
|
||||
<para>Etant donné que ce programme est une extension
|
||||
à la configuration du programme
|
||||
<application>inetd</application>, le lecteur est supposé
|
||||
avoir pris connaissance de la section de <link
|
||||
linkend="network-inetd">configuration d'inetd</link>.</para>
|
||||
|
||||
<note>
|
||||
<para>Bien que les programmes lancés par &man.inetd.8; ne
|
||||
soient pas tout à fait des <quote>daemons</quote>, ils
|
||||
sont traditionnellement appelés <quote>daemons</quote>.
|
||||
C'est le terme que nous utiliserons également dans le
|
||||
reste de cette section.</para>
|
||||
</note>
|
||||
|
||||
<sect2>
|
||||
<title>Configuration initiale</title>
|
||||
|
||||
<para>Le seul pré-requis à l'utilisation de
|
||||
l'encapsuleur <acronym>TCP</acronym> sous &os; est de
|
||||
s'assurer que le serveur <application>inetd</application> est
|
||||
lancé à partir de <filename>rc.conf</filename>
|
||||
avec l'option <option>-Ww</option>; c'est la configuration par
|
||||
défaut. Bien évidemment une configuration
|
||||
correcte du fichier <filename>/etc/hosts.allow</filename> est
|
||||
également sous-entendue, mais dans le cas contraire
|
||||
&man.syslogd.8; émettra des messages d'avertissement
|
||||
dans les journaux du système.</para>
|
||||
|
||||
<note>
|
||||
<para>Contrairement à d'autres implémentations
|
||||
de l'encapsuleur <acronym>TCP</acronym>, l'emploi du fichier
|
||||
<filename>hosts.deny</filename> est obsolète. Toutes
|
||||
les options de configuration doivent être
|
||||
placées dans le fichier
|
||||
<filename>/etc/hosts.allow</filename>.</para>
|
||||
</note>
|
||||
|
||||
<para>Dans la configuration la plus simple, la politique de
|
||||
connexion aux <quote>daemons</quote> est soit de tout
|
||||
autoriser ou soit de tout bloquer en fonctions des options
|
||||
choisies dans <filename>/etc/hosts.allow</filename>. La
|
||||
configuration par défaut sous &os; est d'autoriser les
|
||||
connexions à chaque <quote>daemon</quote> lancé
|
||||
à l'aide d'<application>inetd</application>. La
|
||||
modification de ce réglage par défaut sera
|
||||
discutée une fois que la configuration de base aura
|
||||
été vue.</para>
|
||||
|
||||
<para>Une configuration de base prend en général
|
||||
la forme <literal>daemon : adresse : action</literal>.
|
||||
Où <literal>daemon</literal> est le nom du
|
||||
<quote>daemon</quote> lancé par
|
||||
<application>inetd</application>.
|
||||
L'<literal>adresse</literal> peut être un nom de machine
|
||||
valide, une adresse <acronym>IP</acronym> ou une adresse IPv6
|
||||
entre crochets ([ ]). Le champ <literal>action</literal>
|
||||
pourra avoir comme valeur <literal>allow</literal> ou
|
||||
<literal>deny</literal> pour autoriser ou interdire
|
||||
l'accès. Gardez à l'esprit que ce type de
|
||||
configuration fonctionne de manière à honorer la
|
||||
première règle sémantique correspondante,
|
||||
cela signifie que le fichier de configuration est parcouru
|
||||
à la recherche d'une règle correspondant
|
||||
à la requête. Quand une correspondance est
|
||||
trouvée, la règle est appliquée et la
|
||||
recherche s'arrête.</para>
|
||||
|
||||
<para>Plusieurs autres options existent mais elles seront
|
||||
exposées dans une section ultérieure. Une
|
||||
simple ligne de configuration peut être construite avec
|
||||
peu d'information. Par exemple, pour autoriser les connexions
|
||||
<acronym>POP</acronym>3 via le <quote>daemon</quote> <filename
|
||||
role="package">mail/qpopper</filename>, les lignes suivantes
|
||||
doivent être ajoutées au fichier
|
||||
<filename>hosts.allow</filename>:</para>
|
||||
|
||||
<programlisting># This line is required for POP3 connections:
|
||||
qpopper : ALL : allow</programlisting>
|
||||
|
||||
<para>Après l'ajout de cette ligne,
|
||||
<application>inetd</application> devra être
|
||||
redémarré. Cela sera fait en utilisant la
|
||||
commande &man.kill.1;, ou avec le passage du paramètre
|
||||
<parameter>restart</parameter> à la commande
|
||||
<filename>/etc/rc.d/inetd</filename>.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configuration avancée</title>
|
||||
|
||||
<para>L'encapsuleur <acronym>TCP</acronym> dispose
|
||||
également d'options avancées; elles permettrons
|
||||
plus de contrôle sur la manière dont sont
|
||||
gérées les connexions. Dans certains cas cela
|
||||
peut être une bonne idée de renvoyer un
|
||||
commentaire à certaines machines ou lors de connexions
|
||||
à certains <quote>daemon</quote>s. Dans d'autres cas,
|
||||
peut-être qu'un fichier journal pourrait être
|
||||
enregistré ou un courrier électronique pourrait
|
||||
être envoyé à l'administrateur. D'autres
|
||||
situations peuvent nécessiter l'utilisation d'un
|
||||
service uniquement pour les connexions locales. Tout cela est
|
||||
possible à l'aide des options de configuration connues
|
||||
sous le nom de <literal>jokers</literal>, caractères
|
||||
d'expansion et d'exécution de commandes externes. Les
|
||||
deux sections suivantes abordent ces situations.</para>
|
||||
|
||||
<sect3>
|
||||
<title>Commandes externes</title>
|
||||
|
||||
<para>Imaginez une situation dans laquelle une connexion doit
|
||||
être refusée et que la raison de ce refus doit
|
||||
être envoyée à la personne qui a
|
||||
tenté d'établir cette connexion. Comment cela
|
||||
peut-il être mis en place? Ce type d'action est rendu
|
||||
possible par l'emploi de l'option <option>twist</option>.
|
||||
Quand une tentative de connexion est faite,
|
||||
<option>twist</option> sera appelée pour
|
||||
exécuter une commande ou une procédure
|
||||
d'interpréteur de commande. Un exemple est
|
||||
déjà présent dans le fichier
|
||||
<filename>hosts.allow</filename>:</para>
|
||||
|
||||
<programlisting># The rest of the daemons are protected.
|
||||
ALL : ALL \
|
||||
: severity auth.info \
|
||||
: twist /bin/echo "You are not welcome to use %d from %h."</programlisting>
|
||||
|
||||
<para>Cet exemple montre que le message <quote>You are not
|
||||
allowed to use <literal>daemon</literal> from
|
||||
<literal>hostname</literal>.</quote> sera retourné
|
||||
pour tout <quote>daemon</quote> qui n'a pas
|
||||
été précédemment
|
||||
configuré dans le fichier d'accès. Cette
|
||||
fonction est très utile pour envoyer une
|
||||
réponse à l'initiateur de la connexion juste
|
||||
après le refus de la connexion. Notez que tout
|
||||
message à retourner <emphasis>doit</emphasis>
|
||||
être placé entre des guillemets
|
||||
<literal>"</literal>; il n'y a pas d'exception possible
|
||||
à cette règle.</para>
|
||||
|
||||
<warning>
|
||||
<para>Il est possible de lancer une attaque par déni
|
||||
de service sur le serveur si un agresseur, ou un groupe
|
||||
d'agresseurs sont en mesure de submerger ces
|
||||
<quote>daemon</quote>s avec des demandes de
|
||||
connexion.</para>
|
||||
</warning>
|
||||
|
||||
<para>Une autre possibilité dans ce cas est d'employer
|
||||
l'option <option>spawn</option>. Tout comme l'option
|
||||
<option>twist</option>, <option>spawn</option> interdit
|
||||
implicitement les connexions et peut être
|
||||
utilisée pour lancer une commande ou une
|
||||
procédure externe. Contrairement à
|
||||
<option>twist</option>, <option>spawn</option> n'enverra pas
|
||||
de réponse à la personne qui a établi
|
||||
la connexion. Examinons par exemple la ligne de
|
||||
configuration suivante:</para>
|
||||
|
||||
<programlisting># We do not allow connections from example.com:
|
||||
ALL : .example.com \
|
||||
: spawn (/bin/echo %a from %h attempted to access %d >> \
|
||||
/var/log/connections.log) \
|
||||
: deny</programlisting>
|
||||
|
||||
<para>Cela interdira toute tentative de connexion à
|
||||
partir du domaine <hostid
|
||||
role="fqdn">*.example.com</hostid>, enregistrant
|
||||
simultanément dans le fichier
|
||||
<filename>/var/log/connections.log</filename> le nom de
|
||||
machine, l'adresse <acronym>IP</acronym> et le
|
||||
<quote>daemon</quote> auquel on tente
|
||||
d'accéder.</para>
|
||||
|
||||
<para>Il existe d'autres caractères de substitution en
|
||||
dehors de ceux déjà présentés,
|
||||
par exemple <literal>%a</literal>. Consultez la page de
|
||||
manuel &man.hosts.access.5; pour une liste
|
||||
complète.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Les options jokers</title>
|
||||
|
||||
<para>Jusqu'ici l'option <literal>ALL</literal> a
|
||||
été utilisée dans tous les exemples.
|
||||
Il existe d'autres options pour étendre un peu plus
|
||||
les fonctionnalités. Par exemple, l'option
|
||||
<literal>ALL</literal> peut être utilisée pour
|
||||
prendre en compte chaque instance d'un
|
||||
<quote>daemon</quote>, d'un domaine ou d'une adresse
|
||||
<acronym>IP</acronym>. Un autre joker disponible est
|
||||
l'option <literal>PARANOID</literal> qui peut être
|
||||
employée pour prendre en compte toute machine qui
|
||||
fournirait une adresse <acronym>IP</acronym> susceptible
|
||||
d'être falsifiée. En d'autres termes, l'option
|
||||
<literal>PARANOID</literal> peut être utilisée
|
||||
pour définir l'action a effectuer dès qu'une
|
||||
connexion se fait à partir d'une adresse
|
||||
<acronym>IP</acronym> qui diffère de celle
|
||||
attachée à une machine. L'exemple suivant
|
||||
apporte un éclairage sur cette option:</para>
|
||||
|
||||
<programlisting># Block possibly spoofed requests to sendmail:
|
||||
sendmail : PARANOID : deny</programlisting>
|
||||
|
||||
<para>Dans cet exemple, toutes les requêtes de connexion
|
||||
à <application>sendmail</application> à partir
|
||||
d'adresses <acronym>IP</acronym> différentes de celle
|
||||
correspondant au nom de la machine seront
|
||||
refusées.</para>
|
||||
|
||||
<caution>
|
||||
<para>Utiliser l'option <literal>PARANOID</literal> peut
|
||||
gravement paralyser les serveurs si le client ou le
|
||||
serveur a une configuration de <acronym>DNS</acronym>
|
||||
défectueuse. Les administrateurs sont maintenant
|
||||
prévenus.</para>
|
||||
</caution>
|
||||
|
||||
<para>Pour en apprendre plus sur les jokers et leurs
|
||||
fonctionnalités associées, consultez la page
|
||||
de manuel &man.hosts.access.5;.</para>
|
||||
|
||||
<para>Avant que n'importe quelle des lignes de configuration
|
||||
données ci-dessus ne fonctionne, la première
|
||||
ligne de configuration du fichier
|
||||
<filename>hosts.allow</filename> devra être
|
||||
dé-commentée. Cela a été
|
||||
noté en début de section.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="kerberosIV">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue