AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1060506
Accepted
Elvex
Elvex
Asked: 2021-04-16 07:49:39 +0800 CST2021-04-16 07:49:39 +0800 CST 2021-04-16 07:49:39 +0800 CST

设置 MinProtocol 和 CipherString 后,是否应该在 openssl 上配置 Ciphersuites?

  • 772

当前的 OpenSSL 版本

OpenSSL 1.1.1d  10 Sep 2019 (Library: OpenSSL 1.1.1g  21 Apr 2020)

当前openssl.cnf配置

在文件的顶部

openssl_conf = default_conf

在文件的底部

[default_conf]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=1

没有Ciphersuites设置指令。

支持的密码列表与配置不同

但是,当我询问启用的密码时openssl ciphers -s -v,我得到的密码如下:

DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
ECDHE-ECDSA-AES128-SHA  TLSv1 Kx=ECDH     Au=ECDSA Enc=AES(128)  Mac=SHA1
ECDHE-RSA-AES128-SHA    TLSv1 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA1
DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1

我应该定义一个Ciphersuites设置,还是 openssl ciphers -s -v以某种方式不可靠?

文档

-s仅列出支持的密码:与安全级别、最小和最大协议版本一致的密码。

虽然 SecLevel 1 允许 SSLv3 和 TLSv1,但 MinProtocol 不允许。

资料来源:

  • https://www.openssl.org/docs/man1.1.1/man1/ciphers.html
  • https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_security_level.html
  • https://www.openssl.org/docs/man1.1.1/man3/SSL_CONF_cmd.html
ssl openssl cipher
  • 1 1 个回答
  • 3138 Views

1 个回答

  • Voted
  1. Best Answer
    dave_thompson_085
    2021-04-16T18:49:58+08:002021-04-16T18:49:58+08:00

    大多数密码套件与多个协议兼容。

    除了完全独立的 TLS 1.3 和已被破解数十年且 OpenSSL 1.1.0 (2016) 起不再实现的 SSL 2 之外,大多数 SSL/TLS 密码套件可以在多个协议版本中使用。按照时间顺序,SSL 3 中定义的所有密码套件,除了奇怪的政府密码套件 (Fortezza) 仍在 TLS 1.0 中使用,以及那些加上在/for 1.0 中定义的新密码套件(主要是 EC),但减去故意削弱的 ' export' 套件(在 2006 年已被弃用)仍在 1.1 中使用,它没有定义任何新套件。1.2 保留了 1.1 中的大部分套件,减去了在 2008 年之前被认为已损坏的单 DES,以及许多新套件(使用 AEAD 和/或 SHA2)。

    如SSL_CIPHER_description 的手册页中所述,该手册与密码相关:

    <protocol version>
    密码套件支持的最低协议版本,例如 TLSv1.2。请注意,这并不总是与首次定义密码套件的协议版本相同,因为某些密码套件向后兼容早期的协议版本。

    注意“最低”。DHE-RSA-AES256-SHA在 SSL3 TLS1.0 TLS1.1 和 TLS1.2 中都可以使用,所以它的最低版本是 SSL3。

    使用 1.2 中的旧套件不是首选或最佳实践,特别是因为使用 AEAD(首先是 GCM 和 CCM,然后是 ChaCha/Poly)的新套件至少在没有 encrypt-then-mac (RFC7366) 的情况下具有更好的安全属性它直到 2014 年才发布并且没有广泛实施,因为 AEAD 已经存在,但是 OpenSSL 允许并支持它,并且ciphers命令的输出反映了这一点。

    所以是的,如果您需要 1.2,您还可以将密码套件限制为 AEAD,而兼容性几乎没有降低(尽管有一些实现,例如 Java 7,支持 1.2,但仅适用于旧套件而不是新的 AEAD 套件)。

    • 2

相关问题

  • 如何使用 Tomcat 5.5 更新 SSL 证书

  • 为 IIS6 自行生成 SSL 证书?

  • plesk 上的域和子域 ssl 访问

  • 如何设置 SSL 邮件服务器?

  • 如何通过 SVN 命令行接受 SSL 证书?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve