[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume]


Capitolo 672.   nanoLinux: accesso limitato

L'accesso ad alcuni servizi può essere limitato, attraverso il menù di nanorc.

672.1   Limitazione nell'uso della stampante

La configurazione di una stampante comporta inizialmente che questa venga resa accessibile a chiunque, senza limitazioni, mentre la configurazione di una stampante remota coincide con la chiusura dell'accesso a chiunque, salvo ai programmi locali. Per modificare questo sistema di massima, occorre procedere con due comandi di nanorc:

nanorc printer clients[Invio]

Per prima cosa occorre dichiarare quali sono i nodi da cui è prevista la possibilità di accedere al proprio servizio di stampa (locale o remoto che sia). In pratica, in questo elenco vanno inseriti gli indirizzi IPv4 di chi, per qualche ragione, deve avere la possibilità di stampare. Un elenco del genere potrebbe avere significato:

172.21.1.1
172.21.1.2
172.21.1.3
172.21.2.0/255.255.255.0
172.21.3.0/255.255.255.0

Come si vede, si possono indicare anche gruppi di nodi, specificando una maschera di rete; tuttavia, è bene che non si creino sovrapposizioni, altrimenti diventa poi difficile gestire il controllo dei permessi di accesso.

Supponendo di avere inserito esattamente l'elenco che si vede nell'esempio, dopo, con un altro comando di nanorc, è possibili stabilire chi può accedere tra questi:

nanorc printer access[Invio]

.--------------------Printer access permissions-----------------------.
| Please, select or deselect allowed access to printer:               |
| .-----------------------------------------------------------------. |
| | [ ] DENY_ALL                  reset to no remote access allowed | |
| | [ ] ALLOW_ALL                 reset to all access allowed       | |
| | [ ] 172.21.1.1                allow_172.21.1.1                  | |
| | [ ] 172.21.1.2                allow_172.21.1.2                  | |
| | [ ] 172.21.1.3                allow_172.21.1.3                  | |
| | [ ] 172.21.2.0/255.255.255.0  allow_172.21.2.0/255.255.255.0    | |
| | [ ] 172.21.3.0/255.255.255.0  allow_172.21.3.0/255.255.255.0    | |
| `-----v(+)--------------------------------------------------------' |
|                                                                     |
|---------------------------------------------------------------------|
|                   <  OK  >             <Cancel>                     |
`---------------------------------------------------------------------'

Le prime due voci sono costanti, le altre dipendono dall'elenco inserito in precedenza. Selezionando la voce ALLOW_ALL si ottiene di attivare tutte le voci previste, mentre DENY_ALL le disattiva tutte. Queste due voci iniziali servono solo per azzerare velocemente l'elenco e la loro selezione, fa sì che confermando la richiesta si ripresenti l'elenco, senza eseguire subito l'azione richiesta; pertanto, solo quando le prime due voci dell'elenco sono deselezionate si prende in considerazione la scelta di quelle sottostanti e viene aggiornata la configurazione.

Supponendo di abilitare l'accesso al gruppo costituito dagli indirizzi 172.21.2.*, si può osservare cosa succede se si riavvia il comando la volta successiva:

.--------------------Printer access permissions-----------------------.
| Please, select or deselect allowed access to printer:               |
| .-----------------------------------------------------------------. |
| | [ ] DENY_ALL                  reset to no remote access allowed | |
| | [ ] ALLOW_ALL                 reset to all access allowed       | |
| | [X] 172.21.2.0/255.255.255.0  allow_172.21.2.0/255.255.255.0    | |
| | [ ] 172.21.1.1                allow_172.21.1.1                  | |
| | [ ] 172.21.1.2                allow_172.21.1.2                  | |
| | [ ] 172.21.1.3                allow_172.21.1.3                  | |
| | [ ] 172.21.3.0/255.255.255.0  allow_172.21.3.0/255.255.255.0    | |
| `-----v(+)--------------------------------------------------------' |
|                                                                     |
|---------------------------------------------------------------------|
|                   <  OK  >             <Cancel>                     |
`---------------------------------------------------------------------'

Al riavvio del comando, le voci che in precedenza erano state selezionate, appaiono all'inizio dell'elenco, così da non doverle cercare.

Dal punto di vista del risultato, quello che conta è l'elenco dei punti a cui è concesso accedere. Se nell'elenco sono state fatte delle duplicazioni, per esempio se appare il nodo 172.21.2.33 e anche 172.21.2.0/255.255.255.0, bloccando l'accesso solo al gruppo 172.21.2.*, attraverso la voce 172.21.2.0/255.255.255.0, non serve a bloccare anche 172.21.2.33. Naturalmente può darsi che questo sia ciò che si vuole; quello che conta è capire la logica.

672.2   Controllo dell'accesso a servizi HTTP esterni

Così come per l'accesso alla stampante, è possibile limitare l'accesso al proxy HTTP, ma in tal caso si interviene su insiemi separati di nodi. Naturalmente, ciò ha senso soltanto se tale configurazione avviene in un elaboratore che svolge il ruolo di router per l'accesso all'esterno, ponendosi come un passaggio obbligato. Questo sistema serve in pratica per poter controllare chi, nella propria rete locale, può accedere ai servizi HTTP esterni, dato che di norma si fa intervenire il proxy HTTP in modo trasparente (senza bisogno che i programmi di navigazione debbano essere configurati per il suo utilizzo).

Come accennato, la configurazione dell'accesso al servizio è divisa in gruppi, il cui nome può essere scelto liberamente. Per esempio, per definire il gruppo «contab» si crea e si aggiorna così:

nanorc proxy clients contab[Invio]

Come già visto in precedenza, si inizia stabilendo l'elenco di nodi che si possono avvalere potenzialmente del proxy HTTP. Si devono indicare solo nodi singoli:

172.21.1.1
172.21.1.2
172.21.1.3
172.21.1.4
172.21.1.5
172.21.1.6
172.21.1.7

È importante evitare di creare delle sovrapposizione tra i gruppi di accesso. Dopo la predisposizione degli elenchi, si può passare al controllo effettivo dell'accesso:

nanorc proxy access contab[Invio]

.----------HTTP proxy access permissions-------------.
| Please, select or deselect who can access to the   |
| HTTP proxy:                                        |
| .------------------------------------------------. |
| | [ ] DENY_ALL       reset to no access allowed  | |
| | [ ] ALLOW_ALL      reset to all access allowed | |
| | [ ] 172.21.1.1     allow_172.21.1.1            | |
| | [ ] 172.21.1.2     allow_172.21.1.2            | |
| | [ ] 172.21.1.3     allow_172.21.1.3            | |
| | [ ] 172.21.1.4     allow_172.21.1.4            | |
| | [ ] 172.21.1.5     allow_172.21.1.5            | |
| | [ ] 172.21.1.6     allow_172.21.1.6            | |
| | [ ] 172.21.1.7     allow_172.21.1.7            | |
| `-----v(+)---------------------------------------' |
|                                                    |
|----------------------------------------------------|
|             <  OK  >         <Cancel>              |
`----------------------------------------------------'

Eventualmente, tra i nodi già definiti tramite il comando nanorc proxy access è possibile dichiarare quali escludere dal filtro di DansGuardian:

nanorc proxy filter contab[Invio]

.------------HTTP proxy content filter selection--------------.
| Please, select or deselect who can access to the HTTP proxy |
| without content filtering:                                  |
| .---------------------------------------------------------. |
| | [ ] FILTER_ALL     reset to all filtered                | |
| | [ ] FREE_ALL       reset to all free to access any site | |
| | [*] 172.21.1.1     free_172.21.1.1                      | |
| | [*] 172.21.1.2     free_172.21.1.2                      | |
| | [*] 172.21.1.3     free_172.21.1.3                      | |
| | [ ] 172.21.1.4     free_172.21.1.4                      | |
| | [ ] 172.21.1.5     free_172.21.1.5                      | |
| | [ ] 172.21.1.6     free_172.21.1.6                      | |
| | [ ] 172.21.1.7     free_172.21.1.7                      | |
| `---------------------------------------------------------' |
|                                                             |
|-------------------------------------------------------------|
|                 <  OK  >         <Cancel>                   |
`-------------------------------------------------------------'

In questo caso, con le selezioni che si vedono, si vuole fare in modo che i nodi con gli indirizzi 172.21.1.1, 172.21.1.2 e 172.21.1.3, siano esonerati dal filtro dei contenuti.

672.3   Amministrazione a responsabilità limitata

Sono previste due utenze particolari, denominate rispettivamente shutdown e admin, che inizialmente sono disabilitate (richiedono l'attribuzione di una parola d'ordine). Queste utenze sono associate al numero UID zero, pertanto hanno privilegi di funzionamento equivalenti all'utente root.

Le utenze shutdown e admin non hanno una shell normale, ma avviano direttamente uno script: rispettivamente si tratta di /etc/script/SHUTDOWN e di /etc/script/ADMIN.

L'utenza shutdown, attraverso lo script /etc/script/SHUTDOWN, serve precisamente ad avviare il comando nanorc mirror shutdown, per spegnere gli elaboratori che sono previsti nell'elenco principale da sincronizzare («os»). L'utenza admin, attraverso lo script /etc/script/ADMIN, serve a consentire a una persona diversa dall'amministratore vero e proprio di eseguire alcune operazioni utili, senza dare tutti i privilegi dell'utenza root.

Entrambe queste utenze possono funzionare solo se usate dalla console dell'elaboratore che svolge il compito di servente NIS, o almeno di router per la rete locale, pertanto il rischio di abusi e di errori dovrebbe essere limitato. Eventualmente l'utenza admin può essere usata anche negli elaboratori che non hanno funzioni particolari, ma in tal caso sono disponibili funzionalità più limitate.

Molto probabilmente, soprattutto se si tratta di un laboratorio didattico, si può rendere pubblica la parola d'ordine da usare per l'utenza shutdown, in modo che chiunque possa spegnere le macchine della rete prevista, quando è il momento; per quanto riguarda invece l'utenza admin, questa è un po' più delicata e richiede un minimo di controllo (eventualmente si possono realizzare più utenze simili, che fanno capo sempre allo script /etc/script/ADMIN, in modo da poter attribuire a persone diverse una parola d'ordine distinta).

L'utenza admin, attraverso lo script /etc/script/ADMIN, porta automaticamente a un menù come quello che appare qui sotto:

.------------------------Admin menu--------------------------.
| Admin limited menu                                         |
| .--------------------------------------------------------. |
| |   adduser         Add a new user                       | |
| |   passwd          Change a user's password             | |
| |   clock           Change the date and time manually    | |
| |   nis-make        Rebuild NIS database                 | |
| |   nis restart     Restart the NIS service              | |
| |   lpd restart     Restart the print service            | |
| |   printer access  Printer access permissions           | |
| |   proxy access    HTTP proxy access permissions        | |
| |   proxy-off       Turn off HTTP proxy                  | |
| |   proxy-on        Turn on HTTP proxy                   | |
| |   proxy filter    HTTP proxy content filter bypass     | |
| |   gpm restart     Restart the mouse service            | |
| |   udev restart    Restart the "/dev/" service          | |
| |   lprm            Delete the printer queue             | |
| |   reboot          Reboot the computers                 | |
| |   shutdown        Shutdown the computers               | |
| |   exit            Quit                                 | |
| `--------------------------------------------------------' |
|------------------------------------------------------------|
|                 <  OK  >         <Cancel>                  |
`------------------------------------------------------------'

Il significato delle voci del menù dovrebbe essere evidente. Si osservi in particolare la necessità di poter cambiare la parola d'ordine degli utenti che chiedono di farlo e di riallineare il NIS. In pratica, così come è organizzato, la gestione del NIS di nanoLinux non consente agli utenti di modificare la propria parola d'ordine autonomamente; pertanto, per questo occorre intervenire presso l'elaboratore in cui il servizio NIS viene gestito, attraverso i metodi tradizionali. Tuttavia, ciò richiede poi di aggiornare le tabelle del NIS di conseguenza. È per questo che si è resa necessaria la creazione di un'utenza riferita a una figura di amministratore con responsabilità limitata, perché altrimenti l'utilizzo della rete locale richiederebbe troppo spesso la presenza e l'intervento dell'amministratore vero e proprio.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome nanolinux_accesso_limitato.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!