Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.13.2.2. 在 GnuTLS 中使用 Cipher Suite

gnutls 是一个实现 SSLTLS 协议及相关技术的通信库。
注意
Red Hat Enterprise Linux 7 上的 GnuTLS 安装提供了最佳默认配置值,可为大多数用例提供足够的安全性。除非您需要满足特殊安全要求,否则建议使用提供的默认值。
使用 gnutls-cli 命令和 -l (或 --list)选项列出所有支持的加密套件:
~]$ gnutls-cli -l
要缩小 -l 选项显示的密码套件列表,传递一个或多个参数(称为 GnuTLS 文档中的优先级字符串和 关键字 )到 --priority 选项。有关所有可用优先级字符串的列表,请参阅 http://www.gnutls.org/manual/gnutls.html#Priority-StringsGnuTLS 文档。例如,使用以下命令获取至少 128 位安全性的密码套件列表:
~]$ gnutls-cli --priority SECURE128 -l
要获得满足 第 4.13.1 节 “选择 Algorithms 来启用” 中概述的建议的密码套件列表,请使用类似如下的命令:
~]$ gnutls-cli --priority SECURE256:+SECURE128:-VERS-TLS-ALL:+VERS-TLS1.2:-RSA:-DHE-DSS:-CAMELLIA-128-CBC:-CAMELLIA-256-CBC -l
Cipher suites for SECURE256:+SECURE128:-VERS-TLS-ALL:+VERS-TLS1.2:-RSA:-DHE-DSS:-CAMELLIA-128-CBC:-CAMELLIA-256-CBC
TLS_ECDHE_ECDSA_AES_256_GCM_SHA384                      0xc0, 0x2c      TLS1.2
TLS_ECDHE_ECDSA_AES_256_CBC_SHA384                      0xc0, 0x24      TLS1.2
TLS_ECDHE_ECDSA_AES_256_CBC_SHA1                        0xc0, 0x0a      SSL3.0
TLS_ECDHE_ECDSA_AES_128_GCM_SHA256                      0xc0, 0x2b      TLS1.2
TLS_ECDHE_ECDSA_AES_128_CBC_SHA256                      0xc0, 0x23      TLS1.2
TLS_ECDHE_ECDSA_AES_128_CBC_SHA1                        0xc0, 0x09      SSL3.0
TLS_ECDHE_RSA_AES_256_GCM_SHA384                        0xc0, 0x30      TLS1.2
TLS_ECDHE_RSA_AES_256_CBC_SHA1                          0xc0, 0x14      SSL3.0
TLS_ECDHE_RSA_AES_128_GCM_SHA256                        0xc0, 0x2f      TLS1.2
TLS_ECDHE_RSA_AES_128_CBC_SHA256                        0xc0, 0x27      TLS1.2
TLS_ECDHE_RSA_AES_128_CBC_SHA1                          0xc0, 0x13      SSL3.0
TLS_DHE_RSA_AES_256_CBC_SHA256                          0x00, 0x6b      TLS1.2
TLS_DHE_RSA_AES_256_CBC_SHA1                            0x00, 0x39      SSL3.0
TLS_DHE_RSA_AES_128_GCM_SHA256                          0x00, 0x9e      TLS1.2
TLS_DHE_RSA_AES_128_CBC_SHA256                          0x00, 0x67      TLS1.2
TLS_DHE_RSA_AES_128_CBC_SHA1                            0x00, 0x33      SSL3.0

Certificate types: CTYPE-X.509
Protocols: VERS-TLS1.2
Compression: COMP-NULL
Elliptic curves: CURVE-SECP384R1, CURVE-SECP521R1, CURVE-SECP256R1
PK-signatures: SIGN-RSA-SHA384, SIGN-ECDSA-SHA384, SIGN-RSA-SHA512, SIGN-ECDSA-SHA512, SIGN-RSA-SHA256, SIGN-DSA-SHA256, SIGN-ECDSA-SHA256
以上命令将输出限制为安全性至少 128 位的密码,同时优先选择较强大的密码。它还禁止 RSA 密钥交换和 DSS 身份验证。
请注意,这是一种非常严格的配置,可能需要在现实场景中宽松条件,以便能够与更广泛的客户端兼容。