<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Puwok20089FlJM</id>
	<title>Lea Linux - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Puwok20089FlJM"/>
	<link rel="alternate" type="text/html" href="https://lea-linux.org/documentations/Sp%C3%A9cial:Contributions/Puwok20089FlJM"/>
	<updated>2026-04-26T14:27:32Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Xinetd&amp;diff=21100</id>
		<title>Xinetd</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Xinetd&amp;diff=21100"/>
		<updated>2011-12-08T07:44:07Z</updated>

		<summary type="html">&lt;p&gt;Puwok20089FlJM : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Sécurité]]&lt;br /&gt;
= XINETD sous toutes ses coutures =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;XINETD sous toutes ses coutures&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:anne@lea-linux.org Anne]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Où comment utiliser xinetd pour sécuriser encore plus votre pingouin préféré&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Avant propos ==&lt;br /&gt;
&lt;br /&gt;
Cet article a pour objectif d&#039;expliquer le fonctionnement et la configuration du super démon &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. Pourquoi particulièrement celui-ci ? Parce qu&#039;il est utilisé fréquemment pour l&#039;accès à nombre de services réseau et devient un outil non négligeable de sécurisation de celui-ci (en plus d&#039;un bon firewall bien sûr). Cet article n&#039;a pas pour objectif d&#039;être complètement exhaustif mais de présenter les configurations les plus courantes de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. Pour plus d&#039;infos, consulter le man (on s&#039;en serait douté ;) )&lt;br /&gt;
&lt;br /&gt;
== Inetd ou Xinetd ? ==&lt;br /&gt;
&lt;br /&gt;
Selon la distribution vous trouverez soit un démon &amp;lt;tt&amp;gt;inetd&amp;lt;/tt&amp;gt;, soit un démon &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. La tendance est tout de même d&#039;utiliser de plus en plus ce dernier.&lt;br /&gt;
&lt;br /&gt;
=== Définition ===&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;absolu, &amp;lt;tt&amp;gt;inetd&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; ont le même rôle, à savoir de piloter l&#039;accès à un ou plusieurs services réseaux. Ils agissent comme une standardiste. Ils reçoivent des requêtes de clients, extérieurs pour la plupart, qui demandent un accès à un service réseau déterminé (ex : ftp, telnet, ssh...). Le super démon va, en fonction des instructions qu&#039;on lui aura données (fichiers de configuration) transmettre ou rejeter l&#039;appel.&lt;br /&gt;
&lt;br /&gt;
=== Ce qu&#039;apporte xinetd ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;inetd&amp;lt;/tt&amp;gt;, jusque là utilisé, permettait, grâce au fichier &amp;lt;tt&amp;gt;/etc/inetd.conf&amp;lt;/tt&amp;gt;et au wrapper &amp;lt;tt&amp;gt;tcpd&amp;lt;/tt&amp;gt;, de paramétrer l&#039;accès aux services en l&#039;autorisant/interdisant totalement ou partiellement. (cf. les fichiers &amp;lt;tt&amp;gt;/etc/hosts.allow&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;/etc/hosts.deny&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; apporte des fonctionnalités bien plus importantes et permet d&#039;affiner les paramétrages d&#039;accès aux services. On citera dans le désordre :&lt;br /&gt;
&lt;br /&gt;
* possibilité d&#039;affiner les logs des services gérés&lt;br /&gt;
* paramétrage d&#039;accès par service et non global&lt;br /&gt;
* paramétrage des plages horaires de disponibilité des services&lt;br /&gt;
* possibilité de chrooter les services (ex : ftp)&lt;br /&gt;
* possibilité de limiter les attaques de type deny of service (contrôle de la priorité d&#039;un serveur, contrôle de la charge CPU, contrôle du nombre de connexions par service, ...)&lt;br /&gt;
* redirection de ports&lt;br /&gt;
&lt;br /&gt;
=== Passer de inetd à xinetd ===&lt;br /&gt;
&lt;br /&gt;
Si votre distribution préférée utilise &amp;lt;tt&amp;gt;inetd&amp;lt;/tt&amp;gt; et qu&#039;après avoir eu le courage de lire cet article, vous souhaitez utiliser &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;, il existe un script qui vous permettra de transformer le fichier &amp;lt;tt&amp;gt;inetd.conf&amp;lt;/tt&amp;gt; en fichier &amp;lt;tt&amp;gt;xinetd.conf&amp;lt;/tt&amp;gt;, utilisable par &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce script, &amp;lt;tt&amp;gt;xconv.pl&amp;lt;/tt&amp;gt;, est un script perl fourni avec &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. Attention si ce script peut vous donner la structure générale du fichier de configuration, il ne vous permettra pas de profiter des apports de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. Rien de tel qu&#039;un bon éditeur de texte et ce qui suit ci-dessous.&lt;br /&gt;
&lt;br /&gt;
== configuration générale de xinetd ==&lt;br /&gt;
&lt;br /&gt;
On entre dans le vif du sujet :). Pour configurer &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;, vous aurez à connaître la syntaxe, commune de &amp;lt;tt&amp;gt;/etc/xinetd.conf&amp;lt;/tt&amp;gt; et, selon les cas de figure, les fichiers situés dans le répertoire &amp;lt;tt&amp;gt;/etc/xinetd.d&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== L&#039;arborescence de xinetd ===&lt;br /&gt;
&lt;br /&gt;
L&#039;arborescence de la configuration de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; est relativement simple. On en rencontre 2 types :&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;un seul fichier de configuration&#039;&#039;&#039; : &amp;lt;tt&amp;gt;/etc/xinetd.conf&amp;lt;/tt&amp;gt; qui comprendra la configuration générale de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; &#039;&#039;&#039;et&#039;&#039;&#039; la configuration des services gérés par xinetd. (exemple plus loin dans l&#039;article)&lt;br /&gt;
* un fichier réservé à la &#039;&#039;&#039;configuration générale&#039;&#039;&#039; de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;, nommé aussi &amp;lt;tt&amp;gt; /etc/xinetd.conf&amp;lt;/tt&amp;gt;. La &#039;&#039;&#039;configuration des services&#039;&#039;&#039; est déportée dans des fichiers situés dans le répertoire &amp;lt;tt&amp;gt;/etc/xinetd.d&amp;lt;/tt&amp;gt;. Ce répertoire comprend un fichier de configuration par service géré par &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. Le fichier porte le nom du service.&amp;lt;br /&amp;gt; Pour utiliser ce deuxième cas de figure, le fichier &amp;lt;tt&amp;gt;/etc/xinetd.conf&amp;lt;/tt&amp;gt; doit contenir la ligne suivante :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;includedir /etc/xinetd.d&amp;lt;/tt&amp;gt; &lt;br /&gt;
&lt;br /&gt;
C&#039;est ce deuxième cas de figure qui est le plus couramment utilisé dans les distributions.&lt;br /&gt;
&lt;br /&gt;
=== Syntaxe générale d&#039;un fichier de configuration ===&lt;br /&gt;
&lt;br /&gt;
Le fichier de configuration de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; est un ensemble d&#039;une ou plusieurs directives dont la syntaxe est la suivante :&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;service nom_du_service&amp;lt;br /&amp;gt;    {&amp;lt;br /&amp;gt;     ...&amp;lt;br /&amp;gt;    }&amp;lt;/tt&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le nom de la directive est soit &amp;lt;tt&amp;gt;defaults&amp;lt;/tt&amp;gt; et la configuration porte alors sur l&#039;ensemble des services gérés par &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;, soit le nom d&#039;un des services géré par &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. A l&#039;intérieur de chacune de ces directives on trouvera des attributs, un par ligne, écrits de la manière suivante :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&amp;lt;attribut&amp;gt; &amp;lt;assignement&amp;gt; &amp;lt;valeur&amp;gt; &amp;lt;valeur&amp;gt; ...&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Les attributs seront détaillés plus loin. Les assignements peuvent prendre différentes valeurs : &amp;lt;tt&amp;gt;=, -=, +=&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;&#039;Exemple :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;root@pingu# cat /etc/xinetd.d/telnet&amp;lt;br /&amp;gt; service &#039;&#039;&#039;telnet&#039;&#039;&#039; &amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;{&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    server  = /usr/sbin/in.telnetd&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt; }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;avec :&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt; attribut : server&amp;lt;br /&amp;gt; assignement : &amp;quot;=&amp;quot;&amp;lt;br /&amp;gt; valeur : /usr/sbin/in.telnetd&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour reprendre l&#039;arborescence de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; et les 2 cas de figure exposés ci-dessus, on obtiendra les fichiers suivants :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;70%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &#039;&#039;&#039;un seul fichier de configuration&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &#039;&#039;&#039;un fichier de configuration par service&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;u&amp;gt;/etc/xinetd.conf&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt;  defaults&amp;lt;br /&amp;gt;    {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    }&amp;lt;br /&amp;gt;  service service1&amp;lt;br /&amp;gt;    {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    }&amp;lt;br /&amp;gt;  service service2&amp;lt;br /&amp;gt;    {&amp;lt;br /&amp;gt;    ... &amp;lt;br /&amp;gt;    }&amp;lt;br /&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;&amp;lt;u&amp;gt;/etc/xinetd.conf&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt;  defaults&amp;lt;br /&amp;gt;    {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    }&amp;lt;br /&amp;gt;&amp;lt;u&amp;gt;/etc/xinetd.d/service1&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt;  service service1&amp;lt;br /&amp;gt;    {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    }&amp;lt;br /&amp;gt;&amp;lt;u&amp;gt;/etc/xinetd.d/service2&amp;lt;/u&amp;gt;&amp;lt;br /&amp;gt;  service service2&amp;lt;br /&amp;gt;    {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    }&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Écriture des fichiers : attributs obligatoires ===&lt;br /&gt;
&lt;br /&gt;
Nous allons lister les différents attributs utilisables pour configurer &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;. Certains sont facultatifs et vous permettent d&#039;affiner son rôle. Toutefois d&#039;autres sont obligatoires et s&#039;ils ne sont pas présents, empêcheront tout ou partie des services de fonctionner.&lt;br /&gt;
&lt;br /&gt;
Avant de les lister, petit point de vocabulaire : on distingue les services dits internes et externes. A quoi ? A &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; bien sur :). Les services internes, comme &amp;lt;tt&amp;gt;servers, services, xadmin&amp;lt;/tt&amp;gt; sont des services propres à &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; qui fournissent des informations sur le fonctionnement du super-démon. Il vaut mieux ne pas utiliser ces services car ils exposent la machine inutilement et les fichiers de log de xinetd vous fourniront les mêmes informations.&lt;br /&gt;
&lt;br /&gt;
Voilà donc les attributs que vous devrez utiliser :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &#039;&#039;&#039;Attribut&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &#039;&#039;&#039;Définition&#039;&#039;&#039;&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&#039;&#039;&#039;socket-type&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| type de socket utilisé pour le service : &amp;lt;tt&amp;gt;dgram&amp;lt;/tt&amp;gt; s&#039;il utilise le protocole UDP, &amp;lt;tt&amp;gt;stream&amp;lt;/tt&amp;gt; s&#039;il utilise le protocole TCP - consulter le fichier &amp;lt;tt&amp;gt;/etc/services&amp;lt;/tt&amp;gt; pour avoir l&#039;information.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&#039;&#039;&#039;user&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| identité sous laquelle le service sera lancé&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&#039;&#039;&#039;server&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| chemin et nom du serveur&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&#039;&#039;&#039;wait&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Définit le comportement du service dans le traitement des threads : &amp;lt;tt&amp;gt;yes&amp;lt;/tt&amp;gt; pour un service mono-thread (une connexion simultanée par service et une seule), &amp;lt;tt&amp;gt;no&amp;lt;/tt&amp;gt; pour un service multithread (possibilité d&#039;avoir plusieurs connexions simultanées au service)&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&#039;&#039;&#039;protocol&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Protocole utilisé par le service. Si rien n&#039;est précisé, c&#039;est le protocole spécifié dans le fichier &amp;lt;tt&amp;gt;/etc/services&amp;lt;/tt&amp;gt; qui sera utilisé.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&#039;&#039;&#039;rpc_version&amp;lt;br /&amp;gt;rpc_number&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Ne concerne que les services basés sur les RPC (exemple : NFS)&lt;br /&gt;
|- bgcolor=&amp;quot;#cccccc&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;tt&amp;gt;&#039;&#039;&#039;port&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Port associé au service. Là encore, s&#039;il n&#039;est pas précisé, c&#039;est le port spécifié pour le service dans le fichier &amp;lt;tt&amp;gt;/etc/services&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Affiner les logs avec xinetd ==&lt;br /&gt;
&lt;br /&gt;
Une des fonctionnalités de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; est de permettre d&#039;affiner ce que vous voulez loguer et dans quel(s) fichier(s) vous voulez le loguer.&lt;br /&gt;
&lt;br /&gt;
=== Localisation des logs ===&lt;br /&gt;
&lt;br /&gt;
C&#039;est l&#039;attribut &#039;&#039;&#039;&amp;lt;tt&amp;gt;log_type&amp;lt;/tt&amp;gt;&#039;&#039;&#039; qui va donner cette localisation. Il peut prendre 2 valeurs :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;&#039;&#039;&#039;SYSLOG syslog_facility [syslog level]&#039;&#039;&#039;&amp;lt;/tt&amp;gt; : les logs seront alors gérés par le démon &amp;lt;tt&amp;gt;syslogd&amp;lt;/tt&amp;gt;. Vous pourrez préciser le &#039;&#039;niveau&#039;&#039; de log (voir man syslog) : avec les valeurs &amp;lt;tt&amp;gt;emerg, alert, crit, err, warning, notice, info, debug&amp;lt;/tt&amp;gt;. L&#039;ordre de ces valeurs indique une quantité croissante d&#039;informations récupérées par syslogd. Par défaut, c&#039;est le niveau &amp;lt;tt&amp;gt;info&amp;lt;/tt&amp;gt; qui est utilisé. Vous retrouverez ensuite les logs généralement dans le fichier &amp;lt;tt&amp;gt;/var/log/messages&amp;lt;/tt&amp;gt; (cf. &amp;lt;tt&amp;gt;/etc/syslog.conf&amp;lt;/tt&amp;gt;).&amp;lt;br /&amp;gt; Inconvénient de cette méthode : toutes les informations sont stockées dans un seul fichier et difficiles à lire étant donné la quantité d&#039;éléments recueillis pour le noyau.&amp;lt;br /&amp;gt; &lt;br /&gt;
* &amp;lt;tt&amp;gt;&#039;&#039;&#039;FILE file [soft limit [hard limit]]&#039;&#039;&#039;&amp;lt;/tt&amp;gt; : vous allez pouvoir complètement configurer la destination de vos logs et dans l&#039;absolu, prévoir un fichier de log par service géré par xinetd. Le mot-clé &amp;lt;tt&amp;gt;FILE&amp;lt;/tt&amp;gt; sera suivi du nom du fichier. Si celui-ci n&#039;existe pas, il sera créé.&amp;lt;br /&amp;gt; De manière facultative, vous pouvez également préciser 2 types de limites à la taille du fichier de log : une &#039;&#039;limite soft&#039;&#039; qui lorsqu&#039;elle est franchie provoque l&#039;envoi d&#039;un message d&#039;alerte (mais les logs continuent d&#039;alimenter le fichier) et une &#039;&#039;limite hard&#039;&#039;, qui lorsqu&#039;elle est franchie bloque l&#039;envoi de logs supplémentaires dans le fichier concerné. L&#039;utilisation de ces deux limites est recommandée pour éviter de saturer le système de fichiers. &amp;lt;br /&amp;gt; Les limites sont à donner en octets (1000b), en kilo-octets (1000k) ou en mega-octets (1000m). &lt;br /&gt;
&lt;br /&gt;
=== Contenu des logs ===&lt;br /&gt;
&lt;br /&gt;
Outre la localisation des logs, il est possible également de paramétrer le contenu des logs. On utilisera les attributs &amp;lt;tt&amp;gt;log_on_success&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;log_on_failure&amp;lt;/tt&amp;gt; qui, comme l&#039;intitulé l&#039;indique, listent ce qui sera logué en cas de succès et d&#039;échec de l&#039;accès au service. Les valeurs sont :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;PID&amp;lt;/tt&amp;gt; : numéro de process du serveur lancé&lt;br /&gt;
* &amp;lt;tt&amp;gt;HOST&amp;lt;/tt&amp;gt; : adresse distante cliente du serveur&lt;br /&gt;
* &amp;lt;tt&amp;gt;USERID&amp;lt;/tt&amp;gt; : user id de l&#039;utilisateur distant&lt;br /&gt;
* &amp;lt;tt&amp;gt;DURATION&amp;lt;/tt&amp;gt; : durée de la session&lt;br /&gt;
&lt;br /&gt;
Les 4 valeurs sont utilisables avec l&#039;attribut &amp;lt;tt&amp;gt;log_on_success&amp;lt;/tt&amp;gt;. Seuls &amp;lt;tt&amp;gt;HOST&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;USERID&amp;lt;/tt&amp;gt; sont utilisables avec &amp;lt;tt&amp;gt;log_on_failure&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;service trucmuche&amp;lt;br /&amp;gt; {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    log_type = FILE /var/log/xinetd/trucmuche.log&amp;lt;br /&amp;gt;    log_on_success  = PID USERID HOST DURATION&amp;lt;br /&amp;gt;    log_on_failures = HOST USERID&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt; } &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans ce cas de figure, le fichier de log du service trucmuche sera &amp;lt;tt&amp;gt;/var/log/xinetd/trucmuche.log&amp;lt;/tt&amp;gt;. Les informations recueillies dans tous les cas seront l&#039;adresse du client et son identité et en cas de succès, on aura également le PID du serveur et la durée de la session&lt;br /&gt;
&lt;br /&gt;
== Xinetd pour contrôler les accès à votre machine ==&lt;br /&gt;
&lt;br /&gt;
Xinetd dispose de nombreux attributs complémentaires, facultatifs mais qui vont permettre d&#039;en faire un outil de sécurisation des services réseaux et du système dans son ensemble. Ci-dessous, les principales fonctionnalités proposées.&lt;br /&gt;
&lt;br /&gt;
=== Contrôler l&#039;origine des accès ===&lt;br /&gt;
&lt;br /&gt;
Avec des attributs supplémentaires, vous allez pouvoir filtrer les clients qui vont pouvoir ou non se connecter à vos serveurs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Filtrer des adresses&amp;lt;/u&amp;gt; : &amp;lt;tt&amp;gt;only_from = valeur [valeurs...]&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&amp;lt;br /&amp;gt; La connexion au service ne sera possible qu&#039;à partir de la liste fournie à cet attribut. Elle peut contenir :&lt;br /&gt;
&lt;br /&gt;
* des adresses IP : facile à comprendre je ne m&#039;étends pas.&lt;br /&gt;
* des adresses réseau : 192.168.0.0 par exemple. Seules les adresses IP de ce réseau pourront accéder au service&lt;br /&gt;
* des hostnames : Ce sont des noms de machine. A utiliser si et seulement si le fichier &amp;lt;tt&amp;gt;/etc/hosts&amp;lt;/tt&amp;gt; est correctement renseigné. La résolution de nom se fait au moment de l&#039;accès.&lt;br /&gt;
* des noms de domaine : lea-linux.org par exemple. Seul le domaine de Léa pourra alors accéder à votre service.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez bien sûr panacher les valeurs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;: configuration des accès ftp sur ma machine :&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;service proftpd&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    only_from = citrouille 192.168.1.0 lea-linux.org&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;  {&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les seuls autorisés à utiliser mon serveur ftp seront : la machine &amp;quot;citrouille&amp;quot;, les machines du réseau 192.168.1.0 et celles du domaine lea-linux.org.&lt;br /&gt;
&lt;br /&gt;
Un attribut qui a également pour effet de filtrer les accès est &#039;&#039;&#039;&amp;lt;tt&amp;gt;no_access = valeur [valeurs...]&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. Il fonctionne exactement de la même façon que &amp;lt;tt&amp;gt;only_from&amp;lt;/tt&amp;gt; sauf qu&#039;il détermine les machines, adresses IP, hostnames, adresses réseaux et/ou noms de domaine pour lesquels vous voulez interdire l&#039;accès à votre service.&lt;br /&gt;
&lt;br /&gt;
Attention, encore une fois, &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; utilisé seul ne vous garantira pas la sécurité de votre système. Il est essentiel d&#039;y adjoindre un bon firewall.&lt;br /&gt;
&lt;br /&gt;
=== Contrôler le moment des accès ===&lt;br /&gt;
&lt;br /&gt;
Vous pouvez choisir le moment auquel vous autoriserez les accès à tout ou partie de vos services réseaux. On utilisera l&#039;attribut &amp;lt;tt&amp;gt;access_times&amp;lt;/tt&amp;gt;. Il vous permet de définir une ou plusieurs plages horaires pendant lesquelles la connexion sera possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntaxe&#039;&#039;&#039; : &amp;lt;tt&amp;gt;access_times = interval [interval...]&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; L&#039;intervalle de temps s&#039;écrit : heures:minutes-heures:minutes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple :&#039;&#039;&#039; Je veux limiter l&#039;accès de mon ftp de 9h à 12h et de 14h à 16h.&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;service proftpd&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    access_time = 9:00-12:00 14:00-16:00&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;  {&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Contrôler l&#039;exposition du système pendant l&#039;accès : chroot ===&lt;br /&gt;
&lt;br /&gt;
Véritable couteau suisse de la configuration de services réseau, &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; vous permet de &amp;quot;chrooter&amp;quot; un service. &#039;&#039;Rappel&#039;&#039; : la commande &amp;lt;tt&amp;gt;chroot&amp;lt;/tt&amp;gt; permet de lancer un programme en restreignant ses accès disques à une sous arborescence. En fait pour le processus, la racine du disque est la racine de l&#039;arborescence dans laquelle il a été restreint.&lt;br /&gt;
&lt;br /&gt;
L&#039;attribut &amp;lt;tt&amp;gt;server_args&amp;lt;/tt&amp;gt; va nous permettre d&#039;automatiser le chroot : la commande &amp;lt;tt&amp;gt;chroot&amp;lt;/tt&amp;gt; est considérée comme le serveur et le service est passé en argument.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple :&#039;&#039;&#039; Je veux chrooter mon serveur ftp.&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;service proftp&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    server = /usr/sbin/chroot&amp;lt;br /&amp;gt;    server_args = /opt/proftpd/proftpd&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;  {&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lorsqu&#039;un client tente un accès ftp, &amp;lt;tt&amp;gt;chroot&amp;lt;/tt&amp;gt; est exécuté en tant que serveur et &amp;lt;tt&amp;gt;proftpd&amp;lt;/tt&amp;gt; en tant qu&#039;argument, ce qui revient à la commande connue : &amp;lt;tt&amp;gt;/usr/bin/chroot opt/proftpd/proftpd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Autoriser / interdire un service ===&lt;br /&gt;
&lt;br /&gt;
Dans la plupart des distributions, les services installés et gérés par &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; sont désactivés d&#039;office, pour des raisons de sécurité. D&#039;autre part vous pouvez, pour un temps, choisir de désactiver complètement un service. Tout ceci est lié à l&#039;utilisation de l&#039;attribut &amp;lt;tt&amp;gt;disable&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntaxe : &#039;&#039;&#039;&amp;lt;tt&amp;gt;disable = yes|no&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple :&#039;&#039;&#039; Je veux désactiver telnet.&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;service telnet&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    disable = yes&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;  {&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Xinetd pour limiter les attaques de type Deny of Service ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Contrôle de la charge CPU : &amp;lt;tt&amp;gt;rlimit_cpu = seconds&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. Cet attribut vous permet de limiter le temps CPU utilisé par un ou plusieurs services. Un des effets induits par une attaque de type Deny Of Service.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Priorité accordée au processus serveur : &amp;lt;tt&amp;gt;nice = level&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. Fonctionnant comme avec la commande &amp;lt;tt&amp;gt;nice&amp;lt;/tt&amp;gt;, l&#039;attribut permet de fixer une priorité d&#039;ordonnancement pour le serveur. Le &amp;lt;tt&amp;gt;level&amp;lt;/tt&amp;gt; peut prendre les valeurs de -20 (le plus prioritaire) à 19 (le moins prioritaire). Cela vous permet par exemple de passer en process moins prioritaire un serveur ftp par rapport aux process de vos applications courantes. Après tout c&#039;est votre machine ;).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Limite du nombre de connexions par service : &amp;lt;tt&amp;gt;instances = value&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. L&#039;attribut détermine le nombre d&#039;instances simultanées du serveur qui seront autorisées. Préciser un nombre. Sans précision, le nombre d&#039;instances pourra être illimité.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Limite du nombre de connexions ayant la même origine : &amp;lt;tt&amp;gt;per_source = value&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. Non seulement vous pouvez filtrer les adresses IP clientes, le nombre d&#039;instances du serveur mais vous pouvez aussi limiter le nombre de connexions à un serveur donné provenant d&#039;une même adresse IP. Ceci est une limite non négligeable aux attaques dues à des connexions multiples sur vos serveurs accessibles.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Blacklister des adresses IP&#039;&#039;&#039; : Il vous est possible blacklister des adresses IP qui tenteraient des connexions sur des services que vous avez désactivés mais qui constituent la cible préférée des hackers (exemple : telnet). On utilisera 2 attributs de manière combinée : &amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;flags = SENSOR&amp;lt;br /&amp;gt; deny_time = minutes&#039;&#039;&#039;&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;SENSOR&amp;lt;/tt&amp;gt; empêche toute connexion au service concerné et stocke l&#039;adresse IP pendant un temps déterminé par l&#039;attribut &amp;lt;tt&amp;gt;deny_time&amp;lt;/tt&amp;gt;. Si cette même adresse tente de se connecter à &#039;&#039;&#039;n&#039;importe quel service géré par xinetd&#039;&#039;&#039;, il sera automatiquement bloqué. Le temps est déterminé en minutes, mais vous pouvez utiliser également la valeur &amp;lt;tt&amp;gt;FOREVER&amp;lt;/tt&amp;gt; : l&#039;IP restera blacklistée jusqu&#039;au prochain redémarrage de &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Autres fonctionnalités de xinetd ==&lt;br /&gt;
&lt;br /&gt;
Je ne verrai pas ici toutes les possibilités offertes par xinetd mais 2 en particulier : la redirection de port et l&#039;attribution d&#039;un service à une interface réseau.&lt;br /&gt;
&lt;br /&gt;
=== Redirection de ports ===&lt;br /&gt;
&lt;br /&gt;
Même si ce n&#039;est pas sa fonction principale, &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; peut vous permettre de faire de la redirection de port, si vous ne souhaitez pas approfondir &amp;lt;tt&amp;gt;iptables&amp;lt;/tt&amp;gt;. On utilisera pour cela l&#039;attribut &#039;&#039;&#039;&amp;lt;tt&amp;gt;redirect&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Syntaxe :&#039;&#039;&#039; &amp;lt;tt&amp;gt;redirect = adresseIP port&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple :&#039;&#039;&#039; Je dispose d&#039;une passerelle vers Internet et une machine sur le même réseau local dont l&#039;adresse IP est 192.168.0.3. Je souhaite installer un serveur telnet sur cette dernière machine. Je vais donc faire en sorte que les requêtes qui arrivent de l&#039;extérieur pour mon serveur telnet soient redirigées vers cette machine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;root@pingu# cat /etc/xinetd.d/telnet&amp;lt;br /&amp;gt; service telnet&amp;lt;br /&amp;gt; {&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    server = /usr/sbin/in.telnetd&amp;lt;br /&amp;gt;    redirect = 192.168.0.4 23&amp;lt;br /&amp;gt; }&amp;lt;br /&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On teste maintenant la connexion :&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;root@pingu# telnet 217.11.12.13&amp;lt;br /&amp;gt; Trying 217.11.12.13...&amp;lt;br /&amp;gt; Connected to 217.11.12.13.&amp;lt;br /&amp;gt; Escape character is &#039;^]&#039;.&amp;lt;br /&amp;gt; Red Hat Linux release 8.0 (Psyche)&amp;lt;br /&amp;gt; Kernel 2.4.18-14 on an i586&amp;lt;br /&amp;gt; login: anne&amp;lt;br /&amp;gt; Password:&amp;lt;br /&amp;gt; Last login: Fri Nov 8 12:26:44 on :0&amp;lt;br /&amp;gt; [anne@citrouille anne]$ hostname&amp;lt;br /&amp;gt; citrouille&amp;lt;br /&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La connexion telnet est établie et la commande &amp;lt;tt&amp;gt;hostname&amp;lt;/tt&amp;gt; nous confirme que je ne suis pas sur la passerelle mais sur la machine citrouille dont l&#039;adresse IP est 192.168.0.4&lt;br /&gt;
&lt;br /&gt;
=== Attribution d&#039;un service à une adresse IP ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; va vous permettre de lier un service à une adresse IP grâce à l&#039;attribut &amp;lt;tt&amp;gt;bind&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour éclaircir la description de cet attribut, nous allons nous appuyer sur un exemple. Je vais reprendre mes 2 machines de l&#039;exemple précédent. Mon objectif : je veux construire 2 serveurs ftp bien différenciés. L&#039;un sera réservé à mes machines en local (serveur de fichiers interne) l&#039;autre mettra à disposition d&#039;autres fichiers sur un serveur ftp réservé aux connexions externes. (Après tout je ne partage pas tout :)).&lt;br /&gt;
&lt;br /&gt;
Ma machine &amp;lt;tt&amp;gt;pingu&amp;lt;/tt&amp;gt; (ma passerelle) a 2 interfaces réseau avec les adresses IP respectives : 192.168.0.3 et 217.11.12.13. Je vais donc effectuer les attributions grâce au fichier suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;root@pingu# cat /etc/xinetd.d/proftpd&amp;lt;br /&amp;gt; service proftpd&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    id = ftp_public&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    server = /opt/proftpd/proftpd&amp;lt;br /&amp;gt;    bind = 217.11.12.13&amp;lt;br /&amp;gt; }&amp;lt;br /&amp;gt; service proftpd&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    id = ftp_privé&amp;lt;br /&amp;gt;    ...&amp;lt;br /&amp;gt;    server = /opt/proftpd/proftpd&amp;lt;br /&amp;gt;    bind = 192.168.0.3&amp;lt;br /&amp;gt;  }&amp;lt;br /&amp;gt; &amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;attribut &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; sert uniquement à différencier les 2 configurations du service. Tout ceci bien sûr doit s&#039;accompagner d&#039;une configuration de votre serveur ftp.&lt;br /&gt;
&lt;br /&gt;
=== xinetd parle à vos visiteurs ===&lt;br /&gt;
&lt;br /&gt;
Pour finir, &amp;lt;tt&amp;gt;xinetd&amp;lt;/tt&amp;gt; vous permet également d&#039;afficher des messages lors de la connexion à un service grâce aux attributs suivants :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;&#039;&#039;&#039;banner = fichier&#039;&#039;&#039;&amp;lt;/tt&amp;gt; - affiche le contenu de &amp;lt;tt&amp;gt;fichier&amp;lt;/tt&amp;gt; si l&#039;accès est autorisé, et avant même authentification.&lt;br /&gt;
* &amp;lt;tt&amp;gt;&#039;&#039;&#039;banner_succes = fichier&#039;&#039;&#039;&amp;lt;/tt&amp;gt; - affiche le contenu de &amp;lt;tt&amp;gt; fichier&amp;lt;/tt&amp;gt; en cas de réussite de l&#039;authentification&lt;br /&gt;
* &amp;lt;tt&amp;gt;&#039;&#039;&#039;banner_fail = fichier&#039;&#039;&#039;&amp;lt;/tt&amp;gt; - affiche le contenu de &amp;lt;tt&amp;gt; fichier&amp;lt;/tt&amp;gt; en cas d&#039; échec de l&#039;authentification&lt;br /&gt;
&lt;br /&gt;
== Exemples de configuration ==&lt;br /&gt;
&lt;br /&gt;
Ci-dessous quelques exemples de fichiers de configuration de services, issus entre autres du man de xinetd.conf&lt;br /&gt;
&lt;br /&gt;
=== Exemple 1 ===&lt;br /&gt;
&lt;br /&gt;
Le 1er exemple est un fichier de configuration du service &amp;lt;tt&amp;gt;ftp&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;root@pingu# cat /etc/xinetd.d/ftp&amp;lt;br /&amp;gt; service ftp&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    socket_type = stream&amp;lt;br /&amp;gt;    wait = no&amp;lt;br /&amp;gt;    nice = 10&amp;lt;br /&amp;gt;    user = root&amp;lt;br /&amp;gt;    server = /usr/etc/in.ftpd&amp;lt;br /&amp;gt;    server_args = -l&amp;lt;br /&amp;gt;    instances = 4&amp;lt;br /&amp;gt;    log_type = FILE /var/log/ftp.log&amp;lt;br /&amp;gt;    log_on_success = DURATION HOST USERID&amp;lt;br /&amp;gt;    access_times = 2:00-9:00 12:00-24:00&amp;lt;br /&amp;gt;  }&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le serveur ftp, hormis les paramètres génériques de configuration, autorise des connexions entre 2h et 9h et entre midi et minuit. Son fichier de log est &amp;lt;tt&amp;gt;/var/log/ftp.log&amp;lt;/tt&amp;gt; et contient, en cas de connexions réussies, la durée de la connexion, le nom de la machine cliente et l&#039;UID de l&#039;utilisateur connecté. Seules 4 instances simultanées sont autorisées&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
=== Exemple 2 ===&lt;br /&gt;
&lt;br /&gt;
Le 2e exemple est un fichier de configuration du service &amp;lt;tt&amp;gt;telnet&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;root@pingu# cat /etc/xinetd.d/telnet&amp;lt;br /&amp;gt; service telnet&amp;lt;br /&amp;gt;  {&amp;lt;br /&amp;gt;    socket_type = stream&amp;lt;br /&amp;gt;    wait = no&amp;lt;br /&amp;gt;    nice = 10&amp;lt;br /&amp;gt;    user = root&amp;lt;br /&amp;gt;    server = /usr/etc/in.telnetd&amp;lt;br /&amp;gt;    rlimit_as = 8M&amp;lt;br /&amp;gt;    rlimit_cpu = 20&amp;lt;br /&amp;gt;  }&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exemple 3 ===&lt;br /&gt;
&lt;br /&gt;
Le dernier exemple se compose de 2 fichiers de configuration pour la gestion de &amp;lt;tt&amp;gt;samba&amp;lt;/tt&amp;gt;. par xinetd. En effet, le service samba lance 2 démons, &amp;lt;tt&amp;gt;nmbd&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;smbd&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;root@pingu# cat /etc/xinetd.d/netbios-ssn&amp;lt;br /&amp;gt; service netbios-ssn&amp;lt;br /&amp;gt; {&amp;lt;br /&amp;gt;    socket_type = stream&amp;lt;br /&amp;gt;    protocol = tcp&amp;lt;br /&amp;gt;    wait = no&amp;lt;br /&amp;gt;    user = root&amp;lt;br /&amp;gt;    server = /usr/sbin/smbd&amp;lt;br /&amp;gt;    only_from = 192.168.0.0&amp;lt;br /&amp;gt;    disable = no&amp;lt;br /&amp;gt; }&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; root@pingu# cat /etc/xinetd.d/netbios-ns&amp;lt;br /&amp;gt; service netbios-ns&amp;lt;br /&amp;gt; {&amp;lt;br /&amp;gt;    socket_type = dgram&amp;lt;br /&amp;gt;    protocol = udp&amp;lt;br /&amp;gt;    wait = no&amp;lt;br /&amp;gt;    user = root&amp;lt;br /&amp;gt;    server = /usr/sbin/nmbd&amp;lt;br /&amp;gt;    only_from = 192.168.0.0&amp;lt;br /&amp;gt;    disable = no&amp;lt;br /&amp;gt; }&amp;lt;/tt&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hormis les paramètres génériques de configuration de smbd et nmbd, on a configuré samba de manière à ce qu&#039;il ne soit utilisable que sur le réseau interne 192.168.0.0.&lt;br /&gt;
&lt;br /&gt;
== Le mot de la fin ==&lt;br /&gt;
&lt;br /&gt;
Je n&#039;ai pas exploré ici l&#039;intégralité des possibilités de xinetd. La meilleur des choses à faire pour cela est de se reporter au man. Si vous disposez encore une distribution utilisant inetd, et au vu de toutes les fonctionnalités de xinetd, il semble opportun d&#039;abandonner le premier pour le deuxième. Bien exploité, il devient véritablement un outil de sécurisation de votre système, dès lors que vous mettez en place un certains nombres de serveurs qui, ouvrant votre machine sur l&#039;extérieur, ouvre également la voie aux vilains hackers ;).&lt;br /&gt;
&lt;br /&gt;
N&#039;hésitez pas à me faire parvenir vos remarques et ajouts divers sur le contenu de cet article.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Anne le 15/11/2002.&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Puwok20089FlJM</name></author>
	</entry>
</feed>