INETD e XINETD

Precedente
Programma
Seguente
Bastard Operator From Hell!
cat /etc/xinetd.conf
  Visualizzazione del contenuto del file di configurazione di xinetd
grep disable /etc/xinetd.d/*
  Visualizza quali servivi sono configurati per essere lanciati tramite xinetd
/etc/rc.d/init.d/xinetd restart
  Riavvia il demone xinetd
Tips & Tricks

E' consigliabile affidare, servizi di logging come telnet ed ssh al demone xinetd per una maggior facilità di controllo del servizio

La label redirect nel file di configurazione dei servizi gestiti da xinetd permette di ridirezionare il traffico in arrivo su un'altro host e un'altra porta. Es:
redirect = 10.0.0.12 2006

In Xinetd è possibile restringere il range di ip che possono utilizzare un certo servizio gestito da xinetd tramite la label only_from. Per esempio la riga sotto permette l'accesso solo dalla rete 10.0.0.0/24:
only_from = 10.0.0.0/24

Dopo aver modificato inetd.conf o xinetd.conf (o file dei singoli servizi in /ec/xinetd.d/ ) è necessario riavviare il relativo servizio per rendere operative le impostazioni date.

Di default inetd permette fino a 40 connessioni al minuto su una specifica porta (è una misura anti attacchi DOS).
Questo può essere un limite per server particolarmente affollati.
Tipicamente un server pop3 con parecchie connessioni può superare questo limite e venire temporaneamente disattivato.
Per impostare, per esempio a 100, il numero massimo di connessioni al minuto inserire una simile riga in inetd.conf:
pop-3 stream tcp nowait.100 root /usr/sbin/tcpd ipop3d

Il superdemone inetd

Inetd è un demone (servizio) che ascolta sulle porte specificate nel suo file di configurazione e fa avviare il relativo servizio nel momento in cui viene fatta una richiesta.
Viene chiamato superdemone proprio per questa sua funzione di controllo di altri demoni.
Il vantaggio di usarlo è di ottimizzare le risorse del sistema, avviando il demone che gestisce un determinato servizio solo quando ci sono effettive richieste.
Sebbene possa essere usato per gestire quasi tutti i servizi è consigliabile farlo solo per quelli a basso e occasionale traffico.
/etc/inetd.conf File di configurazione di inetd
/etc/services File che assegna un nome di servizio alla relativa porta. Viene usato anche da altri programmi.
Ogni riga di /etc/inetd.conf corrisponde ad un servizio che viene gestito da inetd. Se è commentata con un # il servizio non viene avviato e inetd non mette la relativa porta in listening. Il formato di ogni riga è:
service type protocol wait user server cmdline
Un esempio di una riga tipica è:
ftp stream tcp nowait root /usr/sbin/in.ftpd -l
Se si vogliono utilizzare i tcpwrapper per limitare l'accesso al servizio la riga sopra diventa:
ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l
Nelle distribuzioni Linux, solitamente inetd è già configurato per supportare i tcp wrappers.

TCP wrappers
I tcp wrapper (tcpd), sviluppati dall'olandese Wietse Venema, sono un layer software che permette il controllo e il filtro degli accessi a servizi del sistema, tipicamente gestiti con inetd.
In pratica da una configurazione:
client - inetd - servizio
si passa ad una configurazione:
client - inetd - tcpd - servizio
in cui i tcpwrappers possono limitare l'accesso al servizio secondo criteri configurabili ed hanno funzionalità anti-spoofing e anti tcp seguence guessing.
La configurazione dei tcp wrappers si fa essenzialmente in due file:
/etc/hosts.allow Permette di specificare quali servizi permettere e da quali indirizzi IP
/etc/hosts.deny Permette di specificare come limitare l'accesso a specifici servizi
Introduzione a Xinetd
Dalla versione 7.0 RedHat ha sostituito Inetd con un demone più versatile e sicuro: Xinetd.
A differenza del precedessore, xinetd:
- Limita o regola l'accesso a determinati servizi senza ricorrere al Tcp Wrapper
- Offre un sistema di logging indipendente da syslog
- Permette di limitare l'accesso ai servizi in determinate ore della giornata
- Supporta il protocollo Ipv6
- Utilizza vari meccanismi che mitigano l'impatto di un attacco DOS.
La configurazione del demone e dei servizi può essere suddivisa in più file (non compatibili con /etc/inetd.conf).
Su RedHat si deve operare su:
/etc/xinetd.conf File di configurazione del demone
/etc/xinetd.d/* Directory che contiene i singoli file dei servizi offerti da xinetd
WEB RESOURCES
http://www.linuxdoc.org/LDP/nag/node125.html The inetd Super-Server
http://www.uwsg.iu.edu/security/inetd.html Configuring inetd.conf Securely
http://www.linuxjournal.com/article.php?sid=4490 Articolo - How-TO installazione e configurazione di xinetd
http://www.uwsg.indiana.edu/security/tcp_wrappers.html Installazione di tcp wrappers