Server  »  Articoli  »  Altri Server 

Controllare l'accesso ai servizi di rete con TCP Wrappers

di: Ermanno Ancona     27 Febbraio 2007

TCP Wrappers è un software che permette il controllo degli accessi ai servizi di rete come Ftp, Ssh, Imap o Pop, offerti da un sistema unix-like. Esso ricorre ad alcune ACL (Access Control List) per filtrare le connessioni, registrare il nome dell'host che effettua la richiesta ed il particolare servizio richiesto. Generalmente lo trovate già installato di default e si appoggia al demone syslogd per le operazioni di log.

Fu originariamente sviluppato da Wietse Zweitze Venema, fisico e programmatore dell'Eindhoven University of Technology, per controllare gli attacchi di un insistente cracker.

Apriamo una breve parentesi per dire che, in un sistema Unix, i processi possono essere avviati in due modalità: daemon mode (ovvero standalone) e super-daemon. Nella seconda ipotesi esiste un "super processo" che attende le connessioni ai servizi di rete ed una volta ricevuta la richiesta, attiva il processo corrispondente.

Con un demone standalone è necessario allocare immediatamente risorse di sistema (cpu, memoria e così via) per il suo funzionamento, al contrario il super demone le richiede solo in caso di effettiva necessità. Per contro vi sarà una riduzione delle prestazioni ed un allungamento dei tempi di risposta. L'amministratore di sistema dovrà dunque scegliere la modalità che meglio si adatta al singolo processo in base all'uso che ne verrà fatto ed alle sue caratteristiche di funzionamento. Ad esempio Apache è già ottimizzato per il risparmio di risorse, quindi normalmente non conviene ridurne le performance.

Il super server originario, ancora usato da molti Unix commerciali e da alcune distribuzioni Linux, è inetd; il super demone di nuova generazione, ormai adottato dalla maggior parte delle distribuzioni, è xinetd il quale fornisce ulteriori garanzie di sicurezza e flessibilità di configurazione.

L'idea del programmatore olandese fu questa: il super demone anziché richiamare direttamente il demone figlio, cede il controllo ad un processo intermedio (tcpd) che opera le necessarie verifiche, esegue le attività di log e decide se avviare o no il processo richiesto.

Originariamente solo i servizi gestiti dal super server inetd godevano di questo beneficio, attualmente molti demoni di rete sono compilati con la libreria libwrap che fornisce le funzionalità descritte. Volendo potreste scrivere un vostro software di rete e compilarlo con tale libreria. Quando viene effettuato un tentativo di connessione ad un servizio "tcp wrapped", per prima cosa vengono controllati i file contenenti le ACL per determinare se il client sia autorizzato o meno.

Potete utilizzare il comando strings per verificare l'esistenza del supporto ai TCP Wrappers. Nel caso del servizio Ftp gestito dal demone vsftpd:

# strings /usr/sbin/vsftpd | grep libwrap 
libwrap.so.0

La risposta del sistema, riportata nella seconda riga, ci conforta in proposito. Se invece ci venisse restituito solo il prompt dei comandi saremmo sfortunati.

Guide Server

Guida risparmio energetico per server

Dalla determinazione dei consumi al risparmio, dalla...

Guida Subversion

SVN è uno dei sistemi per il versioning più utilizzati al mondo....

Guida Application server

Cosa sono, quali sono e come possono essere utilizzati nella...

Altre guide

Newsletter

Ogni settimana, in due distinte newsletter: notizie a approfondimenti su Apache e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto