Amministrazione di Windows

Il servizio ActiveX Installer in Windows Vista

Rob Campbell and Joel Yoker

 

Panoramica:

  • Problematiche dei controlli ActiveX
  • Modalità di installazione dei controlli ActiveX
  • Autorizzazioni rischiose
  • Un processo più sicuro in Windows Vista

È sempre la stessa storia: per migliorare in modo sostanziale la protezione, è necessario rinunciare a un certo grado di libertà o di flessibilità. Nella maggior parte delle organizzazioni, uno degli obiettivi è rafforzare il sistema operativo per desktop nel tentativo di fornire un ambiente di elaborazione più protetto

per gli utenti finali. L'attività di protezione del desktop viene in genere affrontata dagli amministratori IT attraverso una combinazione di impostazioni dei criteri di protezione, autorizzazioni utente, elenchi di controllo di accesso (ACL) per file e Registro di sistema e restrizioni dei servizi di sistema.

Una difficoltà comune nello sviluppo di un ambiente desktop protetto riguarda il modo in cui attenuare le minacce che circondano i controlli ActiveX® dannosi e allo stesso tempo mantenere un livello di compatibilità delle applicazioni adeguato. Una sfida che dura da molti anni. Fortunatamente, il nuovo servizio ActiveX Installer in Windows Vista™ consente oggi di risolvere problematiche specifiche della gestione dei controlli ActiveX negli ambienti aziendali, fornendo un sistema semplice e facilmente gestibile mediante cui gli utenti standard, che normalmente non sarebbero autorizzati a installare controlli ActiveX, possono installarli da siti Web approvati. Il controllo Criteri di gruppo sul servizio ActiveX Installer consente agli amministratori IT di determinare quali controlli possono essere installati dagli utenti, indipendentemente dalle autorizzazioni di cui questi ultimi dispongono.

In questo articolo, verranno esaminate le problematiche di tipo amministrativo riguardanti i controlli ActiveX, il modo in cui questi problemi venivano risolti nelle versioni precedenti di Windows® e come il servizio ActiveX Installer di Window Vista fornisca un sistema unico ed efficiente per la gestione dell'installazione dei controlli ActiveX.

Che cos'è un controllo ActiveX?

Un controllo ActiveX è un codice eseguibile (in genere un file OCX inserito in un file CAB) installato e richiamato dall'utente tramite Internet Explorer®. I controlli ActiveX vengono creati dagli sviluppatori Web per aggiungere alle applicazioni Web funzionalità che non sarebbero facilmente realizzabili con l'HTML standard o con un semplice script.

Una delle funzionalità principali dei controlli ActiveX è rappresentata dal semplice modello di distribuzione di tipo "scarica ed esegui". I controlli ActiveX vengono installati e richiamati tramite il tag Object HTML, che presenta un attributo chiamato CODEBASE che indica a Internet Explorer (mediante un URL) dove recuperare il controllo se non è già stato installato nel computer dell'utente. In questo caso, Internet Explorer scarica il pacchetto di installazione associato, esegue una verifica di attendibilità sull'oggetto e richiede all'utente l'autorizzazione per l'installazione tramite la Barra informazioni (illustrata nella Figura 1). Durante l'installazione, il controllo viene registrato e richiamato dalla pagina di rendering. Una volta installato, potrà essere richiamato da qualsiasi utente standard. Questo semplice meccanismo di distribuzione ed esecuzione ha lo scopo di fornire agli sviluppatori un agevole sistema di distribuzione dei componenti agli utenti dell'applicazione Web. Il problema di questo metodo di distribuzione è che gli utenti standard non possono installare direttamente i controlli ActiveX, poiché è necessario disporre di privilegi amministrativi per completare l'installazione.

Figura 1 Barra informazioni per l'installazione di un controllo ActiveX

Figura 1** Barra informazioni per l'installazione di un controllo ActiveX **

Quando i controlli ActiveX furono inizialmente introdotti in Internet Explorer 4.0, Internet apparve un luogo molto più semplice. Oggi, poiché il codice eseguibile distribuito sul Web può rappresentare una minaccia notevole, Windows concede solo agli utenti che dispongono di diritti di amministratore locale la possibilità di installare i controlli ActiveX e quindi solo se l'installazione è approvata in base alle impostazioni dei criteri. Una volta installato da un amministratore, il controllo ActiveX può essere richiamato da qualsiasi utente del sistema. Questo comportamento è facilitato da una serie di elenchi di controllo di accesso per file e Registro di sistema presenti in Windows. Anche se in questo modo si impedisce agli utenti standard di installare i controlli ActiveX, non si riducono però i rischi per gli amministratori locali e gli utenti standard (con autorizzazioni predefinite modificate) che ne eseguono l'installazione.

Sebbene la protezione predefinita in Windows, che consente la possibilità di eseguire l'installazione solo a coloro che dispongono di privilegi amministrativi, risolva il problema dei controlli ActiveX a livello individuale, non viene risolto il problema della loro gestione in un'organizzazione di grandi dimensioni. Una delle problematiche frequenti negli ambienti aziendali riguarda il modo in cui consentire l'utilizzo dei controlli ActiveX considerati attendibili da parte dell'organizzazione IT e allo stesso tempo attenuare le minacce potenziali rappresentate da controlli esterni non attendibili. Alla fine, la decisione di installare un particolare controllo ActiveX, sicuro o dannoso che sia, è spesso lasciata al singolo utente, secondo i diritti di cui dispone. Per contrastare le minacce, alcune organizzazioni bloccano tutti i controlli ActiveX, mentre altre consentono l'installazione da parte degli utenti finali ma tentando di gestire i malware installati.

Un altro metodo per evitare l'installazione di controlli dannosi consiste nell'attivare i diritti dell'utente standard con restrizioni e fare in modo che l'amministratore IT preinstalli tutti i controlli necessari nella piattaforma desktop. Questo metodo è valido se i controlli ActiveX in uso sono di natura relativamente statica, se vengono modificati mediante un processo di rilascio pianificato insieme agli aggiornamenti desktop o se l'organizzazione utilizza un meccanismo di distribuzione del software come Systems Management Server. Tuttavia, la gestione continuativa, le esigenze sempre mutevoli degli sviluppatori di applicazioni interne e le dipendenze dai controlli esterni continueranno a rappresentare una sfida con questi tipi di approccio.

Quando gli utenti dispongono di privilegi amministrativi, il problema è diverso e riguarda il sistema per impedire a tali utenti l'installazione di controlli non approvati. In questo caso, si presuppone il diritto dell'utente finale a installare i controlli ActiveX dal momento che l'utente dispone di privilegi amministrativi (si noti che l'accesso degli utenti finali come amministratori locali è una condizione di alto rischio per l'organizzazione, non consigliabile per la maggior parte degli ambienti aziendali).

Una soluzione può essere offerta da un server di download dei componenti Internet che ospita i controlli approvati. In questo caso è necessaria la modifica della stringa CodeBaseSearchPath nel Registro di sistema del client. In genere, quando nella pagina HTML richiesta viene rilevato un tag Object contenente l'attributo CODEBASE, i client Windows vengono diretti ai percorsi specificati nei dati di CodeBaseSearchPath. Per impostazione predefinita, questa stringa del Registro di sistema contiene la parola chiave CODEBASE e gli URL Internet per la raccolta dei controlli ActiveX. Per implementare un server di download dei componenti Internet, è necessario sostituire i dati predefiniti di CodeBaseSearchPath con l'URL del server interno in cui verranno ospitati i controlli approvati dall'organizzazione. Analogamente all'approccio precedente, questa soluzione richiede una gestione continuativa e comporta il costo e la complessità di ospitare un server interno per i controlli ActiveX.

Esistono altre soluzioni, ad esempio la modifica dell'area di Internet Explorer URLActions, la specifica di controlli approvati dall'amministratore mediante Criteri di gruppo e il blocco dell'installazione di tutti i controlli sul perimetro mediante le regole del firewall. Ma, come si può notare, tutti questi approcci comportano problemi e molti vengono alla fine abbandonati per mancanza di flessibilità. Inoltre, per alcune di queste soluzioni è in ogni caso necessario che l'utente disponga di diritti amministrativi. In conclusione, queste modifiche tentano di risolvere parti del problema, ad esempio il controllo (o il blocco) dell'origine dei controlli ActiveX, dei punti da cui possono essere richiamati e così via; ma in effetti queste soluzioni non attenuano il problema fondamentale che gli utenti senza diritti amministrativi non possono installare i controlli ActiveX.

Il servizio ActiveX Installer

Il servizio ActiveX Installer di Windows Vista consente agli amministratori di reti Intranet di gestire i controlli ActiveX e mantenere allo stesso tempo una condizione di protezione elevata attraverso l'accesso degli utenti come utenti standard con impostazioni del file system predefinite. Il servizio prevede la scelta di opzioni di Criteri di gruppo per configurare le origini attendibili dei controlli ActiveX e un processo broker per installare i controlli da tali origini attendibili per conto degli utenti standard. Il vantaggio principale è la possibilità di mantenere una condizione di protezione non amministrativa sulle workstation degli utenti unitamente a un controllo amministrativo centralizzato. Per l'identificazione delle origini attendibili (in genere URL Internet o Intranet) dei controlli ActiveX, il servizio dipende dall'amministratore IT. Quando da Internet Explorer viene richiamato un controllo a seguito di un tag Object, il servizio ActiveX Installer esegue le operazioni seguenti:

  1. Verifica se il controllo è installato. In caso negativo, sarà necessario installarlo prima di utilizzarlo.
  2. Controlla l'impostazione dei relativi criteri per verificare se l'origine del controllo è attendibile. Per questa verifica, il nome host dell'URL specificato nell'attributo CODEBASE del tag Object viene confrontato con l'elenco dei percorsi attendibili specificati nei criteri.
  3. Scarica e installa il controllo per conto dell'utente.

Se il nome host dell'URL di origine non è elencato nell'impostazione dei criteri del servizio ActiveX Installer, verrà visualizzato il normale messaggio di Controllo account utente in cui viene indicata la necessità di disporre di diritti amministrativi per completare l'installazione. Nel registro eventi applicazioni verrà inoltre registrato un evento con ID 4097 e origine AxInstallService, che segnala il tentativo di installazione del controllo ActiveX unitamente al percorso di download specifico del controllo. Un esempio di evento 4097 è illustrato nella Figura 2. I dati di questa voce del registro eventi possono essere utilizzati dall'amministratore della rete Intranet per modificare i Criteri di gruppo e consentire l'installazione del controllo mediante il servizio ActiveX Installer in occasione di successivi accessi al sito Web.

Figura 2 Evento AxInstallService 4097

Figura 2** Evento AxInstallService 4097 **

Il servizio ActiveX Installer è un componente facoltativo incluso nelle SKU Business, Enterprise e Ultimate di Windows Vista ed è possibile attivarlo mediante un'opzione automatica o mediante la finestra di dialogo Pannello di controllo (Programmi | Programmi e funzionalità | Attivazione o disattivazione delle funzionalità Windows), come illustrato nella Figura 3. Una volta attivato, il servizio eseguirà i passaggi precedentemente descritti ogni volta che un controllo viene richiesto da Internet Explorer.

Figura 3 Attivazione del servizio ActiveX Installer in Pannello di controllo

Figura 3** Attivazione del servizio ActiveX Installer in Pannello di controllo **

Grazie alla possibilità di associare attività agli eventi offerta da Windows Vista, un amministratore può ricevere una notifica dal servizio ActiveX Installer quando, ad esempio, viene bloccata l'installazione di un controllo ActiveX. È importante notare che non è possibile presumere sempre che il controllo ActiveX venga installato dal nome host dello stesso URL a cui l'utente finale accede dal sito Web. Per questa ragione, le informazioni fornite dall'evento AxInstallService 4097 (tentativo di installazione) possono rivelarsi incredibilmente utili per identificare l'host da cui avviene il tentativo di installazione del controllo.

Utilizzando le informazioni ottenute sull'evento, è possibile configurare il percorso attendibile in Criteri di gruppo. Le impostazioni relative al servizio ActiveX Installer per i criteri di gruppo o locali si trovano nelle impostazioni Configurazione computer (come illustrato nella Figura 4). Le impostazioni del criterio Siti di installazione approvati per i controlli ActiveX consentono di specificare gli URL host delle posizioni attendibili (vedere la Figura 5). Per l'impostazione dei siti approvati sono necessarie due informazioni: l'origine da cui è possibile installare il controllo ActiveX e il comportamento dell'installazione.

Figura 4 Impostazioni in Editor oggetti Criteri di gruppo

Figura 4** Impostazioni in Editor oggetti Criteri di gruppo **

Figura 5 Siti di installazione approvati per il servizio ActiveX Installer

Figura 5** Siti di installazione approvati per il servizio ActiveX Installer **

Innanzitutto, come detto in precedenza, è necessario un URL host per indicare il percorso attendibile del controllo. A differenza delle soluzioni precedenti, per le quali era necessario conoscere il CLSID del controllo (che spesso cambia quando i controlli vengono rivisti dai rispettivi sviluppatori), il servizio ActiveX Installer consente l'installazione di qualsiasi controllo dal percorso attendibile, riducendo in questo modo il carico complessivo delle attività amministrative. La seconda informazione è rappresentata da una stringa delimitata da virgole costituita da quattro valori, ognuno dei quali definisce il comportamento dell'operazione di download dei controlli ActiveX. Tali valori specificano quattro proprietà: TPSSignedControl, SignedControl, UnsignedControl e ServerCertificatePolicy. Per le prime due proprietà (TPSSignedControl e SignedControl) i valori consentiti sono 0, 1 o 2 e sono simili ai valori delle impostazioni URLAction. Un valore pari a 0 impedisce l'installazione del controllo, un valore pari a 1 genera un messaggio in cui viene richiesta all'utente la conferma per eseguire l'installazione, un valore pari a 2 produce l'installazione automatica del controllo per conto dell'utente. Poiché i controlli senza firma elettronica non possono essere installati automaticamente, il valore di UnsignedControl può essere soltanto 0 o 1. Si noti che, se non si specifica alcun criterio, verranno utilizzati i valori predefiniti 2, 1 e 0.

L'ultima proprietà specifica il comportamento dell'installazione in base alle impostazioni del certificato del controllo delle impostazioni con firma elettronica. Come per maggior parte dei siti SSL, i certificati devono superare una serie di test di protezione per garantirne la validità. A volte le proprietà dei certificati non valide sono la realtà delle implementazioni dei controlli ActiveX con firma elettronica. Attraverso la sua configurazione, il servizio ActiveX Installer consente agli amministratori di ridurre le informazioni non valide talvolta presentate dai certificati su base URL per URL. L'ultima proprietà è rappresentata da una maschera di bit con una combinazione di valori illustrata nella Figura 6.

Figure 6 ServerCertificatePolicy

Valore Definizione
0x00001000 Ignora un nome canonico non valido nel certificato.
0x00000100 Ignora le autorità di certificazione sconosciute.
0x00002000 Ignora una data di certificato non valida.
0x00000200 Ignora un utilizzo errato del certificato.

L'impostazione predefinita è 0, il che significa che devono essere superati tutti i controlli di protezione prima che il servizio ActiveX Installer completi l'installazione. La combinazione dell'impostazione dell'host e di questi quattro valori viene specificata nell'impostazione dei criteri, come illustrato nella Figura 7.

Figura 7 URL host approvati del servizio ActiveX Installer

Figura 7** URL host approvati del servizio ActiveX Installer **

Conclusioni

Il servizio ActiveX Installer consente di configurare i Criteri di gruppo per definire quali controlli ActiveX possono essere installati dagli utenti senza necessità di privilegi amministrativi o di operazioni di configurazione complesse. Un controllo a questo livello poteva essere problematico nelle versioni precedenti di Windows e le soluzioni precedentemente disponibili comportavano spesso limitazioni notevoli o un sovraccarico di operazioni di gestione. Grazie a questo nuovo servizio, le organizzazioni dispongono di un ulteriore strumento per un approccio ai diritti dell'utente finale basato su privilegi minimi, consentendo l'implementazione di un modello utente standard in cui gli utenti finali non devono necessariamente disporre di privilegi amministrativi. In Windows Vista l'amministratore IT svolge un ruolo centrale, avendo la possibilità di scegliere i controlli ActiveX considerati attendibili all'interno dell'ambiente aziendale come determinato dall'organizzazione e non dall'utente finale.

Rob Campbell è uno specialista tecnico senior del team federale Microsoft. Lavora in particolare allo sviluppo e alla distribuzione di soluzioni di protezione per i clienti del governo federale degli Stati Uniti.

Joel Yoker è un consulente senior del team federale Microsoft. Lavora in particolare allo sviluppo e alla distribuzione di soluzioni di protezione per i clienti del governo federale degli Stati Uniti.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.