Table des matières Page précédente Page suivante

II-3 Démons, serveurs et démons de service

Lorsque vous démarrez votre Linux (oui je sais, c'est long...), tout un tas de programmes sont lancés. Nous allons voir un peu plus en détail de quoi il s'agit.

II-3-1 Démons

Non, nous n'allons pas parler de la Bible, ou d'une aventure de Donjons & Dragons. Sous Linux, un démon est un programme qui se charge en mémoire, attendre certains événements, et réagir en fonction d'eux. On peut citer en vrac :
  • cron, qui lance des tâches à intervalles réguliers.
  • dm qui gère la souris en mode texte.
  • xfs, le serveur de fontes de X.
  • etc...
Bref, tout ces programmes tournent tranquillement, et effectuent leurs tâches sans que vous ne vous en soucier. Pourquoi en parler ? Parce que souvent on parle invariablement de démons et de serveurs, et qu'il est intéressant de connaître les deux appellations.
Pour les utilisateurs de Windows®, un démon est l'équivalent d'un "service".

II-3-2 Serveurs

Un serveur est un programme résident en mémoire, tout comme un démon, à la différence qu'il est tout spécialement intéressé par une activité réseau particulière. Donc un serveur va interagir avec un logiciel à distance, via par exemple le protocole IP. Que le logiciel qui dialogue avec lui soit sur une machine éloignée (connectée via "ethX" ou "pppX"), ou en local (via "lo"), cela n'a pas d'importance.

Lors de la précédente commande "netstat", les programmes répondants au doux nom de "http2", "smbd", "dhcpd", etc..., étaient tous des serveurs.

II-3-3 Démons de service (inetd / xinetd)

Inetd et son "fils" xinetd (pour "eXtended inetd") sont deux serveurs particuliers. "Inetd" étant l'ancêtre et commençant à disparaître des configurations Linux, je ne parlerai que de "Xinetd", qui fait le même travail que "Inetd", mais en mieux...

Le but d'"xinetd" est de se placer entre la couche IP et un ou plusieurs serveurs, afin de les protéger. On peut par exemple vouloir ne laisser l'accès à un serveur que depuis une certaine adresse IP, ou une certaine interface réseau, ou encore uniquement pendant une certaine fenêtre temporelle, etc... Ou alors par une combinaison de quelques unes de ces contraintes. Auquel cas, il faut que le serveur en question ait été suffisamment bien programmé, et qu'il dispose de toutes ces options de configuration. Mais développer autant de paramétrages sur autant de serveurs différents, cela demande du temps, et est la source potentielle de nombreux bugs qui peuvent compromettre la sécurité de la machine.

C'est là qu'intervient "xinetd". Ce meta serveur va se charger d'attendre les requêtes venant de logiciels clients, puis d'appliquer les restrictions qu'on lui a donné, et enfin de décider ou non si la requête est valide. Si c'est le cas, il lancera le logiciel serveur à qui est destiné la requête et laissera ce dernier de débrouiller avec le client. Parmi l'ensemble de logiciels dont nous allons parler un peu plus loin certains peuvent être protégés par xinetd (pop3, proftpd, telnet,...) mais d'autres non (samba, apache, dhcpd,...). Pour ces derniers, c'est à eux de fournir tous les réglages de sécurité dont l'utilisateur peut avoir besoin. En général, ce sont de gros logiciels serveurs qui les proposent justement, et qui pour des raisons de performance, ne peuvent pas se permettre de gaspiller du temps CPU à faire analyser leur trafic IP par un meta serveur comme xinetd.

Une documentation très intéressante, et en français, sur la configuration de xinetd se trouve ici.


Table des matières Page précédente Page suivante
Valid XHTML 1.0! Valid CSS!
Site de référence : http://olivieraj.free.fr/ Last modified: Wed Jul 23 19:18:41 CEST 2003