Enabling Common Criteria Security Hardening
Introduction
Overview
Secret Server made several security enhancements to achieve Common Criteria (CC) certification. These features are available in all versions of Secret Server 10.4 and later. Due to their stringency and need for additional user configuration, not all these features are enabled by default by our standard installer.
This guide provides the information an administrator needs to configure Secret Server 10.4 and above in compliance with the Common Criteria evaluated configuration. Follow this guide in its entirety to ensure each parameter setting matches those evaluated and certified as secure by Common Criteria standards.
Audience
This document is for administrators who are responsible for installing, configuring, and operating enterprise infrastructure for their organization. To use this guide, you must have knowledge of your organization's network infrastructure and applicable policies. In addition, you must have administrative access to configure your operational environment.
What Is Common Criteria?
The Common Criteria for Information Technology Security Evaluation (ISO/IEC 15408), known as "Common Criteria," is an international standard for security certification of computer systems, networks, and application software. The certification ensures that claims about the security attributes of the evaluated product were independently verified in the evaluated configuration in the same specific environment. The certification assumes a specific evaluated configuration and does not validate any security claims when the product is used outside of that configuration.
Procedures
Security Hardening Checklist
After installing Secret Server, navigate to the Reports > Security Hardening tab, and follow the checklist to ensure your environment is as secure as possible:
Note: See the Security Hardening Guide for details.
Configuring TLS
To achieve Common Criteria certification on Secret Server, you must enable Transport Security Layer (TLS).
Manually Disabling TLS Version 1.0
TLS 1.0 is no longer considered secure, so it is important to disable this version of the protocol on Secret Server. To do this, follow the instructions in the "Manually Disabling TLS v1.0" section of the Introduction.
TLS Diffie-Hellman Hardening Overview
For information on configuring your servers with stronger Ephemeral Diffie-Hellman hardening, see the "TLS Diffie-Hellman Hardening Overview" in the Introduction.
Restricting Server Cipher Suites for TLS
Allowed Suites
Common Criteria certification requires restricting the cipher suites configured on your server to only:
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA256
Restricting them can cause communication issues with other servers if they are not able to communicate using any of the above ciphers. In that case, you need to modify those servers to include these cipher suites to securely communicate according to Common Criteria guidelines.
Changing Cipher Suites with the IIS Crypto Tool
One way to change the cipher suites on a computer is to use the free IIS Crypto tool:
-
Download the GUI version of the tool at: https://www.nartac.com/Products/IISCrypto/Download
-
Run the tool:
-
Click Cipher Suites button on the left. The Cipher Suites window appears:
-
Click the Uncheck All button to uncheck all cipher suites.
-
Find and click to select the suites in the list above.
-
Click the Apply button.
Configuring TLS with IIS
Common Criteria certification requires using HTTPS/SSL for all connections to the Secret Server Web page. To do this, follow the instructions in the "TLS Configuration with IIS" section of the Introduction.
Enabling TLS Auditing
To have Secret Server audit TLS connections and connection failures, follow the instructions in the "Configuring Auditing for TLS Connections" section of the Introduction.
Configuring TLS with Active Directory
To ensure that TLS is configured with Active Directory Follow the instructions in the "Configuring TLS with Active Directory" section of the Introduction.
Note: If you have any existing domains configured in Secret Server, you must edit them and enable LDAPS on each one.
Configuring TLS with Syslog
To configure TLS with Syslog, follow the steps in the "Configuring Syslog/CEF External Audit Server" section of the Introduction.
Additional Common Criteria Configurations
Configuring X.509v3 Certificates
See the "Configuring X.509v3 Certificates" section of the Common Criteria Hardening Guide for instructions on installing and configuring certificates on the Secret Server Web servers.
Enabling DPAPI
The Windows Data Protection API (DPAPI) is a pair of functions that allow access to operating-system-level data protection services to protect the master encryption key file, encryption.config.
To enable DPAPI, follow the instructions in the "Verify DPAPI Setting Is Enabled" section of the Introduction.
Enabling FIPS Mode
To configure your server and Secret Server to use the Federal Information Processing Standard (FIPS), follow the instructions in the "Verify FIPS Mode Is Enabled" section of the Introduction.
Note: Also see: Enabling FIPS Compliance
Ensuring Zero Information Disclosure
To comply with Common Criteria requirements, you must configure Secret Server to not display any unnecessary information. This applies to unhandled errors as well as the application version number.
Configuring Custom Error Messages
To hide detailed error messages and display a custom message when an unhandled error occurs:
- Open
https://<your_secret_server_url>/ConfigurationAdvanced.aspx
in your browser. - Scroll to the bottom of the page and click the Edit button.
- Type the message you want displayed to users in the Zero Information Disclosure Message text box.
- Click the Save button.
Hiding the Application Version Number
To hide the application version number in the application header and footer:
-
Go to Admin > Configuration > Security.
-
Click the Edit button. The Configuration page appears:
-
Click the Security tab.
-
In the Web Services section of the page, click to select the Hide Secret Server Version Numbers check box.
-
Click the Save button.
Configuring the Login Banner
For Common Criteria compliance, when a user first logs in, the login banner must reveal the user policy agreement and force that user to agree to the policy before logging into Secret Server. To configure the Login Banner according to Common Criteria guidelines, follow the instructions in the "Configuring the Login Banner" section of the Introduction.
Configuring Account Lockout
To access Secret Server, users must login with local or domain credentials. To comply with Common Criteria, Secret Server must use "account lockouts" to prevent repeated unsuccessful login attempts. Configurable by an Secret Server admin, an account becomes inaccessible after a defined number of unsuccessful authentication attempts until an admin unlocks the user's account.
To configure settings for account lockouts:
- Navigate to Admin > Configuration.
- Click the Login tab.
- Click the Edit button.
- Adjust the number in the Maximum Login Failures text box. The default is five attempts.
To Unlock a user's account:
- Navigate to Admin > Users > Select the User.
- Click the Edit button.
- Click to deselect the Locked Out check box.
- Click the Save button.
Disabling "Remember Me" Logins
A browser's "remember me" login function stores the user's login name and password so the user does not need to enter it again on that browser, which is both convenient and insecure. To disable "Allow Remember Me" during logins, follow the instructions in the "How to Disable Allow Remember Me during Logins" section of the Introduction.
Configuring SQL Server
To meet Common Criteria requirements, Microsoft SQL Server must be installed on the local machine—the same as the Secret Server Web server. During the install process for MS SQL, ensure that you use Windows authentication mode.
If you have an installed instance of Secret Server that does not meet this requirement, you can migrate the remote database to the server hosting Secret Server. If MS SQL Server is not installed and configured on the Secret Server, you must install it. The server must be configured with enough RAM, storage space, and processors to support running MS SQL Server and the Web site simultaneously. After copying the database, you can go to Admin > Database to point Secret Server to the new database location.
Note: Because the database must be installed locally with the Secret Server Web application for Common Criteria compliance, Secret Server is not fully compliant when running multiple nodes.
Running the IIS Application Pool with a Service Account
To use Windows authentication to access the SQL database, you should create a service account. To run the Secret Server IIS Application Pool with a service account:
-
Open a command prompt window, change the directory to your .NET framework installation directory (usually
C:\Windows\Microsoft.NET\Framework…
) using thecd
command. -
Type
.\aspnet_regiis -ga <user_name>
and press <Enter>. The username is from the MS SQL Server user account. -
Give your service account "modify" access to
C:\Windows\TEMP
. -
Open the Local Security Policy App from your start menu.
-
Grant batch logon permissions to your service account:
- Open the Local Security Policy Console (search for and open
secpol.msc
): -
Expand the Local Policies folder (not shown).
-
Click to select the User Rights Assignment folder.
-
Right-click Log on as a batch job in the right panel and select Properties.
-
Click the Add User or Group button.
-
Add your service account.
-
Click the OK button.
- Open the Local Security Policy Console (search for and open
- Grant "Impersonate a client after authentication" permission to the service account under User Rights Assignment the same way "Log on as a batch job" was assigned above.
-
If you now get a "Service Unavailable" error after applying "Log on as a batch job" permissions:
- Update your group policy settings (Start > Run > Cmd and type
gpupdate /force
) and restart the Windows Process Activation service.
- Update your group policy settings (Start > Run > Cmd and type
Assigning Common Criteria Roles and Permissions
See the "Common Criteria Roles and Permissions" section of the Common Criteria Hardening Guide.
Managing User Passwords
See the "Managing User Passwords" section of the Introduction.
Configuring Secret Templates
To enable only the secret templates that are certified Common Criteria compliant and to set Common Criteria-compliant password policies on those templates, see the "Configuring Secret Templates" and "Configuring Password Policy for Secret Templates" sections of the Introduction.
Setting Authentication Strength for Non-Password Credentials
See the "Authentication Strength for Non-Password Credentials" section of the Introduction.
Configuring Remote Password Changing for SSH Key Rotation
See the "Configuring Remote Password Changing for SSH Key Rotation" section of the Common Criteria Hardening Guide.
Configuring External Auditing
Connecting to an External Audit Server
To connect to an external syslog/CEF audit server, see the "Security—Connecting to an External Audit Server" and "Configuring Syslog/CEF External Audit Server" sections of the Introduction.
Configuring Local Windows Event Log Auditing
See the "Configuring Local Windows Event Log Auditing" section of the Introduction.