Internet Explorer e blocco di versioni Java obsolete

Se Java non viene aggiornato sui computer si può incorrere nel blocco delle versioni obsolete da parte di Internet Explorer per evitare varchi di sicurezza.

image

Il componente che si occupa di questa gestione è l’Out-of-date ActiveX control blocking che blocca le versioni di componenti ritenute obsolete contenute nella seguente lista.

L’Out-of-date ActiveX control blocking è attivo su tutte le Security Zones di Internet Explorer eccetto la Local Intranet Zone e la Trusted Sites Zone e funziona con le seguenti combinazioni di Sistema Operativo e versione di Internet Explorer:

Sistema operativo

Versione Internet Explorer

Windows 8.1 e Windows 8.1 Update Da Internet Explorer 8 a 11
Windows 7 SP1 Da Internet Explorer 8 a 11
Windows Server 2012 Da Internet Explorer 8 a 11
Windows Server 2008 R2 SP1 Da Internet Explorer 8 a 11
Windows Server 2008 SP2 Internet Explorer 9
Windows Vista SP2 Internet Explorer 9

Scendendo nel dettaglio del funzionamento l’Out-of-date ActiveX control blocking scarica in locale una copia del file versionlist.xml e lo memorizza in %LOCALAPPDATA%\Microsoft\Internet Explorer\VersionManager\versionlist.xml tale file è utilizzato per verificare versioni dei controlli da bloccare e viene controllato dall’ Out-of-date ActiveX control blocking aggiornato automaticamente da Internet Explorer se necessario.

Anche se ovviamente è sconsigliato è possibile bloccare l’update del file versionlist.xml impostando a 0 la chiave di registro HKCU\Software\Microsoft\Internet Explorer\VersionManager\DownloadVersionList ad esempio tramite il comando:

reg add “HKCU\Software\Microsoft\Internet Explorer\VersionManager” /v DownloadVersionList /t REG_DWORD /d 0 /f

Per gestire in modo centralizzato il comportamento del’Out-of-date ActiveX control blocking è possibile utilizzare le seguenti 4 Group Policy settings per computer o per utente disponibili per Internet Explorer dalla versione 8 alla 11:

  • Turn on ActiveX control logging in Internet Explorer
  • Remove the Run this time button for outdated ActiveX controls in Internet Explorer
  • Turn off blocking of outdated ActiveX controls for Internet Explorer on specific domains
  • Turn off blocking of outdated ActiveX controls for Internet Explorer
  • Remove the Update button in the out-of-date ActiveX control blocking notification for Internet Explorer

Per i dettagli di tali Group Policy settings per utente si veda la documentazione dell’Out-of-date ActiveX control blocking.

Grazie alla GPO Turn on ActiveX control logging in Internet Explorer è possibile eseguire l’inventory degli ActiveX controls utilizzati nell’infrastruttura aziendale. Infatti l’abilitazione di tale GPO implica la memorizzazione degli Internet Explorer logs relativi alle informazioni sugli the ActiveX control sul file locale %LOCALAPPDATA%\Microsoft\Internet Explorer\AuditMode\VersionAuditLog.csv (per i dettagli sul formato del file VersionAuditLog.csv si veda la documentazione dell’Out-of-date ActiveX control blocking). Una volta abilitato il logging è possibile, ad esempio tramite PowerShell, estrarre le informazioni e riversarle poi su file unico. Per un esempio di estrazioni dati dal file VersionAuditLog.csv si veda ad esempio lo script PowerShell Get-ActiveXControlLog (Retrives content from the IE ActiveX blocking log).

Tornado al problema iniziale ovvero il blocco di versioni Java obsolete ad esempio su pagine “fidate” in scenari in cui putroppo non sia possibile aggionare la versione di Java perché determinati applicativi non funzionerebbero più correttamente (situazioni aimè purtroppo tutt’altro che rare o improbabili) sono possibili varie soluzioni in base agli approfondimenti sul funzionamento dell’Out-of-date ActiveX control blocking.

Soluzione 1: Disabilitazione del blocco dei controlli obsoleti in Internet Explorer

E’ possibile disabilitare il blocco dei controlli obsoleti tramite la GPO per computer o per utente Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management\Turn off blocking of outdated ActiveX controls for Internet Explorer

In alternativa è possibile eseguire la disabilitazione impostando a 0 la chiave di registro HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Ext ad esempio tramite il comando:

reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Ext” /v VersionCheckEnabled /t REG_DWORD /d 0 /f

Ovviamente questa è la soluzione più drastica e non consigliata in quanto espone la macchina a malware veicolizzati tramite siti attaccati o attaccanti che sfruttano le vunerabilità delle versioni obsolete di Java.

Soluzione 2: Inserimento degli url fidati nella Local Intranet Zone o nella Trusted Sites Zone di Internet Explorer

E’ possibile gestire l’inserimento degli url “fidati” nella Local Intranet Zone o nella Trusted Sites Zone tramite le opzioni di Internet Explorer, oppure tramite le Internet Explorer Maintenance policy (deprecate in Windows 8 con Internet Explorer 10 a favore delle Group Policy Preferences a riguardo si veda Replacements for Internet Explorer Maintenance) o ancora tramite le Internet Explorer Policy Settings e in particolare le Site to Zone assignment list.

Per la configurazione delle Security Zones di Internet Explorer si veda il post How to configure Internet Explorer security zone sites using group polices pubblicato sul blog We know IE!.

Questo approccio può essere applicabile ad url relativi alla Intranet aziendale che espone applicazioni line-of-business, ma non è un approccio consigliato per url pubblici che grazie al fatto di essere inseriti nella Local Intranet Zone o nella Trusted Sites Zone potrebbero avere privilegi troppo elevati.

Per i dettagli sulle security zones di Internet Explorer si veda la KB 174360 How to use security zones in Internet Explorer:

Local Intranet Zone

By default, the Local Intranet zone contains all network connections that were established by using a Universal Naming Convention (UNC) path, and Web sites that bypass the proxy server or have names that do not include periods (for example, http://local), as long as they are not assigned to either the Restricted Sites or Trusted Sites zone.

The default security level for the Local Intranet zone is set to Medium (Internet Explorer 4) or Medium-low (Internet Explorer 5 and 6).

Be aware that when you access a local area network (LAN) or an intranet share, or an intranet Web site by using an Internet Protocol (IP) address or by using a fully qualified domain name (FQDN), the share or Web site is identified as being in the Internet zone instead of in the Local intranet zone.

For more information about this issue, click the following article number to view the article in the Microsoft Knowledge Base: 303650 Intranet site is identified as an Internet site when you use an FQDN or an IP address.

Trusted Sites Zone

This zone contains Web sites that you trust as safe (such as Web sites that are on your organization’s intranet or that come from established companies in whom you have confidence).

When you add a Web site to the Trusted Sites zone, you believe that files you download or that you run from the Web site will not damage your computer or data.

By default, there are no Web sites that are assigned to the Trusted Sites zone, and the security level is set to Low.

Per ulteriori informazioni si vedano anche i seguenti:

Soluzione 3: Disabilitazione del blocco dei controlli obsoleti in Internet Explorer per specifici domini o Url locali e remoti

E’ possibile disabilitare il blocco dei controlli obsoleti tramite la GPO per computer o per utente Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management\Turn off blocking of outdated ActiveX controls for Internet Explorer on specific domains

In alternativa è possibile eseguire la disabilitazione impostando la chiave di registro HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Ext\Domain ad esempio tramite il comando:

reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Ext\Domain” /v contoso.com /t REG_SZ /f

Questa a mio avviso è la soluzione più consigliabile in quanto permette di gestire esclusivamente l’esclusione del controllo del blocco delle versioni Java obsolete (o altri controlli obsoleti) su domini/url “fidati” consentendo la funzionalità che sia aveva precedente.

Conclusioni

In base al proprio scenario occorre valutare attentamente la soluzione che permette la funzionalità dell’applicativo che utilizza versioni Java o controlli obsoleti mantenendo però la superficie di attacco minore.

In ogni caso si tenga presente che non appena possibile è altamente consigliabile aggiornare la versione Java o dei controlli obsoleti utilizzati.