Qu'est-ce qu'un démon ?

20 mars 2024

Un démon est un Programme d'ordinateur qui s'exécute en arrière-plan au lieu d'être sous le contrôle direct de l'utilisateur. Il exécute des tâches à partir du moment où le système d'exploitation démarre jusqu'à ce que l'ordinateur soit éteint. Ces tâches incluent le traitement des requêtes réseau, la gestion des périphériques matériels, planification des tâches, et fournir des services tels que le service Web, la livraison d'e-mails ou gestion de base de données.

Les démons sont largement utilisés dans UNIX et les systèmes de type UNIX, où ils jouent un rôle essentiel dans le maintien des fonctionnalités, la gestion des ressources, l'exécution de tâches et l'offre d'une variété de services critiques pour le système. Les systèmes d'exploitation qui n'utilisent pas le terme démon implémentent néanmoins des services et des processus qui remplissent des fonctions similaires.

Histoire et développement des démons

Le concept de démon vient des débuts des systèmes d’exploitation, notamment UNIX, à la fin des années 1960 et au début des années 1970. Le terme trouve ses racines dans la mythologie grecque, où les démons étaient considérés comme des esprits de la nature bienveillants. Par conséquent, le terme a été adopté en informatique pour décrire les processus d’arrière-plan qui exécutent des tâches en silence sans interagir avec les utilisateurs.

Avec l'avancement des services en ligne, les démons sont devenus essentiels pour gérer les services Web, la messagerie électronique servers, et base de données systèmes. Ils sont également cruciaux pour la sécurité du système, car ils surveillent les activités du système pour se protéger contre les logiciels malveillants et les accès non autorisés.

Aujourd'hui, le concept de démons s'est étendu au-delà d'UNIX, affectant la conception de services et de processus dans d'autres systèmes d'exploitation, tels que Windows (qui utilise le terme « services » plutôt que démons). De plus, les démons sont un élément fondamental de l'architecture des systèmes distribués, cloud informatiqueet microservices.

Démon contre processus

A processus est un terme général qui décrit toute instance d'exécution d'un programme. En tant qu'unité d'exécution de base dans un système d'exploitation, elle englobe le code du programme (« l'exécutable »), son activité actuelle (représentée par le compteur de programme) et les ressources allouées par le système d'exploitation. Les processus interactifs exécutent des commandes utilisateur, tandis que les processus non interactifs exécutent des tâches en arrière-plan.

A démon est un type spécifique de processus en arrière-plan qui s'exécute indépendamment des sessions utilisateur et est généralement lancé au démarrage de l'ordinateur. Les démons n'ont pas de terminal de contrôle. Au lieu de cela, ils fonctionnent en arrière-plan, effectuant des tâches telles que la gestion des connexions réseau, la surveillance des systèmes, etc. Les démons fonctionnent jusqu'à l'arrêt du système et ne nécessitent pas l'intervention directe de l'utilisateur.

Comment fonctionne un démon ?

Un démon exécute des tâches de manière autonome et continue sans interaction des utilisateurs comme suit :

  1. Initialisation. Un démon démarre généralement au démarrage du système. Au cours du processus d'initialisation, les paramètres de fonctionnement, les autorisations et les ressources nécessaires au fonctionnement du démon sont configurés.
  2. Détachement du terminal de contrôle. Pour garantir un fonctionnement continu en arrière-plan, le démon se détache du terminal de contrôle en créant un processus enfant et en mettant fin au processus parent. Le processus enfant est ensuite adopté par le processus init (PID 1) ou son équivalent pour garantir que le démon fonctionne de manière indépendante.
  3. Courir en arrière-plan. Une fois détaché, le démon s'exécute en arrière-plan pour effectuer un large éventail de tâches, telles que l'écoute des connexions réseau entrantes, la gestion des ressources et l'exécution de tâches planifiées. Lorsqu'ils n'exécutent pas de tâches, les démons entrent en état de veille pour minimiser la consommation de ressources.
  4. Journalisation et surveillance. Les démons enregistrent leurs activités dans des fichiers journaux système, ce qui est important pour exécuter des diagnostics, des audits, surveiller l'état du système et garantir la conformité en matière de sécurité.
  5. Répondre aux demandes et aux événements. Des démons peuvent être configurés pour répondre à certains événements et demandes, tels que les modifications du système de fichiers ou les ajustements de charge du système. Ces activités peuvent impliquer le démarrage ou l'arrêt de tâches, l'ajustement de l'allocation des ressources ou l'exécution d'opérations spécifiques en réponse à des règles ou déclencheurs prédéfinis.
  6. Gestion et nettoyage des ressources. Les démons gèrent leurs ressources, telles que la mémoire, les connexions réseau, etc., pour éviter les fuites et assurer la stabilité du système. Ils nettoient également les ressources lorsque le système s'arrête pour éviter de laisser derrière eux des processus ou des données indésirables.

Types de démons

Il existe plusieurs types de démons en fonction de leurs fonctionnalités et des services qu'ils fournissent.

DÉVELOPPEMENT Server Daemons

DÉVELOPPEMENT server Les démons, généralement des navigateurs Web, sont conçus pour traiter les demandes de contenu Web des clients et servir les pages et ressources Internet demandées. Ils écoutent sur des ports réseau spécifiques (par exemple, le port 80 pour HTTP ou le port 443 pour HTTPS) et attendez les connexions. Après réception de la demande, le web server l'interprète et accède à la source demandée pour récupérer le fichier et le renvoyer au client.

En plus de servir des pages Web, le Web server les démons gèrent également chiffrement, utilisateur authentification, redirection du trafic, compression des données, etc. Exemples courants de web server les démons sont :

  • Apache HTTP Server. Prend en charge une gamme de fonctionnalités.
  • nginx. Fournit une efficacité et des performances avancées.

Remarque: Pour une comparaison approfondie de ces deux sites Web servers, consultez l'article de notre base de connaissances Apache vs Ngnix : une comparaison détaillée.

Démons de base de données

Les démons de base de données sont essentiels pour gestion de base de données opérations, y compris stockage de données, la récupération, la mise à jour et la manipulation. Ces services fonctionnent en permanence sur servers en attendant les requêtes de la base de données. Ils assurent intégrité des données, des performances fluides et la sécurité grâce au traitement des transactions, au contrôle d'accès et à la synchronisation des données. Les démons de base de données gèrent de gros volumes de données et des requêtes complexes, offrant un accès rapide et sécurisé aux informations.

Voici des exemples de démons de base de données :

  • mysqld pour MySQL. Largement utilisé dans les applications Web en raison de sa fiabilité et de sa facilité d'utilisation.
  • mongod pour MongoDB. Utilisé pour les applications nécessitant un stockage évolutif et orienté document.
  • postgres pour PostgreSQL. Convient pour gérer des requêtes complexes dans des environnements de bases de données relationnelles.

Déposez votre dernière attestation Server Daemons

Déposez votre dernière attestation server Les démons gèrent le stockage, la récupération et le partage de fichiers entre les appareils d'un réseau. Ils permettent à plusieurs utilisateurs et systèmes informatiques d'accéder à des fichiers et des ressources partagés sans avoir besoin de transferts de stockage physique. Cette fonctionnalité est essentielle pour les organisations qui utilisent un stockage de données centralisé.

Les exemples de fichiers les plus connus server les démons sont :

  • NFS (système de fichiers réseau). Permet aux utilisateurs de monter des systèmes de fichiers distants comme s'ils étaient locaux.
  • Démon Samba. Permet le partage de fichiers et d'imprimantes sur Windows, Linux/Unixet les systèmes d'exploitation macOS.

Courrier Server Daemons

Courrier server les démons gèrent l'envoi, la réception et le stockage des e-mails sur les réseaux. Ils traitent les messages entrants et sortants, effectuant le filtrage, le routage et la livraison du spam. Mail server les démons interagissent avec les applications clientes et le courrier servers pour assurer le bon transit des messages. Ils le font grâce à des protocoles tels que SMTP (Protocole de transfert de courrier simple), POP3 (Protocole Post Office version 3), et IMAP (Protocole d'accès aux messages Internet).

Exemples de courrier server les démons incluent :

  • Suffixe. Connu pour son efficacité, sa facilité de configuration et sa sécurité robuste.
  • Envoyer un mail. L'un des courriers les plus anciens server des démons, complexes à configurer mais flexible et puissant.
  • Exim. Hautement personnalisable, permettant la création de scripts pour des règles spécifiques de gestion du courrier.

Imprimé Server Daemons

Imprimé server Les démons sont essentiels pour gérer la distribution et la mise en file d'attente des travaux d'impression entre les imprimantes et les utilisateurs. Ils acceptent et traitent les demandes d'impression, en assurant leur exécution sur le matériel d'impression approprié. Imprimer server Les démons permettent également un partage efficace des ressources grâce à une priorisation basée sur les politiques ou les exigences des utilisateurs.

L'un des exemples les plus courants d'impression server Les démons sont CUPS (Common Unix Printing System). Largement utilisé dans les systèmes d'exploitation de type UNIX, il offre des fonctionnalités telles que le partage d'imprimantes, la prise en charge des langages de description de page (PDL) et la gestion des pilotes. CUPS s'intègre facilement aux infrastructures réseau pour simplifier la gestion des services d'impression dans les environnements matériels et OS.

Démons SSH

Les démons SSH sont essentiels pour sécuriser les communications réseau. Ils écoutent les connexions entrantes pour offrir une méthode sécurisée d'exécution de commandes et de transfert de fichiers sur des réseaux potentiellement non sécurisés. Le SSH Le protocole crypte la connexion entre le client et server pour le protéger des écoutes clandestines, des interceptions et des utilisations abusives.

Les démons SSH sont largement utilisés dans les systèmes d'exploitation Unix, Linux et Windows. SSH prend en charge de nombreuses méthodes d'authentification, telles que l'authentification par mot de passe, l'authentification par clé publique et authentification à deux facteurs, pour améliorer la sécurité sur l’ensemble du réseau. Il est largement applicable dans les environnements commerciaux et open source en raison de sa fiabilité et de son efficacité dans la sécurisation des communications à distance.

Démons FTP

Ftp Les démons sont cruciaux pour faciliter le transfert de fichiers entre les systèmes sur une TCP/Réseau IP. Ils gèrent l'authentification des utilisateurs et le processus de listage, de transfert et de manipulation des fichiers en fonction des autorisations. Ils prennent en charge divers modes de vérification, notamment FTP anonyme (File Transfer Protocol), qui permet aux utilisateurs de télécharger des fichiers sans compte utilisateur ni accès authentifié.

Voici des exemples marquants de démons FTP :

  • vsftpd (démon FTP très sécurisé). Se concentre sur la sécurité et la vitesse et est couramment utilisé dans Distributions Linux.
  • ProFTPD. Hautement personnalisable, permettant aux administrateurs d'ajouter ou de supprimer des fonctionnalités selon leurs besoins.
  • Pure-FTPd. Remarqué pour son processus de configuration simple et l'équilibre entre sécurité et performances.

Démons de surveillance du système

Les démons de surveillance du système maintiennent la santé et les performances des systèmes et des réseaux informatiques. Ils fonctionnent en continu et collectent des données sur diverses métriques du système, telles que Processeur l'utilisation, la consommation de mémoire, l'activité du disque et le trafic réseau. En surveillant de près le système, ils aident les administrateurs à détecter les problèmes potentiels avant qu'ils ne s'aggravent.

Voici des exemples courants de démons de surveillance du système :

  • nagios. Réputé pour ses fonctionnalités de surveillance étendues, ses plugins et ses scripts.
  • Zabbix. Offre une surveillance en temps réel de servers, machines virtuelles, et les périphériques réseau.
  • Prométhée. Conçu pour être dynamique cloud environnements qui nécessitent la collecte de données de séries chronologiques et la prise en charge d’alertes complexes.

Démons DNS

Système de nom de domaine (DNS) les démons traduisent les noms de domaine conviviaux en adresses IP que les ordinateurs utilisent pour s'identifier. Ils fonctionnent sur DNS servers et écouter les demandes des clients. Après les avoir reçus, ils recherchent dans la base de données pour faire correspondre le nom de domaine avec son adresse IP correspondante afin d'établir une connexion.

Les exemples les plus courants de démons DNS sont :

  • BIND (domaine de noms Internet de Berkeley). Le logiciel DNS le plus largement utilisé prend en charge une vaste gamme d’enregistrements et de configurations DNS.
  • Non lié. Conçu pour être léger et sécurisé grâce à l’utilisation de DNSSEC (Domain Name Security Extensions).

Exemples de démons

Le tableau ci-dessous donne un aperçu des exemples de démons les plus courants mentionnés ci-dessus, y compris leurs noms, leur code exécutable et leurs utilisations principales :

Nom du démonCode exécutableUtilisation principale
Apache HTTP Server'httpd'DÉVELOPPEMENT server démon pour servir les pages Web.
Nginx'nginx'Web haute performance server et proxy inverse.
MySQL'mysqld'Base de données server démon pour gérer les bases de données SQL.
MongoDB'mongod'Base de données orientée document server démon.
NFS (système de fichiers réseau)'nfsd'Déposez votre dernière attestation server démon pour partager des fichiers sur un réseau.
Samba'smbd'Services de fichiers et d'impression pour les clients SMB/CIFS.
Postfix'suffixe'Courrier server démon pour gérer la livraison des e-mails.
Sendmail'envoyer un mail'Agent de transfert de courrier pour l'envoi et la réception d'e-mails.
CUPS (système d'impression UNIX commun)'tasses'Imprimé server démon pour gérer les travaux d'impression et les files d'attente.
sshd (démon Secure Shell)'sshd'Enveloppe de protection server pour une administration à distance cryptée.
vsftpd (démon FTP très sécurisé)'vsftpd'Ftp server démon pour les transferts de fichiers sécurisés.
Nagios'nagios'Démon de surveillance du système et du réseau.
BIND (domaine de noms Internet de Berkeley)'nommé'DNS server démon pour traduire les noms de domaine.

Anastasie
Spasojevic
Anastazija est une rédactrice de contenu expérimentée avec des connaissances et une passion pour cloud l'informatique, les technologies de l'information et la sécurité en ligne. À phoenixNAP, elle se concentre sur la réponse à des questions brûlantes concernant la garantie de la robustesse et de la sécurité des données pour tous les acteurs du paysage numérique.