[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]
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:
rwhod
rpc.rusersd
fingerd
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. |
Si tratta di un sistema che raccoglie le informazioni sugli utenti connessi nella rete locale. (1) 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.
Il demone che si occupa di fornire e ricevere le informazioni sugli utenti connessi sui vari elaboratori della rete locale è rwhod. Come accennato, la comunicazione tra il demone locale e quelli degli altri elaboratori avviene attraverso messaggi broadcast; pertanto la rete deve essere in grado di gestire tali messaggi e il sistema di collezione delle informazioni risulta limitato all'ambito dell'indirizzo broadcast utilizzato. Il modello sintattico mostra che in generale non si usano argomenti:
rwhod
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 dei servizi di rete. Se si ritiene che questo servizio sia importante occorre inserire l'avvio di rwhod in uno degli script della procedura di inizializzazione del sistema.
All'interno di ogni elaboratore che partecipa al servizio di condivisione delle informazioni sugli utenti, il programma rwho è quello che legge i file contenuti in /var/spool/rwho/
per informare sugli utenti connessi agli elaboratori della rete locale. Come spiegato in precedenza, i file di queste informazioni, contenuti nella directory /var/spool/rwho/
sono aggiornati dal demone rwhod.
rwho [-a]
Opzione | Descrizione |
| Permette di non visualizzare le informazioni sugli utenti che da molto tempo risultano non avere alcuna interazione con il proprio sistema. |
È 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. (2)
Naturalmente, trattandosi di un servizio RPC, occorre che anche il Portmapper sia stato attivato preventivamente (capitolo 136).
Come già accennato, rpc.rusersd è il demone del servizio rusersd. Normalmente, per attivarlo è necessario avviarlo in maniera indipendente dal supervisore dei servizi di rete, attraverso la procedura di inizializzazione del sistema:
rpc.rusersd
Il programma rusers, dal lato cliente, elenca gli utenti connessi agli elaboratori della rete locale, svolgendo in pratica il compito del programma users, ma attraverso la rete. Per ottenere queste informazioni, utilizza una chiamata RPC e quindi instaura un collegamento con il demone rpc.rusersd presso gli elaboratori che rispondono:
rusers [-a] [-l] [host...]
Opzione | Descrizione |
| Mostra le informazioni di tutti i nodi che rispondono, anche nessun utente vi accede in quel momento. |
| Mostra informazioni dettagliate sugli accessi. |
Quando si parla di Finger (3) 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, pertanto questo tipo di servizio va attivato solo se richiesto.
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 in.fingerd (o solo fingerd), controllato dal supervisore dei servizi di rete.
In molte distribuzioni GNU il demone in.fingerd risulta attivo in modo predefinito. Pertanto, se non lo si vuole, bisogna fare attenzione a non lasciarselo sfuggire. Il demone è gestito dal supervisore dei servizi di rete, che di solito si avvale del TCP wrapper per controllare l'accesso a tali informazioni:
in.fingerd [opzioni]
Nell'esempio seguente, viene mostrata la riga di /etc/inetd.conf
in cui si dichiara il suo possibile utilizzo per quanto riguarda il caso particolare di Inetd:
finger stream tcp nowait root /usr/sbin/tcpd in.fingerd |
Se si vuole evitare che il servizio sia disponibile, conviene commentare tale direttiva del file /etc/inetd.conf
:
# finger stream tcp nowait root /usr/sbin/tcpd in.fingerd |
Segue la descrizione di alcune opzioni della riga di comando del demone in.fingerd.
In generale, per motivi di sicurezza è meglio avviare il demone con l'opzione -u, in modo da evitare le richieste generalizzate a tutti gli utenti del sistema.
Il programma finger 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:
finger [opzioni] [utente...] [[utente]@host...]
Segue la descrizione di alcuni 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. In caso contrario (quando il servente in.fingerd è stato avviato con l'opzione -u) si dovrebbe ottenere un messaggio simile a quello seguente:
Please supply a username |
$
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.
Quando il programma finger può funzionare, assieme alle informazioni personali dell'utente che può ottenere dal file /etc/passwd
, può emettere anche il contenuto di alcuni file predisposti dall'utente stesso:
~/.plan
;
~/.project
;
~/.forward
.
Il file ~/.forward
serve a indicare un indirizzo di posta elettronica a cui viene dirottata la posta in modo automatico. Non riguarda quindi direttamente finger, ma è una di quelle informazioni che questo servizio fornisce opportunamente, anche se in modo indiscreto.
Gli altri due file possono essere usati da ogni utente per indicare informazioni addizionali. Generalmente si utilizza solo il primo, ~/.plan
, per lo scopo di pubblicizzare notizie attraverso il servizio Finger.
Segue l'esempio di quello che si potrebbe ottenere interrogando le notizie disponibili di un certo utente:
Login: daniele Name: daniele giacomini Directory: /home/daniele Shell: /bin/bash Office Phone: 123456 On since Thu Mar 26 07:49 (MET DST) on tty1 10 minutes 3 seconds idle (messages off) On since Thu Mar 26 09:37 (MET DST) on ttyp5 from :0.0 Mail forwarded to daniele@dinkel.brot.dg No mail. Project: Appunti di informatica libera Alml Textchk Sgmltexi Plan: Ciao a tutti! |
daniele @ swlibero.org
1) netkit-rwho UCB BSD
2) netkit-rusers software libero con licenza speciale
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome informazioni_sugli_utenti_della_rete.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]