11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

306 CAPITOLO 8. LA GESTIONE DEI SERVIZI DI BASEsolo da parte di certe stazioni o reti, (insomma, una specie di filtro telefonico alla rovescia cheimpedisce che ci possano chiamare da certi numeri).Le modalità con cui si possono utilizzare le capacità di filtraggio dei TCP wrappers sonosostanzialmente due. La prima è quella più semplice che vede l’uso del programma tcpd, dacui deriva appunto il nome, che fa da involucro all’esecuzione di altri programmi. Esso vienedi norma utilizzato attraverso il demone inetd come illustrato in sez. 8.1.1 per lanciare altriprogrammi, effettua un controllo e se l’accesso è consentito lancia il demone specificato comeargomento.La seconda modalità è quella che prevede l’uso delle librerie di controllo all’interno del demone,che deve essere collegato alle stesse, in modo da poterne usare direttamente le funzionalità.Sono esempi di questa modalità servizi come SSH, LDAP o NFS.In entrambi i casi le connessioni ai servizi controllati vengono archiviate tramite syslog inmodo da lasciare traccia di eventuali tentativi non autorizzati di accesso, dopo di che vengonoeseguiti i vari controlli che prevedono.Il controllo di accesso implementato dai TCP wrappers è gestito attraverso due file, hosts.allowe hosts.deny, che contengono le regole di accesso, secondo una sintassi specifica che è riportataper esteso nella pagina di manuale accessibile con man 5 hosts_access. Il primo file, comesuggerisce il nome, elenca le regole che negano l’accesso, il secondo quelle che lo consentono.Si tenga presente che il funzionamento dei TCP wrappers è tale che prima viene controllatohosts.allow, e se una regola corrisponde l’accesso è garantito ed il controllo finisce qui; altrimentiviene controllato hosts.deny e se una regola corrisponde l’accesso è negato. Se entrambii file sono vuoti quindi, l’accesso è consentito.In genere allora quello che si fa è negare tutti gli accessi in hosts.deny e consentire poi soloquelli voluti in hosts.allow. Per questo l’esempio tipico di hosts.deny è il seguente:# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.# See the manual pages hosts_access(5), hosts_options(5)# and /usr/doc/netbase/portmapper.txt.gz#ALL: ALLla sintassi delle regole si intravede già in questo esempio; al solito righe vuote e tutto quello chesegue un # viene ignorato, ogni riga poi ha la forma:lista dei server: lista dei client : comando shelldove la terza parte (: comando shell) è opzionale e può essere omessa.Un altro esempio, più significativo del precedente, è quello del contenuto di hosts.allowriportato di seguito:# /etc/hosts.allow: list of hosts that are allowed to access the system.# See the manual pages hosts_access(5), hosts_options(5)# and /usr/doc/netbase/portmapper.txt.gz#sshd: ALLleafnode: 127.0.0.1portmap: 127.0.0.1 192.168.1.mountd: 127.0.0.1 192.168.1.statd: 127.0.0.1 192.168.1.lockd: 127.0.0.1 192.168.1.rquotad: 127.0.0.1 192.168.1.Nell’esempio indicato si sono indicati tre servizi, il primo è la secure shell, che permette uncollegamento sicuro da remoto, che è gestita come server dal programma sshd; il secondo è ilservizio che permette di tenere un server di news in locale (a scopo di caching), gli altri sono i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!