08-SSL命令
本章节下载: 08-SSL命令 (162.27 KB)
1.1.3 display ssl client-policy
1.1.4 display ssl server-policy
1.1.5 pki-domain (SSL client policy view)
1.1.6 pki-domain (SSL server policy view)
1.1.11 ssl renegotiation disable
1.1.13 ssl version ssl3.0 disable
ciphersuite命令用来配置SSL服务器端策略支持的加密套件。
undo ciphersuite命令用来恢复缺省情况。
【命令】
ciphersuite { dhe_rsa_aes_128_cbc_sha | dhe_rsa_aes_256_cbc_sha | exp_rsa_des_cbc_sha | exp_rsa_rc2_md5 | exp_rsa_rc4_md5 | rsa_3des_ede_cbc_sha | rsa_aes_128_cbc_sha | rsa_aes_256_cbc_sha | rsa_des_cbc_sha | rsa_rc4_128_md5 | rsa_rc4_128_sha } *
undo ciphersuite
【缺省情况】
SSL服务器端策略支持所有的加密套件。
【视图】
SSL服务器端策略视图
【缺省用户角色】
network-admin
【参数】
dhe_rsa_aes_128_cbc_sha:密钥交换算法采用DHE RSA、数据加密算法采用128位的AES、MAC算法采用SHA。
dhe_rsa_aes_256_cbc_sha:密钥交换算法采用DHE RSA、数据加密算法采用256位的AES、MAC算法采用SHA。
exp_rsa_des_cbc_sha:满足出口限制的算法套件。密钥交换算法采用RSA、数据加密算法采用DES_CBC、MAC算法采用SHA。
exp_rsa_rc2_md5:满足出口限制的算法套件。密钥交换算法采用RSA、数据加密算法采用RC2、MAC算法采用MD5。
exp_rsa_rc4_md5:满足出口限制的算法套件。密钥交换算法采用RSA、数据加密算法采用RC4、MAC算法采用MD5。
rsa_3des_ede_cbc_sha:密钥交换算法采用RSA、数据加密算法采用3DES_EDE_CBC、MAC算法采用SHA。
rsa_aes_128_cbc_sha:密钥交换算法采用RSA、数据加密算法采用128位AES_CBC、MAC算法采用SHA。
rsa_aes_256_cbc_sha:密钥交换算法采用RSA、数据加密算法采用256位AES_CBC、MAC算法采用SHA。
rsa_des_cbc_sha:密钥交换算法采用RSA、数据加密算法采用DES_CBC、MAC算法采用SHA。
rsa_rc4_128_md5:密钥交换算法采用RSA、数据加密算法采用128位的RC4、MAC算法采用MD5。
rsa_rc4_128_sha:密钥交换算法采用RSA、数据加密算法采用128位的RC4、MAC算法采用SHA。
【使用指导】
为了提高安全性,SSL协议采用了如下算法:
· 数据加密算法:用来对传输的数据进行加密,以保证数据传输的私密性。常用的数据加密算法通常为对称密钥算法,如DES_CBC、3DES_EDE_CBC、AES_CBC、RC4等。使用对称密钥算法时,要求SSL服务器端和SSL客户端具有相同的密钥。
· MAC(Message Authentication Code,消息验证码)算法:用来计算数据的MAC值,以防止发送的数据被篡改。常用的MAC算法有MD5、SHA等。使用MAC算法时,要求SSL服务器端和SSL客户端具有相同的密钥。
· 密钥交换算法:用来实现密钥交换,以保证对称密钥算法、MAC算法中使用的密钥在SSL服务器端和SSL客户端之间安全地传递。常用的密钥交换算法通常为非对称密钥算法,如RSA。
通过本命令可以配置SSL服务器端策略支持的各种算法组合。例如,rsa_des_cbc_sha表示SSL服务器端策略支持的密钥交换算法为RSA、数据加密算法为DES_CBC、MAC算法为SHA。
SSL服务器接收到SSL客户端发送的客户端加密套件后,将服务器支持的加密套件与SSL客户端支持的加密套件比较。如果SSL服务器支持的加密套件中存在SSL客户端支持的加密套件,则加密套件协商成功;否则,加密套件协商失败。
多次执行本命令,最后一次执行的命令生效。
【举例】
# 指定SSL服务器端策略支持如下加密套件:
· 密钥交换算法为DHE RSA、数据加密算法为128位的AES、MAC算法为SHA
· 密钥交换算法为RSA、数据加密算法为128位的AES、MAC算法为SHA
<Sysname> system-view
[Sysname] ssl server-policy policy1
[Sysname-ssl-server-policy-policy1] ciphersuite dhe_rsa_aes_128_cbc_sha rsa_aes_128_cbc_sha
【相关命令】
· display ssl server-policy
· prefer-cipher
client-verify命令用来配置SSL服务器端对SSL客户端的身份验证方案。
undo client-verify命令用来恢复缺省情况。
【命令】
client-verify { enable | optional }
undo client-verify [ enable ]
【缺省情况】
SSL服务器端不对SSL客户端进行基于数字证书的身份验证。
【视图】
SSL服务器端策略视图
【缺省用户角色】
network-admin
【参数】
enable:表示SSL服务器端要求对SSL客户端进行基于数字证书的身份验证。
optional:表示SSL服务器端不强制要求对SSL客户端进行基于数字证书的身份验证,即身份验证可选。
【使用指导】
SSL通过数字证书实现对对端的身份进行验证。数字证书的详细介绍,请参见“安全配置指导”中的“PKI”。
设备作为SSL服务器端,支持灵活的SSL客户端认证方案,具体如下:
· 执行了client-verify enable命令的情况下,则SSL客户端必须将自己的数字证书提供给服务器,以便服务器对客户端进行基于数字证书的身份验证。只有身份验证通过后,SSL客户端才能访问SSL服务器。
· 执行了client-verify optional命令的情况下,若SSL客户端未提供数字证书给服务器,SSL客户端也能访问SSL服务器;若SSL客户端提供数字证书给服务器,只有身份验证通过后,SSL客户端才能访问SSL服务器。
· 执行了undo client-verify [ enable ]命令的情况下,SSL服务器端不要求SSL客户端提供数字证书,也不会对其进行基于数字证书的身份验证,SSL客户端可以直接访问SSL服务器。
SSL服务器端在基于数字证书对SSL客户端进行身份验证时,除了对SSL客户端发送的证书链进行验证,还要检查证书链中的除根CA证书外的每个证书是否均未被吊销。
【举例】
# 配置SSL服务器端要求对SSL客户端进行基于数字证书的身份验证。
<Sysname> system-view
[Sysname] ssl server-policy policy1
[Sysname-ssl-server-policy-policy1] client-verify enable
# 配置SSL服务器端对SSL客户端进行基于数字证书的身份验证是可选的。
<Sysname> system-view
[Sysname] ssl server-policy policy1
[Sysname-ssl-server-policy-policy1] client-verify optional
# 配置SSL服务器端不要求对SSL客户端进行基于数字证书的身份验证。
<Sysname> system-view
[Sysname] ssl server-policy policy1
[Sysname-ssl-server-policy-policy1] undo client-verify
【相关命令】
· display ssl server-policy
display ssl client-policy命令用来显示SSL客户端策略的信息。
【命令】
display ssl client-policy [ policy-name ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
policy-name:显示指定的SSL客户端策略的信息,为1~31个字符的字符串,不区分大小写。如果不指定本参数,则显示所有SSL客户端策略的信息。
【举例】
# 显示名为policy1的SSL客户端策略的信息。
<Sysname> display ssl client-policy policy1
SSL client policy: policy1
SSL version: SSL 3.0
PKI domain: client-domain
Preferred ciphersuite:
RSA_AES_128_CBC_SHA
Server-verify: enabled
表1-1 display ssl client-policy命令显示信息描述表
字段 |
描述 |
SSL client policy |
SSL客户端策略名 |
SSL version |
SSL客户端策略使用的SSL协议版本 |
PKI domain |
SSL客户端策略使用的PKI域 |
Preferred ciphersuite |
SSL客户端策略支持的加密套件 |
Server-verify |
SSL客户端策略的服务器端验证模式,取值包括: · disabled:不要求对SSL服务器进行基于数字证书的身份验证 · enabled:要求对SSL服务器进行基于数字证书的身份验证 |
display ssl server-policy命令用来显示SSL服务器端策略的信息。
【命令】
display ssl server-policy [ policy-name ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
policy-name:显示指定的SSL服务器端策略的信息,为1~31个字符的字符串,不区分大小写。如果不指定本参数,则显示所有SSL服务器端策略的信息。
【举例】
# 显示名为policy1的SSL服务器端策略的信息。
<Sysname> display ssl server-policy policy1
SSL server policy: policy1
PKI domain: server-domain
Ciphersuites:
DHE_RSA_AES_128_CBC_SHA
RSA_AES_128_CBC_SHA
Session cache size: 600
Caching timeout: 3600 seconds
Client-verify: Enabled
表1-2 display ssl server-policy命令显示信息描述表
字段 |
描述 |
SSL server policy |
SSL服务器端策略名 |
PKI domain |
SSL服务器端策略使用的PKI域 |
Ciphersuites |
SSL服务器端策略支持的加密套件 |
Session cache size |
SSL服务器端可以缓存的最大会话数目 |
Caching timeout |
SSL服务器端会话缓存超时时间(单位为秒) |
Client-verify |
SSL服务器端策略的客户端验证模式,取值包括: · Disabled:不要求对客户端进行基于数字证书的身份验证 · Enabled:要求对客户端进行基于数字证书的身份验证 · Optional:SSL服务器端对SSL客户端进行基于数字证书的身份验证是可选的 |
pki-domain命令用来配置SSL客户端策略所使用的PKI域。
undo pki-domain命令用来恢复缺省情况。
【命令】
pki-domain domain-name
undo pki-domain
【缺省情况】
未指定SSL客户端策略所使用的PKI域。
【视图】
SSL客户端策略视图
【缺省用户角色】
network-admin
【参数】
domain-name:PKI域的域名,为1~31个字符的字符串,不区分大小写。
【使用指导】
如果通过本命令指定了SSL客户端策略使用的PKI域,则引用该客户端策略的SSL客户端将通过该PKI域获取客户端的数字证书。
【举例】
# 配置SSL客户端策略所使用的PKI域为client-domain。
<Sysname> system-view
[Sysname] ssl client-policy policy1
[Sysname-ssl-client-policy-policy1] pki-domain client-domain
【相关命令】
· display ssl client-policy
· pki domain(安全命令参考/PKI)
pki-domain命令用来配置SSL服务器端策略所使用的PKI域。
undo pki-domain命令用来恢复缺省情况。
【命令】
pki-domain domain-name
undo pki-domain
【缺省情况】
未指定SSL服务器端策略所使用的PKI域。
【视图】
SSL服务器端策略视图
【缺省用户角色】
network-admin
【参数】
domain-name:PKI域的域名,为1~31个字符的字符串,不区分大小写。
【使用指导】
如果通过本命令指定了SSL服务器端策略使用的PKI域,则引用该服务器端策略的SSL服务器将通过该PKI域获取服务器端的数字证书。
【举例】
# 配置SSL服务器端策略所使用的PKI域为server-domain。
<Sysname> system-view
[Sysname] ssl server-policy policy1
[Sysname-ssl-server-policy-policy1] pki-domain server-domain
【相关命令】
· display ssl server-policy
· pki domain(安全命令参考/PKI)
prefer-cipher命令用来配置SSL客户端策略支持的加密套件。
undo prefer-cipher命令用来恢复缺省情况。
【命令】
prefer-cipher { dhe_rsa_aes_128_cbc_sha | dhe_rsa_aes_256_cbc_sha | exp_rsa_des_cbc_sha | exp_rsa_rc2_md5 | exp_rsa_rc4_md5 | rsa_3des_ede_cbc_sha | rsa_aes_128_cbc_sha | rsa_aes_256_cbc_sha | rsa_des_cbc_sha | rsa_rc4_128_md5 | rsa_rc4_128_sha }
undo prefer-cipher
【缺省情况】
SSL客户端策略支持的加密套件为rsa_rc4_128_md5。
【视图】
SSL客户端策略视图
【缺省用户角色】
network-admin
【参数】
dhe_rsa_aes_128_cbc_sha:密钥交换算法采用DHE RSA、数据加密算法采用128位的AES、MAC算法采用SHA。
dhe_rsa_aes_256_cbc_sha:密钥交换算法采用DHE RSA、数据加密算法采用256位的AES、MAC算法采用SHA。
exp_rsa_des_cbc_sha:满足出口限制的算法套件。密钥交换算法采用RSA、数据加密算法采用DES_CBC、MAC算法采用SHA。
exp_rsa_rc2_md5:满足出口限制的算法套件。密钥交换算法采用RSA、数据加密算法采用RC2、MAC算法采用MD5。
exp_rsa_rc4_md5:满足出口限制的算法套件。密钥交换算法采用RSA、数据加密算法采用RC4、MAC算法采用MD5。
rsa_3des_ede_cbc_sha:密钥交换算法采用RSA、数据加密算法采用3DES_EDE_CBC、MAC算法采用SHA。
rsa_aes_128_cbc_sha:密钥交换算法采用RSA、数据加密算法采用128位AES_CBC、MAC算法采用SHA。
rsa_aes_256_cbc_sha:密钥交换算法采用RSA、数据加密算法采用256位AES_CBC、MAC算法采用SHA。
rsa_des_cbc_sha:密钥交换算法采用RSA、数据加密算法采用DES_CBC、MAC算法采用SHA。
rsa_rc4_128_md5:密钥交换算法采用RSA、数据加密算法采用128位的RC4、MAC算法采用MD5。
rsa_rc4_128_sha:密钥交换算法采用RSA、数据加密算法采用128位的RC4、MAC算法采用SHA。
【使用指导】
为了提高安全性,SSL协议采用了如下算法:
· 数据加密算法:用来对传输的数据进行加密,以保证数据传输的私密性。常用的数据加密算法通常为对称密钥算法,如DES_CBC、3DES_EDE_CBC、AES_CBC、RC4等。使用对称密钥算法时,要求SSL服务器端和SSL客户端具有相同的密钥。
· MAC(Message Authentication Code,消息验证码)算法:用来计算数据的MAC值,以防止发送的数据被篡改。常用的MAC算法有MD5、SHA等。使用MAC算法时,要求SSL服务器端和SSL客户端具有相同的密钥。
· 密钥交换算法:用来实现密钥交换,以保证对称密钥算法、MAC算法中使用的密钥在SSL服务器端和SSL客户端之间安全地传递。常用的密钥交换算法通常为非对称密钥算法,如RSA。
通过本命令可以配置SSL客户端策略支持的算法组合。例如,rsa_des_cbc_sha表示SSL客户端支持的密钥交换算法为RSA、数据加密算法为DES_CBC、MAC算法为SHA。
SSL客户端将本端支持的加密套件发送给SSL服务器,SSL服务器将自己支持的加密套件与SSL客户端支持的加密套件比较。如果SSL服务器支持的加密套件中存在SSL客户端支持的加密套件,则加密套件协商成功;否则,加密套件协商失败。
多次执行本命令,最后一次执行的命令生效。
【举例】
# 配置SSL客户端策略支持的加密套件为:密钥交换算法采用RSA、数据加密算法采用128位AES_CBC、MAC算法采用SHA。
<Sysname> system-view
[Sysname] ssl client-policy policy1
[Sysname-ssl-client-policy-policy1] prefer-cipher rsa_aes_128_cbc_sha
【相关命令】
· ciphersuite
· display ssl client-policy
server-verify enable命令用来配置对服务器端进行基于数字证书的身份验证。
undo server-verify enable命令用取消对服务器端进行基于数字证书的身份验证,默认SSL服务器身份合法。
【命令】
server-verify enable
undo server-verify enable
【缺省情况】
SSL客户端需要对SSL服务器端进行基于数字证书的身份验证。
【视图】
SSL客户端策略视图
【缺省用户角色】
network-admin
【使用指导】
SSL通过数字证书实现对对端的身份进行验证。数字证书的详细介绍,请参见“安全配置指导”中的“PKI”。
如果执行了server-verify enable命令,则SSL服务器端需要将自己的数字证书提供给客户端,以便客户端对服务器端进行基于数字证书的身份验证。只有身份验证通过后,SSL客户端才会访问该SSL服务器。
【举例】
# 配置SSL客户端需要对SSL服务器端进行基于数字证书的身份验证。
<Sysname> system-view
[Sysname] ssl client-policy policy1
[Sysname-ssl-client-policy-policy1] server-verify enable
【相关命令】
· display ssl client-policy
session命令用来配置SSL服务器上缓存的最大会话数目和SSL会话缓存的超时时间。
undo session命令用来恢复缺省情况。
【命令】
session { cachesize size | timeout time } *
undo session { cachesize | timeout } *
【缺省情况】
SSL服务器上缓存的最大会话数目为500个,SSL会话缓存的超时时间为3600秒。
【视图】
SSL服务器端策略视图
【缺省用户角色】
network-admin
【参数】
cachesize size:指定SSL服务器上缓存的最大会话数目。size为缓存的最大会话数目,取值范围为100~20480。
timeout time:指定SSL会话缓存的超时时间。time为会话缓存超时时间,取值范围为1~4294967295,单位为秒。
【使用指导】
通过SSL握手协议协商会话参数并建立会话的过程比较复杂。为了简化SSL握手过程,SSL允许重用已经协商出的会话参数建立会话。为此,SSL服务器上需要保存已有的会话信息。保存的会话信息的数目和保存时间具有一定的限制:
· 如果缓存的会话数目达到最大值,SSL将拒绝缓存新协商出的会话。
· 会话保存的时间超过设定的时间后,SSL将删除该会话的信息。
【举例】
# 配置SSL服务器上缓存的最大会话数目为600个,SSL会话缓存超时时间为1800秒。
<Sysname> system-view
[Sysname] ssl server-policy policy1
[Sysname-ssl-server-policy-policy1] session cachesize 600 timeout 1800
【相关命令】
· display ssl server-policy
ssl client-policy命令用来创建SSL客户端策略,并进入SSL客户端策略视图。如果指定的SSL客户端策略已经存在,则直接进入SSL客户端策略视图。
undo ssl client-policy命令用来删除指定的SSL客户端策略。
【命令】
ssl client-policy policy-name
undo ssl client-policy policy-name
【缺省情况】
不存在SSL客户端策略。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
policy-name:SSL客户端策略名,为1~31个字符的字符串,不区分大小写。
【使用指导】
SSL客户端策略视图下可以配置SSL客户端启动时使用的SSL参数,如使用的PKI域、支持的加密套件等。只有与应用层协议,如DDNS(Dynamic Domain Name System,动态域名系统),关联后,SSL客户端策略才能生效。
【举例】
# 创建SSL客户端策略policy1,并进入SSL客户端策略视图。
<Sysname> system-view
[Sysname] ssl client-policy policy1
[Sysname-ssl-client-policy-policy1]
【相关命令】
· display ssl client-policy
ssl renegotiation disable命令用来关闭SSL重协商。
undo ssl renegotiation disable命令用来恢复缺省情况。
【命令】
ssl renegotiation disable
undo ssl renegotiation disable
【缺省情况】
允许SSL重协商。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
关闭SSL重协商是指,不允许复用已有的SSL会话进行SSL快速协商,每次SSL协商必须进行完整的SSL握手过程。关闭SSL重协商会导致系统付出更多的计算开销,但可以避免潜在的风险,安全性更高。
通常情况下,不建议关闭SSL重协商。本命令仅用于用户明确要求关闭重协商的场景。
【举例】
# 关闭SSL重协商。
<Sysname> system-view
[Sysname] ssl renegotiation disable
ssl server-policy命令用来创建SSL服务器端策略,并进入SSL服务器端策略视图。如果指定的SSL服务器端策略已经存在,则直接进入SSL服务器端策略视图。
undo ssl server-policy命令用来删除指定的SSL服务器端策略。
【命令】
ssl server-policy policy-name
undo ssl server-policy policy-name
【缺省情况】
不存在SSL服务器端策略。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
policy-name:SSL服务器端策略名,为1~31个字符的字符串,不区分大小写。
【使用指导】
SSL服务器端策略视图下可以配置SSL服务器启动时使用的SSL参数,如使用的PKI域、支持的加密套件等。只有与HTTPS等应用关联后,SSL服务器端策略才能生效。
【举例】
# 创建SSL服务器端策略policy1,并进入SSL服务器端策略视图。
<Sysname> system-view
[Sysname] ssl server-policy policy1
[Sysname-ssl-server-policy-policy1]
【相关命令】
· display ssl server-policy
ssl version ssl3.0 disable命令用来关闭SSL 3.0版本。
undo ssl version ssl3.0 disable命令用来恢复缺省情况。
【命令】
ssl version ssl3.0 disable
undo ssl version ssl3.0 disable
【缺省情况】
允许使用SSL 3.0版本。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
由于SSL 3.0版本存在一些已知的安全漏洞,当设备对系统安全性有较高要求时可以通过命令行关闭SSL 3.0版本。
对于SSL客户端,如果在系统视图下关闭了SSL 3.0版本,但在SSL客户端策略视图下配置使用SSL 3.0版本(通过命令version ssl 3.0),则该SSL客户端仍可使用SSL 3.0版本。
对于SSL服务器端,如果在系统视图下关闭了SSL 3.0版本,则SSL服务器端只能使用TLS 1.0版本,否则SSL服务器端自动采用对端设备采用的版本。
如果对端设备仅支持SSL 3.0版本,则为保持互通,本端设备不应关闭SSL 3.0版本,但为了提高安全性,建议对端设备尽快升级,以支持TLS 1.0版本。
【举例】
# 关闭SSL 3.0。
<Sysname> system-view
[Sysname] ssl version ssl3.0 disable
version命令用来配置SSL客户端策略使用的SSL协议版本。
undo version命令恢复缺省情况。
【命令】
version { ssl3.0 | tls1.0 }
undo version
【缺省情况】
SSL客户端策略使用的SSL协议版本为TLS 1.0。
【视图】
SSL客户端策略视图
【缺省用户角色】
network-admin
【参数】
ssl3.0:版本为SSL 3.0。
tls1.0:版本为TLS 1.0。
【使用指导】
如果使用本命令配置SSL协议版本为SSL 3.0,但在系统视图下关闭了SSL 3.0版本(通过命令ssl version ssl3.0 disable),则根据局部优先全局的原则,SSL客户端仍可使用SSL 3.0版本。
使用本命令配置SSL协议版本为TLS 1.0后,如果系统视图下开启了SSL 3.0版本(通过命令undo ssl version ssl3.0 disable),则客户端首先尝试使用TLS 1.0版本的协议连接服务器,若握手失败,则切换为SSL 3.0版本的协议继续尝试连接;如果系统视图下关闭了SSL 3.0版本,使用TLS 1.0版本的协议连接服务器失败后,不会切换为SSL 3.0版本的协议再连接。
因此,在对安全性要求较高的环境下,建议通过本命令配置SSL协议版本为TLS 1.0,并在系统视图下关闭SSL3.0版本。
多次执行本命令,最后一次执行的命令生效。
【举例】
# 配置SSL客户端策略使用的SSL协议版本为TLS 1.0。
<Sysname> system-view
[Sysname] ssl client-policy policy1
[Sysname-ssl-client-policy-policy1] version tls1.0
【相关命令】
· display ssl client-policy
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!