- Table of Contents
-
- 10-Security Configuration Guide
- 00-Preface
- 01-AAA configuration
- 02-Password control configuration
- 03-Public key management configuration
- 04-PKI configuration
- 05-IPsec configuration
- 06-SSH configuration
- 07-IP source guard configuration
- 08-ARP attack protection configuration
- 09-uRPF configuration
- 10-SSL configuration
- 11-Crypto engine configuration
- 12-FIPS configuration
- 13-Portal configuration
- 14-MACsec configuration
- 15-Attack detection and prevention configuration
- 16-Object group configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
10-SSL configuration | 141.5 KB |
Contents
Configuring an SSL server policy
Configuring an SSL client policy
Displaying and maintaining SSL
SSL server policy configuration example
Overview
Secure Sockets Layer (SSL) is a cryptographic protocol that provides communication security for TCP-based application layer protocols such as HTTP. SSL has been widely used in applications such as e-business and online banking to provide secure data transmission over the Internet.
SSL security services
SSL provides the following security services:
· Privacy—SSL uses a symmetric encryption algorithm to encrypt data and uses an asymmetric key algorithm such as RSA to encrypt the key used by the symmetric encryption algorithm. For more information about RSA, see "Managing public keys."
· Authentication—SSL uses certificate-based digital signatures to authenticate the SSL server and client. The SSL server and client obtain digital certificates through PKI. For more information about PKI and digital certificates, see "Configuring PKI."
· Integrity—SSL uses the message authentication code (MAC) to verify message integrity. It uses a MAC algorithm and a key to transform a message of any length to a fixed-length message. Any change to the original message will result in a change to the calculated fixed-length message. As shown in Figure 1, the message integrity verification process is as follows:
a. The sender uses a MAC algorithm and a key to calculate a MAC value for a message, appends the MAC value to the message, and sends the message to the receiver.
b. The receiver uses the same key and MAC algorithm to calculate a MAC value for the received message, and compares it with the MAC value appended to the message.
c. If the two MAC values match, the receiver considers the message intact. Otherwise, the receiver considers that the message was tampered with and it discards the message.
Figure 1 MAC algorithm diagram
SSL protocol stack
The SSL protocol stack includes the following protocols:
· SSL record protocol at the lower layer.
· SSL handshake protocol, SSL change cipher spec protocol, and SSL alert protocol at the upper layer.
The following describes the major functions of SSL protocols:
· SSL record protocol—Fragments data received from the upper layer, computes and adds MAC to the data, and encrypts the data.
· SSL handshake protocol—Negotiates the cipher suite used for secure communication, authenticates the server and client, and securely exchanges the keys between the server and client. The cipher suite that needs to be negotiated includes the symmetric encryption algorithm, key exchange algorithm, and MAC algorithm.
· SSL change cipher spec protocol—Notifies the receiver that subsequent packets are to be protected based on the negotiated cipher suite and key.
· SSL alert protocol—Sends alert messages to the receiving party. An alert message contains the alert severity level and a description.
FIPS compliance
The device supports the FIPS mode that complies with NIST FIPS 140-2 requirements. Support for features, commands, and parameters might differ in FIPS mode (see "Configuring FIPS") and non-FIPS mode.
SSL configuration task list
Tasks at a glance |
Remarks |
Perform this configuration task on the SSL server. |
|
Perform this configuration task on the SSL client. |
Configuring an SSL server policy
An SSL server policy is a set of SSL parameters used by the SSL server. An SSL server policy takes effect only after it is associated with an application such as HTTPS.
|
NOTE: · SSL versions include SSL 2.0, SSL 3.0, and TLS 1.0 (or SSL 3.1). By default, the SSL server can communicate with clients running SSL 3.0 or TLS 1.0. When the server receives an SSL 2.0 Client Hello message from a client supporting both SSL 2.0 and SSL 3.0/TLS 1.0, it notifies the client to use SSL 3.0 or TLS 1.0 for communication. · You can disable SSL 3.0 on the device to enhance system security. |
To configure an SSL server policy:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. (Optional.) Disable SSL 3.0 for the SSL server. |
ssl version ssl3.0 disable |
By default, SSL 3.0 is enabled. |
3. Create an SSL server policy and enter its view. |
ssl server-policy policy-name |
By default, no SSL server policy exists on the device. |
4. (Optional.) Specify a PKI domain for the SSL server policy. |
pki-domain domain-name |
By default, no PKI domain is specified for an SSL server policy. If SSL server authentication is required, you must specify a PKI domain and request a local certificate for the SSL server in the domain. For information about how to create and configure a PKI domain, see "Configuring PKI." |
5. Specify the cipher suites that the SSL server policy supports. |
· In non-FIPS mode: · In FIPS mode: |
By default, an SSL server policy supports all cipher suites. |
6. Set the maximum number of sessions that the SSL server can cache. |
session cachesize size |
By default, an SSL server can cache a maximum of 500 sessions. |
7. Enable the SSL server to authenticate SSL clients through digital certificates. |
client-verify enable |
By default, SSL client authentication is disabled. When authenticating a client by using the digital certificate, the SSL server verifies the certificate chain presented by the client. It also verifies that the certificates in the certificate chain (except the root CA certificate) are not revoked. |
Configuring an SSL client policy
An SSL client policy is a set of SSL parameters that the client uses to establish a connection to the server. An SSL client policy takes effect only after it is associated with an application such as DDNS. For information about DDNS, see Layer 3—IP Services Configuration Guide.
You can specify the SSL version (SSL 3.0 or TLS 1.0) for an SSL client policy.
· If TLS 1.0 is specified and SSL 3.0 is not disabled, the client first uses TLS 1.0 to connect to the SSL server. If the connection attempt fails, the client uses SSL 3.0.
· If TLS 1.0 is specified and SSL 3.0 is disabled, the client only uses TLS 1.0 to connect to the SSL server.
· If SSL 3.0 is specified, the client uses SSL 3.0 to connect to the SSL server, whether you disable SSL 3.0 or not.
To enhance system security, H3C recommends disabling SSL 3.0 on the device and specifying TLS 1.0 for an SSL client policy.
To configure an SSL client policy:
Step |
Command |
Remarks |
8. Enter system view. |
system-view |
N/A |
9. (Optional.) Disable SSL 3.0 for the SSL server. |
ssl version ssl3.0 disable |
By default, SSL 3.0 is enabled. |
10. Create an SSL client policy and enter its view. |
ssl client-policy policy-name |
By default, no SSL client policy exists on the device. |
11. (Optional.) Specify a PKI domain for the SSL client policy. |
pki-domain domain-name |
By default, no PKI domain is specified for an SSL client policy. If SSL client authentication is required, you must specify a PKI domain and request a local certificate for the SSL client in the PKI domain. For information about how to create and configure a PKI domain, see "Configuring PKI." |
12. Specify the preferred cipher suite for the SSL client policy. |
· In non-FIPS mode: · In FIPS mode: |
· In non-FIPS mode: · In FIPS mode: |
13. Specify the SSL version for the SSL client policy. |
· In non-FIPS mode: · In FIPS mode: |
By default, an SSL client policy uses TLS 1.0. |
14. Enable the SSL client to authenticate servers through digital certificates. |
server-verify enable |
By default, SSL server authentication is enabled. |
Displaying and maintaining SSL
Execute display commands in any view.
Task |
Command |
Display SSL server policy information. |
display ssl server-policy [ policy-name ] |
Display SSL client policy information. |
display ssl client-policy [ policy-name ] |
SSL server policy configuration example
Network requirements
As shown in Figure 3, users need to access and control the device through the Web page.
To protect the device and prevent data from being eavesdropped or tampered with, configure the device to be accessible to users through HTTPS only.
In this example, the CA server runs Windows Server and has the SCEP plug-in installed.
Configuration considerations
To meet the network requirements, perform the following tasks:
· Configure Device to work as the HTTPS server and request a certificate for Device. For more information about HTTPS, see Fundamentals Configuration Guide.
· Request a certificate for Host so that Device can authenticate the identity of Host.
Configuration procedure
Before performing the following tasks, make sure Device, Host, and the CA server can reach each other.
1. Configure the HTTPS server on Device:
# Create a PKI entity named en, and configure the common name as http-server1 and the FQDN as ssl.security.com.
[Device] pki entity en
[Device-pki-entity-en] common-name http-server1
[Device-pki-entity-en] fqdn ssl.security.com
[Device-pki-entity-en] quit
# Create PKI domain 1 and specify the trusted CA as CA server. Set the URL of the registration server as http://10.1.2.2/certsrv/mscep/mscep.dll, the authority for certificate request as RA, and the entity for certificate request as en.
[Device-pki-domain-1] ca identifier CA server
[Device-pki-domain-1] certificate request url http://10.1.2.2/certsrv/mscep/mscep.dll
[Device-pki-domain-1] certificate request from ra
[Device-pki-domain-1] certificate request entity en
# Specify the certificate to use a general-purpose RSA key pair. Set the key pair name to abc and the modules length to1024 bits.
[Device-pki-domain-1] public-key rsa general name abc length 1024
[Device-pki-domain-1] quit
# Generate a local RAS key pair named abc.
[Device] public-key local create rsa name abc
The range of public key size is (512 ~ 2048).
If the key modulus is greater than 512,it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................++++++
.....................................++++++
Create the key pair successfully.
# Obtain the CA certificate.
[Device] pki retrieve-certificate domain 1 ca
The trusted CA's finger print is:
MD5 fingerprint:7682 5865 ACC2 7B16 6F52 D60F D998 4484
SHA1 fingerprint:DF6B C53A E645 5C81 D6FC 09B0 3459 DFD1 94F6 3DDE
Is the finger print correct?(Y/N):y
Retrieved the certificates successfully.
# Generate a certificate request for Device.
[Device] pki request-certificate domain 1
Start to request general certificate ...
Certificate requested successfully.
# Create an SSL server policy named myssl.
[Device] ssl server-policy myssl
# Specify PKI domain 1 for the SSL server policy.
[Device-ssl-server-policy-myssl] pki-domain 1
# Enable client authentication.
[Device-ssl-server-policy-myssl] client-verify enable
[Device-ssl-server-policy-myssl] quit
# Configure the HTTPS service to use SSL server policy myssl.
[Device] ip https ssl-server-policy myssl
# Enable the HTTPS service.
[Device] ip https enable
# Create a local user named usera. Set the password to 123, service type to https, and user role to network-admin.
[Device-luser-usera] password simple 123
[Device-luser-usera] service-type https
[Device-luser-usera] authorization-attribute user-role network-admin
2. Configure the HTTPS client on Host:
On Host, launch IE, enter http://10.1.2.2/certsrv in the address bar, and request a certificate for Host as prompted.
Verifying the configuration
Perform the following tasks on Host:
1. Launch IE and enter https://10.1.1.1 in the address bar.
2. Select the certificate issued by the CA server.
The Web interface of the device should appear.
3. Enter username usera and password 123.
Verify that now you can log in to the Web interface to access and manage the device.