Skip to content.
Logo tecnoteca

Portale Tecnoteca.it

Logo tecnoteca

Vai al sito aziendale Tecnoteca.com


 
You are here: tecnoteca.it » How to » Linux Tips » Xinetd, il Super-Demone

Xinetd, il Super-Demone

Presente nella directory /etc/init.d, l'eseguibile Xinetd è utilizzato per la gestione di servizi di rete; in sostanza è un demone che gestisce altri demoni.
Le sue funzioni sono molteplici:
controllo sull'accesso, funzionalità di log, possibilità di associare un servizio a specifiche interfacce di rete, limitazione di possibili attacchi Denial of Service.
Dopo aver letto il suo file di configurazione (/etc/xinetd.conf), Xinetd si mette in ascolto sulle porte indicate avviando il servizio richiesto, se vengono superati i controlli.
Il file /etc/xinetd.conf contiene solo alcuni valori di default che si applicano a tutti i servizi e un'istruzione che rimanda alla directory /etc/xinetd.d, che contiene i file di configurazione di ogni singolo servizio.
Vediamo un semplice esempio:


                       # Inizio /etc/xinetd.conf #

defaults
{
instances = 60   # imposta il numero massimo di richieste 
                 # che un servizio può gestire alla volta

log_type = SYSLOG authpriv   # indica a xinetd di usare il
                             # registro authpriv,
                             # specificato in /etc/syslog.conf
    
log_on_success = HOST PID    # indica a xinetd cosa registrare se la
                             # connessione avviene correttamente
                             # (di default viene registrato l'indirizzo
                             # ip dell'host remoto e l'id del server
                             # che elabora la richiesta)

log_on_failure = HOST        # indica a xinetd cosa registrare se la
                             # connessione fallisce o non è autorizzata

cps = 25 30                  # indica a xinetd di non consentire più di
                             # 25 connessioni al secondo verso un dato
                             # servizio; quando tale limite viene raggiunto
                             # il servizio entra in pausa per 30 secondi
                             # e controlla se le connessioni diminuiscono;
                             # se così non è attende ancora
}
includedir /etc/xinetd.d     # ogni file contenuto nella directory
                             # viene letto tutte la volte che si avvia il
                             # super-demone e corrisponde ad ognuno dei
                             # servizi gestiti

                       # Fine /etc/xinetd.conf #


Ora entriamo in /etc/xinetd.d e visualizziamo come esempio il file di telnet, da dove è possibile bloccare l'accesso di questo servizio a un sistema da parte di uno specifico gruppo di rete e restringere la fascia oraria durante la quale gli utenti autorizzati possono collegarsi:


                       # Inizio /etc/xinetd.d/telnet #

service telnet
{
disable = no    # se impostato su yes il servizio non è attivo

socket_type = dgram  # (udp)

wait = no            # per ogni nuova connessione Xinetd avvia una nuova                          # copia del server

user = root

server = /usr/sbin/in.telnetd 

log_on_failure = USERID  # registra l'identità dell'utente remoto che non è                            # riuscito a connettersi

no_access = 192.168.10.0/24    # gli host di questa rete non possono                                         # connettersi

log_on_success = PID HOST EXIT # registra l'id del processo, l'indirizzo                                     # dell'host, lo stato di uscita del servizio
                               # delle connessioni avvenute

access_times = 08:30-17:30     # specifica la fascia oraria in cui il                                        # servizio può essere utilizzato
}

                         # Fine /etc/xinetd.d/telnet #

Francesco Celebrini
f.celebrini@freeonline.it