[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


99. Informazioni sugli utenti della rete

I servizi di informazione sugli utenti della rete possono essere distinti in tre tipi, a seconda che si basino sul servizio di uno dei demoni seguenti.

L'attivazione dei servizi che forniscono informazioni sugli utenti sono fonte di problemi di sicurezza. In generale, sono molto utili nelle reti locali chiuse mentre sono pericolosi nei sistemi accessibili dall'esterno.

99.1 Remote Who

Si tratta di un sistema che raccoglie le informazioni sugli utenti connessi nella rete locale. Le informazioni sono aggiornate frequentemente da un demone locale che, attraverso l'invio e la ricezione di messaggi broadcast, informa e ottiene informazioni dagli altri sistemi dove si trova in funzione lo stesso demone.

Attraverso questo meccanismo, ogni elaboratore che ha in funzione questo demone ha una directory `/var/spool/rwho/' contenente una serie di file, uno per ogni elaboratore incontrato nella rete locale. Questi file rappresentano il risultato finale di questo sistema di raccolta di informazioni, e ognuno di questi contiene l'indicazione degli utenti che utilizzano gli elaboratori della rete locale.

99.1.1 # rwhod

rwhod

`rwhod' è il demone che si occupa di fornire e ricevere informazioni sugli utenti connessi sui vari elaboratori della rete locale. La comunicazione tra il demone locale e quelli degli altri elaboratori avviene attraverso messaggi broadcast. Questo implica la necessità che la rete sia in grado di gestire tali messaggi e che il sistema di collezione delle informazioni risulti limitato all'ambito dell'indirizzo broadcast utilizzato.

Il compito di `rwhod', dal punto di vista pratico, è quello di aggiornare i file contenuti all'interno di `/var/spool/rwho/'.

`rwhod' può essere avviato solo come demone autonomo, senza il controllo del supervisore di rete `inetd'. Se si ritiene che questo servizio sia importante occorre inserire l'avvio di `rwhod' in uno degli script della procedura di inizializzazione del sistema.

99.1.2 $ rwho

rwho [-a]

`rwho' è il programma che, attraverso la lettura della directory `/var/spool/rwho/', informa sugli utenti connessi agli elaboratori della rete locale. I file di queste informazioni, contenuti nella directory `/var/spool/rwho/' sono aggiornati dal demone `rwhod'.

L'opzione `-a' permette di non visualizzare le informazioni sugli utenti che da molto tempo risultano non avere alcuna interazione con il proprio sistema.

99.2 Informazioni attraverso RPC

È possibile richiedere informazioni attraverso le RPC. Per ottenerle, occorre che l'elaboratore dal quale si vogliono ricevere abbia in funzione il servizio `rusersd' normalmente reso disponibile dal demone `rpc.rusersd'.

Naturalmente, trattandosi di un servizio RPC, occorre che anche il portmapper sia stato attivato preventivamente (capitolo 96).

99.2.1 # rpc.rusersd

rpc.rusersd

`rpc.rusersd' è il demone del servizio `rusersd'. Normalmente, per attivarlo è necessario avviarlo in maniera indipendente da `inetd', attraverso la procedura di inizializzazione del sistema.

99.2.2 $ rusers

rusers [-a] [-l] [<host>...]

Elenca gli utenti connessi agli elaboratori della rete locale. Per ottenere queste informazioni, utilizza una chiamata RPC e quindi instaura un collegamento con il demone `rpc.rusersd' presso gli elaboratori che rispondono.

Vedere rusers(1).

99.3 Informazioni personali -- Finger

Quando si parla di Finger si fa riferimento alle informazioni personali contenute nel quinto campo del file `/etc/passwd', cioè al nominativo completo dell'utente. A volte, in questo campo si trovano informazioni addizionali, come l'ufficio, il numero telefonico dell'ufficio e il numero di casa. Sotto questo aspetto, tali informazioni sono effettivamente delicate.

Volendo, si possono rendere pubbliche queste informazioni, assieme ad altre che si raccolgono all'interno di file di configurazione contenuti nelle directory personali degli utenti, attraverso il demone `fingerd', controllato da `inetd'.

99.3.1 # fingerd

in.fingerd [<opzioni>]

Consente al programma `finger' di ottenere le informazioni che richiede. È gestito dal supervisore `inetd' e filtrato da `tcpd'.

Nell'esempio seguente, viene mostrata la riga di `/etc/inetd.conf' in cui si dichiara il suo possibile utilizzo.

finger	stream	tcp	nowait	root	/usr/sbin/tcpd	in.fingerd
Alcune opzioni

-w

Con questa opzione, gli utenti remoti del servizio ricevono un benvenuto addizionale, contenente informazioni particolareggiate sul sistema in funzione. Dal momento che queste indicazioni possono essere utili a un ipotetico aggressore, generalmente si evita di utilizzare tale opzione.

-u

L'opzione `-u' permette di non accogliere richieste remote generalizzate. In pratica, si impedisce l'uso di un comando del tipo `finger @host', in cui non appare esplicitamente il nome di un utente particolare.

-l

Attiva l'annotazione delle richieste nel registro di sistema.

99.3.2 $ finger

finger [<opzioni>] [<utente>...] [[<utente>]@<host>...]

Consente di visualizzare le informazioni utili a identificare gli utenti indicati come argomento. Gli utenti possono essere specificati anche utilizzando il simbolo `@' seguito dal nome dell'elaboratore. Se non vengono indicati nomi di utente, viene visualizzato l'elenco degli utenti connessi. Se si specifica il nome di un elaboratore preceduto dal simbolo `@', viene visualizzato l'elenco degli utenti connessi a quell'elaboratore.

Alcune opzioni

-s

Visualizza il nominativo degli utenti, il nome reale, i terminali a cui sono connessi (con l'aggiunta di un asterisco nel caso sia impedita la scrittura), il tempo di inattività (questo non esclude che su quel terminale possa essere in uso un qualche programma interattivo), il momento in cui è avvenuto l'accesso, e le informazioni addizionali sull'ufficio.

-l

Fornisce tutte le informazioni che si potrebbero ottenere attraverso l'opzione `-s', assieme a tutte le altre disponibili: la directory personale, il telefono privato, la shell iniziale, la situazione della posta elettronica, e il contenuto dei file `~/.plan', `~/.project' e `~/.forward' (che si trovano nella directory personale di quell'utente).

Questa è l'azione predefinita, che corrisponde in pratica a fornire tutte le notizie disponibili sull'utente.

Esempi

finger

Fornisce l'elenco degli utenti connessi al sistema locale.

finger @dinkel.brot.dg

Se l'elaboratore `dinkel.brot.dg' lo consente, fornisce l'elenco degli utenti connessi a quel sistema remoto.

finger -l @dinkel.brot.dg

Se l'elaboratore `dinkel.brot.dg' lo consente, fornisce tutte le informazioni disponibili sugli utenti connessi a quel sistema remoto.

finger -l tizio@dinkel.brot.dg

Se l'elaboratore `dinkel.brot.dg' lo consente, fornisce tutte le informazioni disponibili sull'utente `tizio', indipendentemente dal fatto che questo sia connesso o meno.

---------------------------

Appunti Linux 2000.04.12 --- Copyright © 1997-2000 Daniele Giacomini --  daniele @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]