Xinetd
| Fiche express | |
|---|---|
| Domaine | Super-serveur réseau (démarrage à la demande) |
| Config | /etc/xinetd.conf, /etc/xinetd.d/*
|
| Contexte | Succède à inetd — largement remplacé par les sockets systemd sur les distributions récentes |
| Voir aussi | Systemctl (activation par socket systemd) |
xinetd (extended internet daemon) est un super-serveur réseau : au lieu de faire tourner en permanence un démon par service, il écoute lui-même les ports des services qui lui sont délégués et ne lance le programme correspondant qu'à la connexion d'un client. Il a succédé à inetd en ajoutant nativement le contrôle d'accès (TCP Wrappers), la journalisation détaillée et des limites de charge par service.
Fonctionnement
xinetd peut gérer des services génériques comme FTP, TFTP, telnet ou rsync, et plus largement tout service réseau simple délégué dans sa configuration. Un service peut aussi tourner en dehors de xinetd, en démon autonome démarré par son propre script d'init (ou son unit systemd) — dans ce cas xinetd n'intervient pas du tout sur lui.
Une fois actif, xinetd gère les connexions entrantes et sortantes des services qui lui sont associés et leur applique les règles posées dans les fichiers de configuration (sécurité, journalisation, limites de connexions).
Fichiers de configuration
/etc/xinetd.conf # configuration générale (valeurs par défaut)
/etc/xinetd.d/* # un fichier par service (ftp, tftp, rsync...)
Vérifier la protection TCP Wrappers
Un service lancé par xinetd hérite en général de la protection TCP Wrappers (hosts.allow/hosts.deny) ; pour un démon autonome, il faut vérifier qu'il est bien lié à libwrap :
strings /sbin/* | grep hosts_access
strings /usr/sbin/* | grep hosts_access
ldd /usr/sbin/sshd
ldd /usr/sbin/sshd | grep libwrap.so.0
Voir aussi
- Systemctl — sur les distributions récentes, xinetd a largement disparu au profit de l'activation par socket de systemd, qui reprend le même principe de démarrage à la demande