Welcome to TechNet Blogs Sign in | Join | Help

FDCC and Internet Explorer 7, Part 3 – Protected Mode

This is the [long-delayed] third installment in a series discussing various issues regarding the intersection of Microsoft Internet Explorer 7 and the Federal Desktop Core Configuration (FDCC). The FDCC bears close resemblance to Microsoft’s security guidance for Windows XP and Windows Vista, so this series will be of interest to any customers who are locking down Windows and Internet Explorer.

The first post in this series covered IE’s security zones, changes made to “Trusted Sites” in IE7, preferences vs. policies, templates, and the “locked down” zones. The second post discussed the impact of FDCC-mandated policies on typical Internet Explorer users. This post discusses the impact of Protected Mode on Windows Vista.

The two main issues covered here are:

1. While Protected Mode improves security against web-based threats, it can cause some application compatibility problems with line of business web applications.

2. There is a bug in the default configuration for IE7 that can inadvertently enable Protected Mode in the Computer zone, which can break more stuff.

Windows Vista enhanced its security infrastructure with Mandatory Integrity Control, which makes Internet Explorer’s “Protected Mode” possible. To summarize, IE in Protected Mode runs in a process with a constrained security context that prevents the process from modifying most areas of the file system and registry, including those areas that the user is normally allowed to modify, such as the user’s Startup folder. Protected Mode is intended to serve as a defense in depth measure, so that if malware from the internet manages to exploit a browser vulnerability, it will be much harder for the attacker to make changes to the user’s system.

Protected Mode is a per-zone setting. It is enabled by default for the Internet and Restricted Sites zones, disabled for the Trusted Sites and Local Machine (a.k.a., “Computer”) zone. The Intranet zone has Protected Mode enabled by default in IE7, but disabled by default in IE8. I’ll explain that change in a moment.

With Internet Explorer 7, all the tabs within a window frame are managed by a single process. Because Protected Mode is an attribute of the process, everything displayed within a particular IE7 window is either Protected Mode ON or Protected Mode OFF. So if the user navigates from a zone where PM is enabled to one where PM is disabled (or vice versa), IE7 needs to open a new window, and displays this dialog:

clip_image002

This is admittedly not the greatest experience from the user’s perspective. Internet Explorer 8 was re-architected so that individual tabs within a window frame can be managed by separate processes which can be swapped out as needed, so navigating between PM-enabled and PM-disabled is now seamless.

The reason that Protected Mode was enabled for the Intranet zone in IE7 was not for any security benefit. The Intranet zone, after all, is the most permissive of the zones, allowing the use of more browser-based programming techniques than do the other zones. For example, the pop-up blocker is disabled only in the Intranet zone. The reason that IE7 turns on Protected Mode for the Intranet zone is only to avoid having to switch windows when navigating between the Internet and Intranet zones, which the designers assumed would be the most used zones in the enterprise.

As long as the web app you’re using uses only standard HTML, DHTML, AJAX, etc., it usually doesn’t matter whether it is in Protected Mode or not. But if you have mobile code (e.g., ActiveX or Java) that expects to be able to write to the file system or registry, Protected Mode can cause your app not to work as expected. Since custom ActiveX and Java is common with line of business (LOB) web applications, this can lead to a significant number of application compatibility issues.

When this is the case, it is worth considering disabling Protected Mode for the Intranet zone. It is possible to rewrite the custom code to work in Protected Mode, for example by leveraging external broker applications as described in the MSDN article, Understanding and Working in Protected Mode Internet Explorer. However, this can be complex, time-consuming and expensive. Given that IE8 already disables Protected Mode for the Intranet zone, it is far simpler just to disable it for IE7 as well. Upgrading to IE8 is another alternative worth considering.

Also, if the sites that users spend the majority of their time in are in the Intranet and Trusted Sites zones, turning off Protected Mode for the Intranet zone reduces the number of window switches as well.

Having said that, let me make very clear that it is strongly recommended that Protected Mode always remain enabled in the Internet and Restricted Sites zones. If you have external sites that are business-critical and that fail with Protected Mode (e.g., due to use of Java), they should be added to the Trusted Sites zone.

Here is how to disable Protected Mode in the Intranet zone through Group Policy:

Policy location: Computer Configuration \ Administrative Templates \ Windows Components \ Internet Explorer \ Internet Control Panel \ Security Page \ Intranet Zone

Setting: Turn on Protected Mode

State: Enabled: Disable (see the screenshot, below)

Bug in Default Settings for Protected Mode for the Local Machine Zone

There are numerous places where IE security zones can be configured: for each of the five zones, there are machine-wide policies and preferences; per-user policies and preferences; and then corresponding “lockdown” zones for each of those, of which the most important is the Local Machine Zone Lockdown (LMZL). For more information about these topics, see FDCC and Internet Explorer 7, Part 1: Security Zones.

Protected Mode is not intended to be used in the Local Machine (a.k.a., Computer) zone, and it is set to Disabled in all the places where it can be configured – with one exception. Due to an oversight, the default configuration of IE7 enables Protected Mode in the machine preferences for the LMZL. As described in Part 1 of this series, machine preferences normally have no effect – unless the “Security Zones: Use only machine settings” Group Policy setting is enabled, as it is in the FDCC, and in Microsoft’s security guidance for Windows. The Protected Mode setting remains in effect when transitioning from the Locked-Down LMZ to the normal LMZ, since unlike the other zone settings it cannot be changed without switching to another process.

As described in the previous section, Protected Mode can cause app breakage when the app expects to be able to write to the file system or registry. Common examples we’ve seen are failures with “print preview” and similar functionality where the preview content has been written to and then opened from the local hard drive.

When IE8 is installed, the setting is corrected. For IE7, the change has to be applied directly. Here are the specifics:

Key: HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Lockdown_Zones \ 0

Value name: 2500

Change the value from 0 to 3.

You can also fix the problem through Group Policy:

Policy location: Computer Configuration \ Administrative Templates \ Windows Components \ Internet Explorer \ Internet Control Panel \ Security Page \ Locked-Down Local Machine Zone

Setting: Turn on Protected Mode

State: Enabled: Disable (see the screenshot, below)

clip_image004

Set_FDCC_LGPO.exe v1.06, Visual C++ project sources

Visual Studio 2005 project files and source code for Set_FDCC_LGPO.exe v1.06 is attached to this blog post.

Set_FDCC_LGPO updated: v1.06

Set_FDCC_LGPO has been updated to reflect the updated GPO content on NIST's download page.  The FDCC settings have not changed.  The updates contain only corrections to the downloads to more closely adhere to the FDCC settings.

The updated Set_FDCC_LGPO is attached to this blog post.  (This time I also remembered to include the readme.htm in the zip file.)  The updated Visual C++ project sources are here.

To recap:  Set_FDCC_LGPO is a non-interactive tool that applies the Q1 2009 FDCC desktop policy settings from NIST to local group policy and optionally to the security settings of the computer as well.

Apply_LGPO_Delta v1.01, source code

Visual Studio 2005 project and source code files for Apply_LGPO_Delta v1.01 is attached to this blog post.

Apply_LGPO_Delta updated, v1.01

Apply_LGPO_Delta is a utility for automating the management of local group policy -- administrative templates and security templates.  First posted here, it has been updated with the same fix that was applied to Set_FDCC_LGPO to prevent the 0x80070020 sharing-violation error from occurring.

Documentation is in the download.  The sample starter files have been updated, including the addition of a security template you can use to revert the file system permissions changes that FDCC mandates on XP.

Updated source code is here.

Set_FDCC_LGPO.exe v1.05, source code

Visual Studio 2005 project files and source code for Set_FDCC_LGPO.exe v1.05 is attached to this blog post.

(This blog doesn't support multiple file attachments per post...)

Set_FDCC_LGPO updated: v1.05

[2009-04-15:  Attachment removed.  Bookmark this page for the latest versions of these utilities.] 

The utility for applying FDCC configuration settings en masse to a computer has been updated:

  • The 0x80070020 sharing-violation error code that occasionally occurred appears to be due to contention over the registry.pol files between Set_FDCC_LGPO (which is writing to them) and winlogon.exe, which is reading from them to apply their contents to local policy.  Upon a sharing-violation error, Set_FDCC_LGPO no longer reports an error right away, but retries the operation every half second for up to 10 seconds.  This should dramatically reduce if not eliminate these errors.
  • The output log (use the /log command line option) now formats output in the same format that is consumed by Apply_LGPO_Delta, which will make it much easier to create input files to automate those variances.

The GPOs it applies are still those of the FDCC Major Version 1.0 (Q3 2008).

The updated source code is here.  The original documentation still applies.

FDCC and Internet Explorer 7, Part 2 – Impact on Users

This is the second installment in a series discussing various issues regarding the intersection of Microsoft Internet Explorer 7 and the Federal Desktop Core Configuration (FDCC).  The FDCC bears close resemblance to Microsoft’s security guidance for Windows XP and Windows Vista, so this series will be of interest to any customers who are locking down Windows and Internet Explorer.

The first post in this series covered IE’s security zones, changes made to “Trusted Sites” in IE7, preferences vs. policies, templates, and the “locked down” zones.  This post will discuss the impact of FDCC-mandated policies on typical Internet Explorer users:

Installing ActiveX

Viewing or changing security zone settings

FIPS – “System cryptography:  Use FIPS compliant algorithms…”

Prevent ignoring certificate errors

Java, and Java Permissions

User goodies

Impact of FDCC-mandated policies on typical IE users

Installing ActiveX

The single most impactful and valuable aspect of the FDCC is its mandate that users not have administrative rights on their computers.  This single requirement is what provides the greatest security and cost-reduction benefits of the FDCC.  Without this part of the mandate, the value of the rest of the required policies is minimal.  (Note that the Power Users group on Windows XP is an admin-equivalent group.  Users should not be members of this group, nor of Backup Operators.)

It must be emphasized that while FDCC expressly forbids typical users from running with elevated privileges, as of this writing there is no Group Policy setting to enforce it, nor any scanning tools that validate it.  Nevertheless, it is part of the FDCC mandate, and agencies are required to follow it.

For Internet Explorer users, the most noticeable result of running as non-admin is that they can no longer install ActiveX controls.  Non-admin users do not even get prompted when a site they have browsed to wants to install an ActiveX. 

The deployment model for ActiveX has traditionally been on-demand, and performed by Internet Explorer itself.  When a user browses to a web page that uses an ActiveX control, the page can specify the location from which the control can be downloaded and the minimum version required.  Internet Explorer checks whether the required or a newer version is installed; if not (and if the user has the necessary rights), the user will be prompted to install or upgrade the control.  The installation is performed by Internet Explorer, which runs in the security context of the logged-on user.  Installing ActiveX typically involves copying files into system-wide locations (%windir%\Downloaded Program Files), and registering settings in system-wide registry locations (HKEY_CLASSES_ROOT, which usually maps to HKEY_LOCAL_MACHINE\Software\Classes).  Non-admin users have never been allowed to do this, and so Internet Explorer long ago added a check for necessary rights so that non-admin users wouldn’t get prompted for an install they couldn’t perform.

For organizations that have used ActiveX for web-based line of business (LOB) web applications, this creates some challenges.  The ActiveX controls cannot be deployed in the traditional manner.  There are several ways to manage these challenges:

·         On Windows Vista, the ActiveX Installer Service can be configured via Group Policy to allow non-admin users to install ActiveX controls from designated sites.

·         ActiveX controls can be repackaged to be deployed through Active Directory Group Policy, SMS or another enterprise management system.

·         Internet Explorer 8 (now at Beta 2) allows an ActiveX control to be marked so that it can be installed per-user rather than per-machine, and not require admin rights to install.

·         Retire the ActiveX and reimplement the required functionality using AJAX, .NET ClickOnce or another technology that doesn’t require client admin rights.

More information about the ActiveX Installer Service (a.k.a., “AxIS”) can be found here:

·         The ActiveX Installer Service in Windows Vista (TechNet Magazine)

·         Implementing and Administering the ActiveX Installer Service

·         ActiveX Installer Service Discussion and Video (circa Windows Vista RC1)

·         KB 951585 (describes a hotfix that may be needed for some environments)

Technical information about Internet Explorer 8 can be found here:

·         Internet Explorer 8 Beta 1 Whitepapers (including Non-Admin ActiveX Controls)

Viewing or changing security zone settings

Another important aspect of FDCC (or of any locked down configuration, for that matter) is that end users make many fewer trust or security decisions.  These decisions are made instead by trained security professionals – or at least by designated system administrators who hopefully have more than just a tenuous grip on IT security concepts and issues.

Included in this set of decisions is how much trust to place in various web sites.  On unrestricted computers, users can choose which sites to treat as “Trusted site” or “Restricted sites”, and determine what sites should be treated as part of the “Local intranet”.  Users are also able to change individual security settings for each of these zones, or apply a different template to a zone (e.g., set “Trusted sites” to the Low security template as it had been prior to IE7 – not a good idea!)

With FDCC, all these decisions are removed from end users.  The primary policy which enforces this is “Security zones:  Use only machine settings”:  User Policies and Preferences for security zones are ignored in favor of Machine Policies and Preferences, and the same settings apply to all users of the computer.  The IE security zone settings that FDCC requires are implemented as Machine Policies.  Since users are not allowed to change any system-wide configuration settings, this setting blocks users from adding or removing sites from the Trusted sites, Restricted sites and Local Intranet zones, from changing the security level of or individual security settings within any of the zones.  Consequently, another effect of this setting is that most of the standard UI for viewing or changing IE security zone settings is disabled:

Internet Properties dialog, security tab, locked-down 

One drawback is that users (and admins) cannot use this dialog to see what the effective security settings are for a given zone.  “IE Zone Compare” is a new tool that makes that information visible.  It will be posted on this blog later in the “FDCC and Internet Explorer 7” series.

(Two related settings are “Do not allow users to add/delete sites” and “Do not allow users to change policies”.  However, the “Use only machine settings” policy combined with users not having admin rights ends up having the same effect, but more completely and effectively.)

FIPS – “System cryptography:  Use FIPS compliant algorithms…”

FDCC mandates that only FIPS compliant algorithms be used for all cryptographic operations.  It’s actually more than FDCC – the law has required this of Federal agencies for many years.  The main impact this policy has for Internet Explorer users is that HTTPS sites must use the TLS 1.0 protocol (sometimes known as SSL 3.1).  SSL 3.0 and earlier are not FIPS compliant.  Internet Explorer (and other Schannel clients) cannot negotiate a connection with sites that use SSL 3.0 or earlier.  The symptom of this failure is the same that you’d get if the site were down completely:  IE6 says “The page cannot be displayed” (“The page you are looking for is currently unavailable…”); IE7 displays “Internet Explorer cannot display the webpage” (“Most likely causes:  You are not connected to the Internet…”).

Using TLS 1.0 requires the cooperation of the browser and the web server.  On the browser side, make sure that the “Use TLS 1.0” option is checked on the Advanced tab of the Internet Options dialog.  Note that on IE6 this is not checked by default (it is on by default in IE7).  Unfortunately, there is no Group Policy to control this setting.

See the following Knowledge Base articles for more information about the effects of the FIPS setting:

·         KB 811833:  The effects of enabling the "System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing" security setting in Windows XP and in later versions of Windows

·         KB 811834:  PRB: Cannot visit SSL sites after you enable FIPS compliant cryptography

Prevent ignoring certificate errors

Draft versions of the FDCC GPOs required that “Prevent ignoring certificate errors” be enabled.  Because of the huge amount of usability impact, this requirement was removed from FDCC Major Version 1.0, which was released on June 20, 2008.  In other words, this setting is no longer required by FDCC.  Get the latest SCAP content from fdcc.nist.gov to make sure that your compliance scans don’t flag this setting as missing or misconfigured.

When you browse an HTTPS site, Internet Explorer verifies the server’s digital certificate:  it has to match the name of the site you’ve requested, it has to come from a trusted certificate authority, and its validity period must be current.  If any of these verifications fail, the user is warned that something is amiss, as shown in this screenshot below.  Ordinarily, the user is given the option to ignore the certificate error and to browse to the site anyway:

IE7 default bad certificate page 

Continuing to the site is not recommended, because you don’t have assurance that the site is who they claim to be.  Anybody can create a self-signed server authentication certificate that claims to be bankofamerica.com – but only the real Bank of America should be able to get a bankofamerica.com server authentication certificate from a trusted certificate authority.

When the “Prevent ignoring certificate errors” policy is enabled, the decision to continue to a potentially bad site is taken out of the user’s hands – the option to “Continue to this website” is removed, and the user cannot browse to the page:

IE7 bad certificate page with prevent ignoring certificate errors enabled 

This policy setting is security goodness, but FDCC removed the requirement to enable it because it turns out that within the government there are a lot of internal sites and network appliances that have self-signed certificates.  There are also issues with certificate names:  if the server name in the certificate says “sharepoint.internal.agency.gov”, then you can’t browse to https://sharepoint – you have to use the fully-qualified domain name.  Similarly, if the name in the certificate is just “sharepoint”, then there is no way to get there if you have to use the FQDN to resolve it.

Note that “Prevent ignoring certificate errors” is a completely separate issue from the FIPS issue.

Java, and Java Permissions

The “Java Permissions / Disable Java” setting that had been applied to all security zones in draft versions of the FDCC caused some unintended problems, as we described here.  FDCC Major Version 1.0 changes the setting to “High safety” for the Intranet and Trusted Sites zones, so non-Microsoft Java should be able to run in those zones.

Sun Java can have problems running in Internet Explorer Protected Mode on Windows Vista.  Recommendations about Protected Mode will be the topic of the next post in this series.

User goodies

FDCC disables auto-complete in forms and will not save passwords typed into forms or authentication dialogs.

FDCC disables 3rd party browser extensions.  This disables toolbars like MSN’s and Google’s, and integration with Acrobat Reader and instant messaging programs.  Hopefully it will also block a lot of the malware and spyware that is implemented as browser helper objects, toolbars, etc.

Posted by Aaron Margosis | 1 Comments
Filed under:

FDCC Blog Alert: Issue with Windows Vista SP1 and GPResults

Author:           Mandy Tidwell, Senior Consultant 

Applies to:      Windows Vista SP1

Setting:           Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Create Symbolic Links

 

History:           After implementing FDCC on Windows Vista SP1, running the GPResults Wizard and navigating to

Computer Configuration\

Policies\

Windows Settings\

Security Settings

results in the following error:

An error has occurred while collecting data for Security Configuration Engine (SCE) Extension.

This error impacts the following settings:

 

 

Account Policies (Password Policy, Account Lockout Policy, Kerberos Policy)
Local Policies (Audit Policy, User Rights Assignment, Security Options)
Event Log
Restricted Groups
System Services
Registry
File System

The following errors apply to all of the above settings:

 

An unknown error occurred while data was gathered for this extension. Details: Requested value 'SeCreateSymbolicLinkPrivilege' was not found.

 

 

Issue:               When the above policy is set to any value, the above error is logged.

 

Result:             Security Setting information is unavailable in GPResult output.  This problem does not affect Resultant Set of Policy (RSOP) output.

 

Resolution:      This issue has been confirmed to be a problem with Windows Vista SP1 and there is a fix available.  Because the fix is not publicly available at this time, please contact Microsoft Customer Support and reference KB number 955857.  Note that this KB article is not yet publically available at the time of writing this blog but can be referenced to Microsoft Support. 

The following link provides information on contacting Microsoft support: http://support.microsoft.com/oas/default.aspx?prid=11274&gprid=500921 

FDCC Blog Alert: Issue with Windows XP/Vista and IPSec

Author:           Mandy Tidwell, Senior Consultant, Microsoft Consulting Services

Credit:             Jim Riekse, Consultant, Microsoft Consulting Services

Applies to:      Windows XP and Windows Vista

Setting:           Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Access this Computer from the Network is restricted to Administrators in FDCC.

 

Issue:               When IPSec is used to provide session security, IPSec enforces network-based machine-authentication.  Without IPSec, the only credentials that are validated during network-based logons are user credentials.  When IPSec machine-based Kerberos authentication is added to provide TCP/IP session security, the credential evaluation is expanded to also include machine credentials.

 

IPSec comes into the picture through its implementation of IKE (Internet Key).  When the client initiates IKE to the server, the “Access this computer from the Network” user right is evaluated to see if the client computer is allowed access.   The check in Windows 2000 initially only applied to Kerberos-based authentication, but work was done in Windows XP and Windows 2003 to expand that support to Machine Certificate authentication, as long as certificate mapping was enabled.

Result:             Machine accounts by default are members of the ‘Authenticated Users’ group, so because FDCC restricts this access right to only Administrators (which typically only contains user accounts), IPSec will fail with the mandated FDCC configuration. 

Resolution:     To resolve this issue, a deviation to the FDCC must be made to add an appropriate group containing the required computer accounts to the “Access this Computer from the Network” user right.  An example would be “Domain Computers”.

 

References:     For more information about setting up IPSec Domain and Server Isolation in a test lab, see the following TechNet article:

http://technet.microsoft.com/en-us/library/cc782433.aspx

Application / Certificate Performance Issues with Vista and FDCC

Summary

In the process of defining the FDCC image, the National Institute of Standards (NIST) included several Federal and DoD Root and Intermediate x509 certificates in the FDCC Vista Trusted Root and Intermediate Certification Authorities stores. Several of these certificates are cross-certified. When the Vista CryptoAPI (CAPI) is called by a process (e.g. Iexplore.exe validating a website’s SSL certificate), the CAPI chaining engine attempts to retrieve any certificate in the store cross-signing certificate. If the system is unable to reach the retrieval URL (stored in the certificate Subject Information Access extension) the CAPI chaining engine will timeout after 15 seconds. This can cause slow performance in applications that call the CAPI.

FDCC cross-certified Intermediate Certification Authorities store certificates

Certificate Name   

Serial Number

Betrusted Production SSP CA A1

6114b0a100000000000a

Entrust Managed Services Root CA

39c1bfb400000000001f

Exostar GovID SSP Certificate Authority

4d082a0000000000001d

Entrust FBCA

584516fb00000000000b

ORC ACES Business

14c6e864000000000010

ORC ACES Unaffiliated

14cbc469000000000012

ORC ACES Government

14cbba28000000000011

NASA Operational CA

4ea2de3a000000000016

Social Security Administration Certification Authority

617627bd000000000021

VeriSign Shared Service Provider Intermediate CA

5e2bb7d600000000001a

CertiPath Bridge CA

451dc907

E-Commerce Root CA

42091753

DHS Root CA

42091859

DoD CLASS 3 Root CA

451dc766

DoD Interoperability Root CA 1

451dd435

DoJ Root CA

4209185a

DST ACES CA X6

42091857

GPO PCA

4209185b

CMS CA

420916d7

EntrustCA

4209186c

ORC Government ROOT

42091997

U.S. Department of State Root CA

451dc88e

US Treasury Root CA

4209179a

USPTO_INTR_CA1

42091996

Wells Fargo Certificate Authority 01

451dd4d8

 

Symptoms

·         Connecting to SSL enable websites will take a long time or timeout.

·         Applications will be extremely slow and/or throw odd errors.

Cause

The VISTA CAPI chaining engine is unable to pull a cross-signing certificate. Each chaining attempt will timeout after 15 seconds. If the computer’s Intermediate Certification Authorities store contains multiple cross-signed certificates the CAPI-calling application will wait until all chaining attempts have succeeded or timed out. This can cause the application to pause for extremely long periods or produce odd errors.

Example

A laptop connecting via a modem using the Cisco VPN client will take ~14 minutes to call the modem dialer or produce the following error:

Secure VPN Connection terminated locally by the Client.

Reason 415: A required component PPPTool.exe is not present among the installed client software.

Connection terminated on: <date> Duration: <value>

 

Multiple errors are found within the CAPI2 event log. (to enable the CAPI2 eventlog start Eventvwr -> Application and Services Logs -> Microsoft -> Windows -> CAPI2 -> Operational -> right click Enable Log). The CAPI chaining engine cannot reach the URL because the system is unable to communicate to the Internet. Note that the “ProcessName” is cvpnd.exe which is the Cisco VPN service.

 

-

System

 

 

-

Provider

 

 

[ Name]

Microsoft-Windows-CAPI2

 

 

[ Guid]

{5bbca4a8-b209-48dc-a8c7-b23d3e5216fb}

 

 

EventID

24

 

Channel

Microsoft-Windows-CAPI2/Operational

 

<information removed>

 

-

Security

 

[ UserID]

S-1-5-18

 

-

UserData

 

-

CertCrossCertUrlRetrievalWire

 

-

SourceCertificate

 

[ fileRef]

036D9D52108707CFDCE6AD6AB62DDDBCD5E7D67C.cer

 

[ subjectName]

EntrustCA

 

SyncDeltaTime

P7DT0H0M0S

 

-

URL

ldap://fpkia.gsa.gov/cn=EntrustCA,o=National%20Aeronautics%20and%20Space%20Administration,

c=US?cACertificate;binary,crossCertificatePair;binary

[ scheme]

ldap

 

-

EventAuxInfo

 

[ ProcessName]

cvpnd.exe

 

-

CorrelationAuxInfo

 

[ TaskId]

{6CA192A2-1D32-416E-97E8-14A63F6F11D5}

 

[ SeqNumber]

236

 

-

Result

This operation returned because the timeout period expired.

 

[ value]

5B4

 

 

Note: The Cisco VPN client software requires the following certificate in the computer’s Trusted Root Certification Authorities store to establish a chain of trust (not included in the FDCC image, see Additional Information).

Version: 3

Serial Number: 01

Signature Algorithm:

    Algorithm ObjectId: 1.2.840.113549.1.1.4 md5RSA

    Algorithm Parameters:

    05 00

Issuer:

    E=premium-server@thawte.com

    CN=Thawte Premium Server CA

    OU=Certification Services Division

    O=Thawte Consulting cc

    L=Cape Town

    S=Western Cape

    C=ZA

 

NotBefore: 7/31/1996 8:00 PM

NotAfter: 12/31/2020 7:59 PM

 

Subject:

    E=premium-server@thawte.com

    CN=Thawte Premium Server CA

    OU=Certification Services Division

    O=Thawte Consulting cc

    L=Cape Town

    S=Western Cape

    C=ZA

Solutions

Method 1:

Microsoft is currently testing a hotfix to provide the ability to disable the cross-signed certificate chaining retrieval process. This hotfix is currently undergoing testing and is not publicly released. Microsoft Customers who have an Enterprise Agreement may obtain the hotfix through their Account Manager or Technical Account Manager (Premier contract holders). Reference number: KB Article Number(s): 955805

Method 2:

Enable the CAPI2 event log (Eventvwr -> Application and Services Logs -> Microsoft -> Windows -> CAPI2 -> Operational -> right click Enable Log) to determine which certificates the chaining engine cannot retrieve. Remove the certificate from the computer’s Intermediate Certification Authorities store.

Additional Information

FDCC settings disable Windows Updates ability to populate a computer’s Root Certification Authorities stores. FDCC compliant agencies will have to monitor and authorize certificates accordingly.

Policy Path

Policy Setting Name

FDCC Windows Vista

FDCC Windows XP

CCE Reference

Registry Setting

Description

Computer Configuration\Administrative Templates\System\Internet Communication Management\Internet Communication settings

Turn off Automatic Root Certificates Update

 

Enabled

 

Enabled

 

CCE-858

 

HKLM\Software\Policies\Microsoft\SystemCertificates\AuthRoot!DisableRootAutoUpdate

Specifies whether to automatically update root certificates using the Windows Update Web site.  Typically, a certificate is used when you use a secure Web site or when you send and receive secure e-mail. Anyone can issue certificates, but to have transactions that are as secure as possible, certificates must be issued by a trusted certificate authority (CA). Microsoft has included a list in Windows XP and other products of companies and organizations that it considers trusted authorities.  If you enable this setting, when you are presented with a certificate issued by an untrusted root authority your computer will not contact the Windows Update web site to see if Microsoft has added the CA to its list of trusted authorities.  If you disable or do not configure this setting, your computer will contact the Windows Update Web site.

 

 

References

·         Certificates needed by Windows platforms:  http://support.microsoft.com/kb/293781

·         FDCC version 1.0 settings: http://nvd.nist.gov/fdcc/FDCC-Settings-major-version-1.0.xls

·         Microsoft Root Certificate Program: http://support.microsoft.com/kb/931125

·         Deploying Certificates via Group Policy: http://technet.microsoft.com/en-us/library/cc770315.aspx

·         RFC3280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile : http://www.ietf.org/rfc/rfc3280.txt

FDCC Blog Alert: Issue with Vista SP1

Author: Shelly Bird 

Credit:  Syed Ismail, Ben Christenbury

Applies to:  Vista SP1 alone.

Setting:

Microsoft Network Client: Digitally Sign communications (always) is set to Enabled in FDCC.

 

History:

The server side settings are always ON (w2k3 SP2):

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

                EnableSecuritySignature [REG_DWORD] = 0x1

                RequireSecuritySignature [REG_DWORD] = 0x1

 

Client-side settings (Vista SP1) for FDCC:

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters

                EnableSecuritySignature [REG_DWORD] = 0x1

                RequireSecuritySignature [REG_DWORD] = 0x1

 

Issue:

Under this condition, GPO processing for the computer account fails, both at startup and every time gpupdate.exe is run.  There will be a 1058 error in Event Viewer:

 

3/19/2008          4:55:10 PM       1          0          1058     Microsoft-Windows-GroupPolicy            NT AUTHORITY\SYSTEM                        SDC-211.ITL.local         

The processing of Group Policy failed. Windows attempted to read the file \\ITL.local\SysVol\ITL.local\Policies\{1B71C87D-FAB7-4FE1-BEAF-07F846DE3E1D}\gpt.ini from a domain controller and was not successful. Group Policy settings may not be applied until this event is resolved. This issue may be transient and could be caused by one or more of the following:  

a) Name Resolution/Network Connectivity to the current domain controller.  

b) File Replication Service Latency (a file created on another domain controller has not replicated to the current domain controller).  

c) The Distributed File System (DFS) client has been disabled. 

Detail: The account is not authorized to log in from this station

 

Result:  The Group Policy Engine is unable to get the GPO version from the DC.

 

As soon as RequireSecuritySignature is set to 0 (Disabled) on the client and the client is rebooted, GPO processing works fine.

 

Note that this issue does not happen in Vista Runtime (pre-SP1).  Previously, if the server and client were coordinated to be Enabled for this setting, no issues arose, except possibly with non-Microsoft SMB signing systems.

 

Resolution:  There is a QFE that can be requested from Microsoft Premier and which we have tested and confirmed eliminates this issue.  We highly recommend obtaining this QFE for any Vista SP1 implementations which are launched with the FDCC settings.  We hope it will shortly be available either as a public update or in the next Service Pack. 

 

For more information, please see the following KB article:

 

http://support.microsoft.com/kb/950876/en-us

Posted by Mandy Tidwell | 0 Comments
Filed under: , ,

FDCC and Internet Explorer 7, Part 1: Security Zones

This multi-part series will discuss various issues regarding Microsoft Internet Explorer 7, particularly with regard to its use on Federal Desktop Core Configuration (FDCC) compliant systems.  The FDCC is based on Microsoft’s security guidance for Windows XP and Windows Vista, so this series will likely be of interest to audiences beyond those impacted by FDCC.  Topics that will be covered include:

·         Primer on IE security zones and how they are controlled and used, including the "Locked Down" zones.

·         Impact of FDCC-mandated settings on typical IE users.

·         Recommendations regarding "Protected Mode" on Windows Vista.

·         Discussion of a bug that impacts the Local Machine zone (a.k.a., the "Computer" zone) on FDCC-compliant Vista computers.

·         Introduction of a new tool, IEZoneCompare, to visually identify and compare effective IE security zone policies and preferences.

Internet Explorer Security Zones

In this article:

Zones and Policies

Templates

Local Intranet Zone vs. Trusted Sites Zone

The "Locked Down" Security Zones

Zones and Policies

There are many capabilities that can be leveraged by a web browser beyond rendering static HTML.  These capabilities can include the ability to run script, to invoke installed mobile code (such as Java or ActiveX), and to manipulate the clipboard.  Permission to use some of these capabilities should be granted only to trustworthy content.  The concept behind IE security zones is that the source of the content to be rendered by the browser – in other words, where the content came from – can be used to help determine the trustworthiness of that content.  Zones that are defined by Internet Explorer include:

·         Local Machine (a.k.a., "Computer" or "My Computer") zone is for content that is already found on the local computer (but not in the Temporary Internet Files cache).  In the past this had been considered the most trusted content; this was changed by the "Local Machine Zone Lockdown" feature first introduced in Windows XP SP2, and which is described in more detail below.

·         Local Intranet zone is for content found on the organization’s intranet.

·         Internet zone is for content found on the Internet – this is considered an untrustworthy source for content.

·         Trusted Sites are for external sites that are explicitly determined by the user or by the administrator to be more trustworthy than other content on the internet.

·         Restricted Sites are for sites that are explicitly determined by the user or by the administrator to be less trustworthy than other content on the internet.

Registry settings determine which capabilities are permitted for each zone.  There are dozens of these settings, which are documented in KB 182569.  For example, the value "1201" maps to the permissions for "Initialize and script ActiveX controls not marked as safe."  These zone settings can be defined in multiple places, with a hierarchy determining which settings are actually in effect:

·         Machine Policies (HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones)

·         Machine Preferences (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones)

·         User Policies (HKCU\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones)

·         User Preferences (HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones)

Under each of these "Zones" keys are subkeys for each of the security zones:

·         0:  Local Machine

·         1:  Local Intranet

·         2:  Trusted Sites

·         3:  Internet

·         4:  Restricted Sites

RegEditIEZones

The default precedence order for settings for a particular zone is:

·         Machine Policies

·         User Policies

·         User Preferences

·         Machine Preferences

Policies always take precedence over Preferences, so if a registry value exists for a capability in a Policies key, it will override a corresponding setting in a Preferences key for that zone.  In a default Windows install, no Policies keys are populated, so only Preferences are in effect.  FDCC mandates a bunch of Policies settings, particularly for the Internet zone.  Note that all the User Policies keys (starting in HKCU\Software\Policies and HKCU\Software\Microsoft\Windows\CurrentVersion\Policies) are read-only to non-admin users – even though they are in HKCU.  Policies are hard to enforce if you let users overwrite them.

Also note that the correct way to populate the Policies is through Group Policy interfaces, not by pushing data directly into those registry keys.  The Group Policy interfaces (whether programmatic or interactive tools) ensure that the Group Policy stores (registry.pol files) contain the authoritative settings, and that the GP hierarchy (domain vs. OU vs. local policies) is respected.  If you apply settings directly into the registry, they will likely get overwritten or deleted upon the next Group Policy refresh.

By default, User Preferences take precedence over Machine Preferences.  By default, Machine Preferences come into play only when a corresponding value does not exist in the User Preferences.  However, there is a group policy, "Security Zones: Use only machine settings", which FDCC mandates.  With this policy in effect, User Policies and Preferences are ignored – only the Machine Policies and Preferences are used.  This helps ensure that non-admin users do not override administrative security choices.

Note that the Security tab of the Internet Properties dialog shows User Preferences only.  And when Policies are in effect, most or all of the Security tab UI is disabled, with a label at the bottom explaining, "Some settings are managed by your system administrator".

Templates

"Templates" define a collection of settings that can be applied to a zone as a comprehensive group.  These collections appear in the IE Security tab as security levels "High", "Medium-high", "Medium", "Medium-low", and "Low".  When you set a particular zone to one of these levels, it copies the settings for that template to the User Preferences for that zone.  The Template settings are defined in the registry in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\TemplatePolicies.

Local Intranet Zone vs. Trusted Sites Zone

Originally, the "Trusted Sites" zone was treated as the most trustworthy of all the zones.  It was configured to use the "Low" security level template, while "Local intranet" was set to "Medium-low".  Starting with Internet Explorer 7, however, security on "Trusted Sites" was tightened up, and it now defaults to the "Medium" security level template.  So now, "Local Intranet" has more relaxed permissions than "Trusted Sites".  It is recommended to use the "Intranet" zone for internal sites, and "Trusted Sites" for trusted external sites.

For organizations that had added their dotted-name intranet sites to the "Trusted Sites" zone and are using default permissions for that zone, one very notable impact is that browsing IIS web sites that use Windows authentication now prompts for credentials rather than just using the Windows logon of the user to flow through.  This is because the "Logon options" security setting for "Medium-low" and above sends credentials automatically only in the Intranet zone (see screenshot).

LogonOptions

When Trusted Sites was based on the "Low" template, the Logon option defaulted to "Automatic logon with current user name and password."  But generally you do not want Internet Explorer to try to log on automatically with the user’s current username and password to an external site, even a "trusted" one.

By default, URLs in which the server name contains dots are assumed to be in the Internet zone, even if they are on your organization’s intranet; e.g., http://hrweb.contoso.com.   One way to define the fully-qualified domain names (FQDNs) that should be considered intranet is through the "Site to Zone Assignment List" in Group Policy (Computer Configuration \ Administrative Templates \ Windows Components \ Internet Explorer \ Internet Control Panel \ Security Page).  For more information on zone detection algorithms, see this page:  http://msdn.microsoft.com/en-us/library/bb250483(VS.85).aspx.

The "Locked Down" Security Zones

Those who have dug into Group Policy for Internet Explorer and/or the details of FDCC configuration have probably noticed that in addition to the standard zones ("Internet", "Intranet", etc.), there are corresponding "Locked-Down" zones, with their own collections of settings:

LockedDownZonesInGpEdit

The Policies and Preferences for these zones live in "Lockdown_Zones" keys near the corresponding machine and User Policies and Preferences:

·         Machine Policies:  HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones

·         Machine Preferences:  HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones

·         User Policies:  HKCU\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones

·         User Preferences:  HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Lockdown_Zones

The "Locked-Down Local Machine Zone" is very different from the other "Locked-Down" zones.

The Lockdown_Zones settings for the Local Machine zone (zone 0) are used by a feature first introduced in Windows XP Service Pack 2 called "Local Machine Zone Lockdown" (LMZL).  By default, when a page is opened in the Local Machine zone, it runs with the more restrictive policies/preferences in the Lockdown_Zones\0 registry keys, rather than the usual Zones\0 settings.  By default, the LMZL settings disable ActiveX and script.  If the content in the page tries to use ActiveX or script, the information bar prompts the user whether to allow them to run.  If the user allows the blocked content, Internet Explorer then uses the less-restrictive, normal Local Machine zone policies/preferences from that point forward for the lifetime of that browser tab (for IE7+) or browser window (IE6).

You can find more information about LMZL on the following pages:

·         http://technet2.microsoft.com/WindowsVista/en/library/44a2d577-3ee5-4b44-9af7-aaebcfcf41341033.mspx

·         http://technet2.microsoft.com/windowsserver/en/library/aebcfc94-25d5-4f41-93cc-7fb6e031de401033.mspx

The Lockdown_Zones settings for the other zones (Intranet, Internet, etc.) are used to support a feature called "Network Protocol Lockdown" (NPL).  This can be used to force content received over less-commonly used URL schemes to be provided restricted permissions.  http: and https: are the most common URL schemes.  Less common schemes include ftp:, file:, mailto:, shell:, and application-defined pluggable protocols.  NPL restrictions are off by default, but administrators may choose to enable lockdown zones for specific applications and URL schemes to help reduce attack surface.

More information about NPL can be found here:

·         http://technet2.microsoft.com/windowsserver/en/library/44a1af75-935b-4cc2-97cd-da3b7e8bfc891033.mspx

Posted by Aaron Margosis | 3 Comments
Filed under:

Set_FDCC_LPGO v1.04 (Q3 2008) - Source code

The source code and Visual Studio project files for the Set_FDCC_LGPO Q3 2008 update are included as an attachment to this post.

To build the project, you need Visual Studio 2005 and the Windows SDK. The current NIST FDCC policy files are included in the attachment; to build with updated policy files, the attachment includes a PowerShell script to collect files from a locally-extracted copy of the NIST GPO files.  That script needed to be modified from the previous version, as the folder structure for the NIST GPOs has since been renamed, and earlier assumptions by the script no longer hold.  Details are described in the .ps1 script and the new .cmd batch file that are included.  Since the files have already been collected (in the "res" folder), you won't need to perform those steps to build the project anyway.

Source code is provided "AS-IS" without warranty, and is not supported by Microsoft customer support.

Set_FDCC_LGPO: Updated for 2008 Q3

[2009-04-15:  Attachment removed.  Bookmark this page for the latest versions of these utilities.] 

Set_FDCC_LGPO is a utility that we originally released in December that applies the Group Policy Objects provided by NIST on their web site to the Local Group Policy on the Windows XP or Windows Vista computer you run the tool on.

NIST recently released FDCC Major Version 1.0 (Q3 2008), and so this utility has also been updated to incorporate the new GPOs.  The updated utility is provided as an attachment to this blog post.

This update also incorporates improved logging of its SecEdit.exe results.  The updated source code and project files for this release have also been posted.  (For the time being, it's still a Visual Studio 2005 project.)

See the earlier post for documentation.

More Posts Next page »
 
Page view tracker