Skip to topic | Skip to bottom
Home
Web attivi: Reteisi | Pmb
user: TWikiGuest
Registrazione | Mappa | Cambiamenti | Indice | Ricerca | Vai | Calcolatrice

Sei qui: Reteisi > DocTecWoody > IsiClient > IsiLogon



Start of topic | Skip to actions

ISI-LOGON

Il pacchetto ISI-LOGON rivoluziona completamente il modo di gestire il logon di un client windows qualsiasi su un server samba che svolga funzioni di PDC con autenticazione LDAP.

Attualmente esso permette, in modo assolutamente semplice di

  • eseguire le personalizzazioni del browser (start page e configurazione proxy)
  • imporre ai client win9x le politiche di sicurezza tradizionalmente gestite via poledit e config.pol aggiungendone delle altre
  • provvedere alla sincronizzazione dell'orologio del client su quello del server
  • creare connessioni con cartelle condivise in modo da renderle immediatamente disponibili all'utente ([er i client Win9x viene connessa naturalmente la home sul server)
  • garantire che il client connesso abbia sempre disponibile l'ambiente di default (Desktop e Menu' avvio) deciso dall'amministratore,
senza che cio' impedisca all'utente la personalizzazione del suo ambiente di lavoro e il roaming del proprio profilo)

Tutti i settaggi sono personalizzabili per gruppo.

Installazione del pacchetto

Come al solito, l'installazione si esegue con i seguenti comandi # apt-get update # apt-get install isi-logon

Logica di funzionamento di ISI-Logon

Le componenti di ISI-Logon sono le seguenti:

  • l'interprete Perl open source per Win32 ActivePerl di ActiveState, installato automaticamente sul server che gestisce il logon
  • il server Samba configurato per rendere disponibile la share [perl] e consentire l'esecuzione di script Perl senza alcuna installazione Perl sui client
  • il package Perl *ISI::logon e il programma a corredo logon.pl
  • il file di configurazione /etc/isi/logon.conf
  • un semplicissimo logon.bat nella share [netlogon]; il contenuto di logon.bat è il seguente:

:: LOGON.BAT-----------------------------------------------
:: attenzione WIN98 non consente un logon.bat con parametri
:: e non fornisce la variabile d'ambiente %LOGONSERVER%
:: per cui e' necessario arrangiarsi....
:: --------------------------------------------------------
@echo off
set SRV=****nome samba del server*****
\\%SRV%\perl\bin\perl \\%SRV%\perl\logon.pl %SRV%
:: se non si hanno client Win9x le due istruzioni precedenti 
:: possono essere sostituite da quella qui sotto
:: %LOGONSERVER%\perl\bin\perl %LOGONSERVER%\perl\logon.pl %1

Come si vede logon.bat sfolge l´unica funzione di lanciare l´esecuzione dello script perl logon.pl. logon.pl leggerà il file di configurazione /etc/isi/logon.bat e userà quanto messo a disposizione dal package perl ISI::Logon per ottenere dalle direttive di configurazione le funzionalità desiderate.

Tutto quello che l'amministratore dovrà fare è personalizzare /etc/isi/logon.conf

Il file di configurazione

### quelle che iniziano con un _ sono variabili interne e servono
### ad abilitare (1) o disabilitare (0) la funzionalita`corrispondente
### oppure a passare variabili di configurazione specifiche di
### ISI-logon; le altre DEVONO corrispondere a voci di registro a cui
### si vuole assegnare il valore scritto di seguito (es. 0x00000001).
### Per ottenere una differente impostazione per uno specifico gruppo
### basta specificare il gruppo come nell'esempio:
### Start__Page[alunni] = www.google.com
### Quando i nomi usati per le variabili sono quelli del registro di
### windows, se il nome della variabile di registro contiene uno
### spazio, sostituirlo con due _ (.Es "Start Page" = Start__Page)

### sulle variabili prefissate con underscore in generale
### 1 applica la restrizione
### 0 rimuove la restrizione
### il valore delle variabili di registro va espresso
### coerentemente con il TIPO (se REG_DWORD, 0x......)

### NOTA: Le variabili sono *case sensitive*

### DEBUG (1,2,4,8)
_DebugLevel = 1
_DebugFile = C:\isidbg.txt

### WinSet sezione 'start_page'
Start__Page = *home page di default*
Start__Page[admins] = www.google.it
Start__Page[alunni] = *home page alunni*

### WinSet sezione 'proxy' (le porte indicate sono quelle di default, controllare la propria configurazione)
ProxyServer = ip_del_server_DG_Squid:8080 # DansGuardian
ProxyServer[admins] = ip_del_server_DG_Squid:3128 # Squid (FW permettendo)
ProxyOverride = lista url fuori proxy

### WinSet sezione 'no_profile' (solo XP)
ExcludeProfileDirs = Impostazioni locali;Temporary Internet Files;Cronologia;Temp;Documenti;Cookies;SendTo

### WinSet sezione 'sync' (solo XP)
### per disabilitare la sincronizzazione delle cartelle non in linea
### è necessario porre a 1 la seguente variabile
_NoSync = 1

### WinSet sezione 'document_folder'
Personal = H:\Documenti
My__Picture =
My__Music =
My__Video =

### WinSet sezione 'last-user' (solo per XP, non personalizzare per gruppo)
_NoDispLastUser = 1
### WinPol9x sezione 'last-user' (solo per Win9X)
_NoDispLastUser9X = 1

### parametri validi per Win9x - default molto restrittivo

### WinPol9x sezione 'nocpan' - fa sparire il pannello di controllo da *Start,Impostazioni*
_RestrictCpan = 0

### sezione 'access'
_RestrictLogon = 1
_RestrictLogon[admins] = 0
# valori di registro
UserProfiles = 0x00000001 # si vogliono i roaming profiles
UseHomeDirectory = 0x00000001
MustBeValidated = 0x00000001 # si vuole l'autenticazione ldap
MustBeValidated[admins] = 0x00000000
LegalNoticeCaption = Avvertenza
LegalNoticeText = accesso riservato agli utenti autorizzati.

### sezione 'screen' - abilita le restrizioni dello schermo
_RestrictScreen = 1
_RestrictScreen[admins] = 0
# opzioni restrizioni screen
NoDispAppearancePage = 0x00000000
NoDispBackgroundPage = 0x00000000
NoDispCPL = 0x00000000
NoDispScrSavPage = 0x00000000
NoDispSettingsPage = 0x00000001

### sezione 'net' - Risorse di rete Proprietá
_RestrictNet[alunni] = 1
_RestrictNet[admins] = 0

### sezione 'passwd' = Pannello di controllo Password
_RestrictPasswd = 1
_RestrictPasswd[admins] = 0

### sezione 'printer' - Impostazioni stampanti
_RestrictPrinter = 1
_RestrictPrinter[admins] = 0

### sezione 'system' - Restrizioni varie sul sistema
_RestrictSystem = 1
_RestrictSystem[admins] = 0

### sezione 'shell-run' - Start Esegui
_RestrictRun = 1
_RestrictRun[admins] = 0

### sezione 'shell-noregtools' - tools per la modifica del registro
_RestrictRegTools = 1
_RestrictRegTools[admins] = 0

### sezione 'shell-winoldapp' - vecchie applicazioni
_RestrictOldApp = 0
_RestrictOldApp[admins] = 0

### WinPol9x sezione 'nodrive' - fa sparire le periferiche dalle risorse del computer
_RestrictDrive = 0
_RestrictDrive[admins] = 0

### WinPol9x sezione 'nodrivec' - fa sparire il disco C dalle risorse del computer
_RestrictDriveC = 0
_RestrictDriveC[admins] = 0

### WinPol9x sezione 'nofind' - fa sparire la voce trova dal menu avvio
_RestrictFind = 0
_RestrictFind[admins] = 0

### WinPol9x sezione 'noactivedesktop' - disattiva l'Active Desktop
_RestrictActiveDesktop =1

### connessioni di rete oltre a quelle attivate
### automaticamente, che sono:
### H: -> homedir
### L: -> classe (solo per gli alunni)
### la sintassi e'la seguente:
### NetFolder[unita'] = nome della condivisione [ , gruppo]

_NetFolder[W] = mioweb
_NetFolder[S] = scambio

### sincronizzazione orologio

_NetTime = 1

### forzatura ambiente di default (desktop, menu avvio ecc.ecc.)
### la si ottiene copiando la seguente cartella

### [netlogon]\env_$os_$gruppo\* -> C:\Windows\All Users (Win9x)
### [netlogon]\env_$os_gruppo\* -> C:\Documents and Settings\All Users (WinXP)

### dove os = $ENV{OSCLIENT} e'la versione di windows che gira sul client
### cioe'una delle seguenti: Win95,Win98,WinME,WinNT,Win2K,WinXP

_EnvWin98 = 1
_EnvWin98[admins] = 0

### ATTENZIONE: per WinXP,Win2K occorre che la cartella di destinazione sia
### scrivibile dagli utenti di dominio il che normalmente non e'

_EnvWinXP = 0

La preparazione degli ambienti di default (cartelle ENV)

Quello che si vuole fare è garantire che l'utente abbia sempre disponibili sul desktop (o nel Menu Avvio) le icone relative ai programmi che l´amministratore ha installato sui client, anche qualora l´utente si sia divertito ad eliminarle. Ci sono sostanzialmente due modi per arrivare a questo risultato, dipendentemente fra l´altro dalla versione di Windows in funzione sul client: usare le policies di CONFIG.POL (solo Win9x) oppure usare la cartella di sistema All Users. Si è adottata la seconda strategia. Le operazioni da fare sono le seguenti (simili per tutte le versioni di Windows, con la differenza che per Win2K e WinXP gli utenti di dominio - authenticated users - non hanno, per questa cartella, i privilegi di scrittura, per cui l'amministratore dovrà provvedere a darglieli):

1. installa le applicazioni desiderate su un client 2. trasferire le icone corrispondenti sul server all´interno di cartelle appositamente predisposte nella share netlogon. In pratica basta trasferire le cartelle di sistema Desktop e Menu Avvio ripulendo poi la copia da tutto quello che non riguarda le applicazioni installate.

Le cartelle sul server predisposte a ricevere la configurazione dei client si trovano all´interno della share netlogon e hanno obbligatoriamente un nome fatto così:

env_versioneWin_gruppo

Esempio, l´ambiente di default di un client Win98 per il gruppo alunni si troverà all'interno della cartella env_Win98_alunni, quello per gli amministratori che si loggano su una macchina XP, nella cartella env_WinXP_admins, e così via. Le versioni di windows riconosciute sono Win95, Win98, WinME, WinNT, Win2K e WinXP. Nelle cartelle env troveranno posto le cartelle di sistema windows Desktop e Menu Avvio, trasferite dal client come sopra spiegato. Dopo aver preparato le cartelle env , l´attivazione del trasferimento dell´ambiente standard sul client che si sta loggando, dipende da come si sono configurate le opzioni corrispondenti (direttive _Env) nel file /etc/isi/logon.conf. Ad esempio se si vuole che il gruppo test abbia un suo ambiente di default su client win98 occorrerà:

  1. preparare sul server la cartella env_Win98_test
  2. aggiungere nel file /etc/isi/logon.conf una riga con la direttiva _EnvWin98test = 1

Esempio di configurazione N° 1

In questo esempio si vuole che gli utenti windows abbiano a disposizione un ambiente personalizzato, ma che i dati siano il più possibile protetti in ottemperanza alla legge sulla privacy. Mentre questo è garantito (almeno in parte) da WindowsXP? che impedisce l'accesso alle cartelle personalizzate degli utenti, la stessa cosa non avviene per Windows9X, infatti in questo sistema operativo le cartelle sono salvate generalmente in c:\windows\profiles\nomeutente e sono accessibili a chiunque. Il risultato è che se un utente decide di salvare il proprio profilo sul client (e questo avviene quasi sempre) i suoi dati sono accessibili a chiunque abbia accesso al client stesso. In questo esempio si cercherà di risolvere questo problema. La premessa è che su ogni client, ad esempio mediante poledit, si sia scelto di non personalizzare nessuna cartella (tutti gli utenti usano le stesse cartelle). In realtà, mediante la rimappatura di alcune di queste si otterrà comunque la personalizzazione, limitandoci però a cose veramente essenziali: Documenti, Preferiti, Cookies.

La cartella documenti, sia per WinXP? che per Win9x viene rimappata sul server, in modo che i dati che l'utente salva in questa cartella, non siano mai salvati sul client, ma solo sul server. E' da notare che questa impostazione ha anche un altro vantaggio: al momento del logout non si ha il caso di 25 client (ad esempio in una classe alla fine della lezione) che tentano di salvare i dati sul server, essendo questi già salvati sul server durante la lezione stessa, se poi i client tentano di salvare anche altre cartelle e se i laboratori collegati al server sono più di uno si potrebbero osservare dei notevoli rallentamenti. Dunque:

Personal = H:\Documenti
My__Picture =
My__Music =
My__Video =

A questo punto, essendo rimappata la cartella Documenti, siccome WindowsXP? cerca di sincronizzare anche le cartelle rimappate (cosa quasi inutile perchè le cartelle sono scritte e salvate direttamente sul server), per evitare una serie di errori, è necessario:

_NoSync = 1

Gli utenti non devono poter vedere chi ha utilizzato precedentemente sul sistema, sia in WindowsXP? che in Windows9x:

_NoDispLastUser[admins] = 1
_NoDispLastUser9X = 1

Gli utenti di Win9x sono obbligati ad autenticarsi sul server, in questo modo non è possibile accedere a Win9x semplicemente con ESC:

_RestrictLogon = 1
_RestrictLogon[admins] = 0

Gli utenti di Win9x potrebbero controllare le cronologie dei file aperti e dei siti web visitati dagli altri utenti. Questo si evita cancellandole ad ogni logout:

_RestrictHystory = 1

La seguente impostazione interviene su vari punti (sempre riguardo a Win9x): ripulire il cestino (dove gli utenti potrebbero andare a rovistare, trovando anche i files eliminati dagli altri utenti) ripulire il desktop, che in questo esempio è comune a tutti gli utenti e dove l'utente potrebbe aver salvato dei dati personali. Attenzione: ripulendo il desktop si eliminano anche le icone aggiunte dall'utente e restano solo quelle presenti nella cartella c:\windows\All users\Desktop (che potrebbero essere quelle “importate” con la procedura presentata nel precedente paragrafo) Come abbiamo visto le uniche cartelle che vengono salvate obbligatoriamente nella cartella c:\windows\profiles\nomeutente sono le cartelle Favorites e Cookies, queste due cartelle però possono essere rimappate sul server in modo che localmente non venga salvato niente (i cookies contengono parecchie informazioni personali) e gli utenti mantengano comunque la possibilità di aggiungere ai segnalibri di Internet Explorer i loro siti favoriti:

_OkParanoia = 1
Favorites =H:\.profili\Win95\Favorites
Cookies =H:\.profili\Win95\Cookies

Le prossime impostazioni non intervengono sulla privacy, infatti con le politiche descritte sopra, sul client non ci dovrebbero più essere dati dell'utente presenti (caso win9x) o facilmente accessibili (caso WinXP?). Restano però delle impostazioni che possono rendere più difficile (impossibile non lo sarà mai) manomettere il sistema e obbligare l'amministratore ad intervenire per ripristinare il client. Ribadisco che le seguenti impostazioni servono più a proteggere il sistema da un utente inesperto che può compromettere la stabilità del sistema stesso, che a fermare un utente esperto che voglia divertirsi a causare danni, infatti per far questo è sufficiente usare uno dei mille programmi a disposizione, tra i quali poledit.

Niente pannello di controllo per gli utenti comuni

_RestrictCpan = 1
_RestrictCpan[admins] = 0

Niente proprietà delle risorse di rete per gli utenti comuni

_RestrictNet[alunni] = 1
_RestrictNet[admins] = 0

Gli utenti non possono “giocare” con le impostazioni dello schermo:

_RestrictScreen = 1
_RestrictScreen[admins] = 0
NoDispAppearancePage? = 0x00000001
NoDispBackgroundPage? = 0x00000001
NoDispCPL? = 0x00000001
NoDispScrSavPage? = 0x00000001
NoDispSettingsPage? = 0x00000001

Niente impostazioni delle stampanti (la limitazione non impedisce all'utente di scegliere e/o impostare la stampante che vuole usare, semplicemente non le può installare/cancellare/modificare i drivers):

_RestrictPrinter = 1
_RestrictPrinter[admins] = 0

Restrizioni varie sul sistema:

_RestrictSystem = 1
_RestrictSystem[admins] = 0

L'utente comune non può lanciare un comando con il comando esegui:

_RestrictRun = 1
_RestrictRun[admins] = 0

L'utente comune non può modificare il registro di configurazione

_RestrictRegTools = 1
_RestrictRegTools[admins] = 0

Attenzione a non impedire l'esecuzione di programmi dos, altrimenti non funzionano alcune delle politiche descritte sopra:

_RestrictOldApp = 0

Disattiviamo l'active desktop, un'inutile orpello, che può esser fonte di instabilità:

_RestrictActiveDesktop =1

Gli utenti non possono accedere al disco fisso dalle risorse del computer, in modo da non poter raggiungere e magari cancellare importanti file del sistema:

_RestrictDriveC = 1
_RestrictDriveC[admins] = 0

Allo stesso modo disabilitiamo la possibilità di ricercare i files sul computer con il menu trova:

_RestrictFind = 1
_RestrictFind[admins] = 0

Alcune osservazioni finali: Le opzioni presentate riguardano solo l'aspetto sicurezza/privacy. A queste impostazioni se ne possono aggiungere anche altre, come la scelta del messaggio di benvenuto, la sincronizzazione dell'orologio, l'uso di un proxy e l'uso delle cartelle Env e l'aggiunta di altre connessioni di rete oltre al percorso personale H:\
Infine è da ricordare che agli utenti va assolutament segnalato che ogni file salvato sul Desktop andrà perso e che la cartella dove devono salvare i loro dati è la cartella Documenti.
Si sarebbe potuto benissimo personalizzare anche la cartella Desktop per poi rimapparla sul server, in questo modo ognuno avrebbe avuto la sua cartella Desktop personalizzata e messa al sicuro sul server, ma possibili malfunzionamenti della rete potrebbero rendere instabile il funzionamento dei clients.

Reteisi.IsiLogon r1.6 - 11 Jun 2021 - 14:27 - MarcoVaninetti
Copyright © 1999-2006 degli autori degli articoli. Tutto il materiale presente su questa piattaforma collaborativa è di proprietà di chi l'ha prodotto. Idee, richieste, problemi relativi a TWiki? Invia feedback