Cos'รจ un demone?

20 Marzo 2024

Un demone รจ a programma per computer che viene eseguito in background invece di essere sotto il controllo diretto dell'utente. Esegue compiti dal momento in cui sistema operativo si avvia finchรฉ il computer non viene spento. Queste attivitร  includono la gestione delle richieste di rete, la gestione dei dispositivi hardware, pianificazione del lavoroe fornire servizi quali servizi web, recapito di posta elettronica o gestione del database.

I demoni sono ampiamente utilizzati in UNIX e sistemi simili a UNIX, dove hanno un ruolo fondamentale nel mantenimento della funzionalitร , nella gestione delle risorse, nell'esecuzione di attivitร  e nell'offerta di una varietร  di servizi critici per il sistema. I sistemi operativi che non utilizzano il termine demone, tuttavia, implementano servizi e processi che svolgono funzioni simili.

Storia e sviluppo dei demoni

Il concetto di demone risale agli albori dei sistemi operativi, in particolare UNIX, tra la fine degli anni '1960 e l'inizio degli anni '1970. Il termine affonda le sue radici nella mitologia greca, dove i demoni erano considerati spiriti benigni della natura. Pertanto, il termine รจ stato adottato in ambito informatico per descrivere processi in background che eseguono silenziosamente attivitร  senza interagire con gli utenti.

Con l'avanzamento dei servizi online, i demoni sono diventati essenziali per la gestione dei servizi web, della posta elettronica servers, e banca dati sistemi. Sono anche cruciali per la sicurezza del sistema, poichรฉ monitorano le attivitร  del sistema per proteggerlo da malware e accessi non autorizzati.

Oggi, il concetto di demoni si รจ espanso oltre UNIX, influenzando la progettazione di servizi e processi in altri sistemi operativi, come Windows (che utilizza il termine โ€œserviziโ€ anzichรฉ demoni). Inoltre, i demoni sono un elemento fondamentale dellโ€™architettura dei sistemi distribuiti, cloud informaticae microservices.

Demone contro processo

A processi รจ un termine generale che descrive qualsiasi istanza di esecuzione di un programma. Essendo l'unitร  di esecuzione di base in un sistema operativo, comprende il codice del programma ("l'eseguibile"), la sua attivitร  corrente (rappresentata dal contatore del programma) e le risorse allocate dal sistema operativo. I processi interattivi eseguono comandi utente, mentre i processi non interattivi eseguono attivitร  in background.

A demone รจ un tipo specifico di processo in background che viene eseguito indipendentemente dalle sessioni utente e viene solitamente avviato all'avvio del computer. I demoni non hanno un terminale di controllo. Operano invece in background, eseguendo attivitร  come la gestione delle connessioni di rete, il monitoraggio dei sistemi, ecc. I demoni rimangono attivi fino allo spegnimento del sistema e non richiedono l'intervento diretto dell'utente.

Come funziona un demone?

Un demone esegue attivitร  in modo autonomo e continuo senza interazione da parte degli utenti come segue:

  1. Inizializzazione. Un demone in genere viene avviato all'avvio del sistema. Durante il processo di inizializzazione vengono impostati i parametri operativi, i permessi e le risorse necessarie per il funzionamento del demone.
  2. Distacco dal terminale di controllo. Per garantire un funzionamento continuo in background, il demone si stacca dal terminale di controllo effettuando il fork di un processo figlio e terminando il processo genitore. Il processo figlio viene quindi adottato dal processo init (PID 1) o un suo equivalente per garantire che il demone venga eseguito in modo indipendente.
  3. Correre in background. Dopo la disconnessione, il demone viene eseguito in background per eseguire un'ampia gamma di attivitร , come l'ascolto delle connessioni di rete in entrata, la gestione delle risorse e l'esecuzione di attivitร  pianificate. Quando non eseguono attivitร , i daemon entrano in uno stato di sospensione per ridurre al minimo il consumo di risorse.
  4. Registrazione e monitoraggio. I demoni registrano le loro attivitร  nei file di registro del sistema, il che รจ importante per eseguire la diagnostica, il controllo, il monitoraggio dell'integritร  del sistema e garantire la conformitร  della sicurezza.
  5. Rispondere a richieste ed eventi. I demoni possono essere configurati per rispondere a determinati eventi e richieste, come modifiche al file system o aggiustamenti del carico di sistema. Queste attivitร  possono comportare l'avvio o l'arresto di attivitร , la regolazione dell'allocazione delle risorse o l'esecuzione di operazioni specifiche in risposta a regole o trigger predefiniti.
  6. Gestione e pulizia delle risorse. I demoni gestiscono le proprie risorse, come memoria, connessioni di rete, ecc., per prevenire perdite e garantire la stabilitร  del sistema. Inoltre, puliscono le risorse quando il sistema si spegne per evitare di lasciare processi o dati indesiderati.

Tipi di demoni

Esistono diversi tipi di demoni a seconda della loro funzionalitร  e dei servizi che forniscono.

Web Server Demoni

Web server i demoni, in genere i browser Web, sono progettati per gestire le richieste di contenuto Web da parte dei client e servire le pagine e le risorse Internet richieste. Ascoltano su porte di rete specifiche (ad esempio, porta 80 per HTTP o porta 443 per HTTPS) e attendere le connessioni. Dopo aver ricevuto la richiesta, il web server lo interpreta e accede alla fonte richiesta per recuperare il file e rispedirlo al client.

Oltre a servire pagine web, web server gestiscono anche i demoni crittografia, utente autenticazione, reindirizzamento del traffico, compressione dei dati, ecc. Esempi comuni di web server i demoni sono:

  • Apache HTTP Server. Supporta una gamma di funzionalitร .
  • nginx. Fornisce efficienza e prestazioni avanzate.

Nota: Per un confronto approfondito tra questi due web serversรฌ, consulta il nostro articolo della Knowledge Base Apache contro Ngnix: un confronto dettagliato.

Demoni del database

I demoni del database sono fondamentali per gestione della banca dati operazioni, compreso memorizzazione dei dati, recupero, aggiornamento e manipolazione. Questi servizi sono continuamente attivi servers in attesa delle query del database. Assicurano l'integritร  dei dati, prestazioni fluide e sicurezza attraverso l'elaborazione delle transazioni, il controllo degli accessi e la sincronizzazione dei dati. I demoni del database gestiscono grandi volumi di dati e query complesse, fornendo un accesso rapido e sicuro alle informazioni.

Esempi di demoni di database includono:

  • mysqld per MySQL. Ampiamente utilizzato nelle applicazioni web per la sua affidabilitร  e facilitร  d'uso.
  • mongod per MongoDB. Utilizzato per applicazioni che richiedono archiviazione scalabile e orientata ai documenti.
  • postgres per PostgreSQL. Adatto per gestire query complesse in ambienti di database relazionali.

Compila il Server Demoni

Compila il server i demoni gestiscono l'archiviazione, il recupero e la condivisione di file tra dispositivi su una rete. Consentono a piรน utenti e sistemi informatici di accedere a file e risorse condivisi senza la necessitร  di trasferimenti di archiviazione fisica. Questa funzionalitร  รจ essenziale per le organizzazioni che utilizzano l'archiviazione centralizzata dei dati.

Gli esempi piรน noti di file server i demoni sono:

  • NFS (file system di rete). Consente agli utenti di montare file system remoti come se fossero locali.
  • Demone Samba. Abilita la condivisione di file e stampanti su Windows, Linuxe sistemi operativi macOS.

posta Server Demoni

posta server i demoni gestiscono l'invio, la ricezione e l'archiviazione della posta elettronica sulle reti. Elaborano i messaggi in entrata e in uscita, eseguendo il filtraggio, il routing e la consegna dello spam. Posta server i demoni interagiscono sia con le applicazioni client che con la posta servers garantire il regolare transito dei messaggi. Lo fanno attraverso protocolli come SMTP (Protocollo di trasferimento di posta semplice), POP3 (Post Office Protocol versione 3) e IMAP (Protocollo di accesso ai messaggi Internet).

Esempi di posta server i demoni includono:

  • Postfisso. Noto per la sua efficienza, facilitร  di configurazione e solida sicurezza.
  • Inviare una mail. Una delle mail piรน antiche server demoni, complessi da configurare ma flexabile e potente.
  • Esim. Altamente personalizzabile, consente lo scripting per regole specifiche di gestione della posta.

Stampa Server Demoni

Stampa server i demoni sono essenziali per gestire la distribuzione e l'accodamento dei lavori di stampa tra stampanti e utenti. Accettano ed elaborano le richieste di stampa, garantendone l'esecuzione sull'hardware della stampante appropriato. Stampa server i demoni consentono inoltre una condivisione efficiente delle risorse attraverso la definizione delle prioritร  in base alle policy o ai requisiti dell'utente.

Uno degli esempi piรน comuni di stampa server demoni รจ CUPS (Common Unix Printing System). Ampiamente utilizzato nei sistemi operativi di tipo UNIX, offre funzionalitร  come la condivisione della stampante, il supporto dei linguaggi di descrizione della pagina (PDL) e la gestione dei driver. CUPS si integra facilmente nelle infrastrutture di rete per semplificare la gestione dei servizi di stampa negli ambienti hardware e operativi.

Demoni SSH

I demoni SSH sono fondamentali per proteggere la comunicazione di rete. Ascoltano le connessioni in entrata per offrire un metodo sicuro per eseguire comandi e trasferire file su reti potenzialmente non protette. IL SSH Il protocollo crittografa la connessione tra il client e server per proteggerlo da intercettazioni, intercettazioni e abusi.

I demoni SSH sono ampiamente utilizzati nei sistemi operativi Unix, Linux e Windows. SSH supporta molti metodi di autenticazione, come l'autenticazione basata su password, l'autenticazione con chiave pubblica e autenticazione a due fattori, per migliorare la sicurezza in tutta la rete. รˆ ampiamente applicabile in ambienti commerciali e open source grazie alla sua affidabilitร  ed efficacia nel proteggere le comunicazioni remote.

Demoni FTP

FTP i demoni sono fondamentali per facilitare il trasferimento di file tra sistemi su a TCP/rete IP. Gestiscono l'autenticazione dell'utente e il processo di elenco, trasferimento e manipolazione dei file in base alle autorizzazioni. Supportano varie modalitร  di verifica, tra cui FTP anonimo (File Transfer Protocol), che consente agli utenti di scaricare file senza un account utente e accesso autenticato.

Esempi importanti di demoni FTP includono:

  • vsftpd (demone FTP molto sicuro). Si concentra sulla sicurezza e sulla velocitร  ed รจ comunemente utilizzato in Distribuzioni Linux.
  • ProFTPD. Altamente personalizzabile, consente agli amministratori di aggiungere o rimuovere funzionalitร  secondo necessitร .
  • FTPd puro. Celebre per il suo processo di installazione semplice e l'equilibrio tra sicurezza e prestazioni.

Demoni di monitoraggio del sistema

I demoni di monitoraggio del sistema mantengono l'integritร  e le prestazioni dei sistemi e delle reti di computer. Funzionano continuamente, raccogliendo dati su varie metriche di sistema, come CPU utilizzo, consumo di memoria, attivitร  del disco e traffico di rete. Tenendo sotto stretto controllo il sistema, aiutano gli amministratori a rilevare potenziali problemi prima che si intensifichino.

Esempi comuni di demoni di monitoraggio del sistema includono:

  • Nagio. Rinomato per le estese funzionalitร  di monitoraggio, plug-in e script.
  • Zabbix. Offre il monitoraggio in tempo reale di servers, macchine virtualie dispositivi di rete.
  • Prometeo. Progettato per la dinamica cloud ambienti che richiedono la raccolta di dati di serie temporali e un supporto di avvisi complesso.

Demoni DNS

Domain Name System (DNS) i demoni traducono i nomi di dominio a misura d'uomo in Gli indirizzi IP che i computer utilizzano per identificarsi a vicenda. Funzionano su DNS servers e ascoltare le richieste dei clienti. Dopo averli ricevuti, cercano nel database per abbinare il nome di dominio con il suo indirizzo IP corrispondente per stabilire una connessione.

Gli esempi piรน comuni di demoni DNS sono:

  • BIND (dominio dei nomi Internet di Berkeley). Il software DNS piรน utilizzato supporta una vasta gamma di record e configurazioni DNS.
  • Non vincolato. Progettato per essere leggero e sicuro grazie all'uso di DNSSEC (Domain Name Security Extensions).

Esempi di demoni

La tabella seguente fornisce una panoramica degli esempi di demoni piรน comuni menzionati sopra, inclusi i nomi, il codice eseguibile e gli usi principali:

Nome del demoneCodice eseguibileUso primario
Apache HTTP Server"httpd"Web server demone per servire pagine web.
Nginx'nginx'Rete ad alte prestazioni server e proxy inverso.
MySQL'mysqld'Banca Dati server demone per la gestione dei database SQL.
MongoDB'mondio'Banca dati orientata ai documenti server demone.
NFS (sistema di file di rete)'nfsd'Compila il server demone per la condivisione di file su una rete.
Samba'smbd'Servizi di archiviazione e stampa per client SMB/CIFS.
Postfix'postfisso'posta server demone per la gestione della consegna della posta elettronica.
Sendmail'inviare una mail'Agente di trasferimento posta per l'invio e la ricezione di e-mail.
CUPS (sistema di stampa UNIX comune)'tazze'Stampa server demone per la gestione dei lavori di stampa e delle code.
sshd (demone Secure Shell)'sshd'Guscio sicuro server per l'amministrazione remota crittografata.
vsftpd (demone FTP molto sicuro)'vsftpd'FTP server demone per trasferimenti sicuri di file.
Nagios'nagios'Demone di monitoraggio del sistema e della rete.
BIND (dominio dei nomi Internet di Berkeley)'di nome'DNS server demone per la traduzione dei nomi di dominio.

Anastasia
Spasojevic
Anastazija รจ una scrittrice di contenuti esperta con conoscenza e passione per cloud informatica, informatica e sicurezza online. A phoenixNAP, si concentra sulla risposta a domande scottanti su come garantire la robustezza e la sicurezza dei dati per tutti i partecipanti al panorama digitale.