根据 Ubuntu 的CVE-2022-0778,此版本应该解决 CVE。然而,当我查看 OpenSSL 版本时,我无法真正看出它是 1.1.1n。我确实看到它是在 3 月 9 日之前构建的:
那么,我怎么知道这真的是 1.1.1n 呢?
OpenSSL 1.1.1 11 Sep 2018
built on: Wed Mar 9 12:13:40 2022 UTC
platform: debian-amd64
options: bn(64,64) rc4(16x,int) des(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,
--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-vxXVMf/openssl-1.1.1=.
-fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE
-DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM
-DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM
-DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM …Run Code Online (Sandbox Code Playgroud) 这很奇怪,我昨天在我的一台目标机器上注意到它,今天它也发生在其余的机器上。我还尝试从另一台机器运行剧本,但发生了同样的事情。看来这个问题是在 Ubuntu 20.04 上 apt 升级后出现的。第一次 apt 升级完成时,一切都很好,但之后模块开始出现故障。
错误输出如下:
TASK [common : Update package manager] *************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: module 'lib
' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
fatal: [mr-bones]: FAILED! => changed=false
module_stderr: |-
Traceback (most recent call last):
File "<stdin>", line 107, in <module>
File "<stdin>", line 99, in _ansiballz_main
File "<stdin>", line 47, in invoke_module
File "/usr/lib/python3.8/runpy.py", line 207, in run_module
return _run_module_code(code, init_globals, run_name, …Run Code Online (Sandbox Code Playgroud) 我正在尝试从一台新的 RHEL9 服务器连接到一台较旧的 Centos 6 服务器,以将 SFTP 文件从旧服务器连接到新服务器以进行升级,但是当从 9 连接到 6 时,出现以下错误:
[ewessel@ftp ~]$ ssh -v ewessel@10.30.1.250
OpenSSH_8.7p1, OpenSSL 3.0.1 14 Dec 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/50-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: configuration requests final Match pass
debug1: re-parsing configuration
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/50-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: Connecting to 10.30.1.250 [10.30.1.250] port 22.
debug1: Connection established.
debug1: identity file /home/ewessel/.ssh/id_rsa type -1
debug1: identity …Run Code Online (Sandbox Code Playgroud) 我试图了解在服务器(而不是 AWS 负载均衡器后面的几台服务器)上安装 SSL 的正确流程。
https://www.digicert.com/easy-csr/openssl.htm提供了一个向导。我想确认我可以输入详细信息,运行 openssl 命令并收到两件事:
域名.csr 域名.key
然后我使用 csr 实际购买证书,并使用密钥进行签名。这样对吗?我错过了一块拼图吗?
我有一个完全打补丁的 CentOS 5.5 服务器,它没有通过 Trustwave PCI 合规性扫描。它抱怨的项目是 openssl < 0.9.8.o。
rpm -q openssl 显示:openssl-0.9.8e-12.el5_5.7
apache 标头横幅显示:服务器:Apache/1.3.41 (Unix) PHP/5.2.14 mod_psoft_traffic/0.2 mod_ssl/2.8.31 OpenSSL/0.9.8b mod_macro/1.1.2
(注意:那个 apache 横幅甚至没有显示已安装的版本)
openssh 和 php 有类似的情况(报告的版本低于 PCI 合规性的最小值)。
我是否需要从源代码构建所有这些库才能使它们使用最新版本?或者有没有办法告诉 CentOS yum 安装新版本而不是他们向后移植的补丁版本?如果可能的话,我宁愿不去 yum 之外,这样以后的维护将得到简化
我尝试生成自己的根 CA,有效期为 40 年,如下所示: openssl req -new -newkey rsa:4096 -x509 -days 10950 -extensions v3_ca -keyout myca.key -out myca.crt -config /etc/ssl/openssl.cnf
到目前为止一切顺利,最后让我们看一下证书openssl x509 -noout -text -in myca.crt:
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=DE, ST=Berlin, L=Berlin, O=Org, OU=Unit, CN=My Root CA/emailAddress=info@my.root.ca
Validity
Not Before: Jan 31 14:07:06 2012 GMT
Not After : Dec 18 07:38:50 1905 GMT
Run Code Online (Sandbox Code Playgroud)
为什么证书中的有效日期(不是日期之后)是错误的?可以做些什么来纠正这个问题?
一些测试表明,溢出发生在 2038 年 1 月的某个地方。
OpenSSL - Solaris - Windows
当我运行 c_rehash(Solaris 中的 OpenSSL 0.9.x)和 c_rehash(Windows 中的 OpenSSL 1.1.x)时,完全相同的 cert.pem 文件被转换为具有完全不同文件名的 .0 文件。
(Windows) cert.pem => 4e12356.0
(Solaris) cert.pem => 3e121e8.0
为什么是这样?无论我使用的是哪个版本的 OpenSSL,哈希值都不应该完全相同吗?
我们从 digicert 购买了通配符证书 (*.ourcompany.com)。我被要求建立一个系统,其中某些员工拥有自己的 SSL 证书,用于签署 PDF 等。
我的印象是我可以创建这些并使用我们的证书签署它们,使它们有效。然而,我所有的搜索都在寻找“代码签名证书”,这根本不是我们想要做的。我相信我们需要以某种方式提出证书签名请求,使用个人详细信息,然后签署该请求,但是我不确定如何这样做(特别是考虑到构成我们获得的证书的所有不同文件)。
这是我收到的:
|digicert/
|-star_ourcompany_com.csr
|-star_ourcompany_com.key
|-certs/
|--DigiCertCA2.crt
|--star_ourcompany_com.crt
|--TrustedRoot.crt
Run Code Online (Sandbox Code Playgroud)
任何人都可以阐明做到这一点的最佳方法吗?
当我尝试在我的 ubuntu 12.04 TLS 服务器上 Curl 一个 SSL 页面时,它不起作用:
不是 ssl 页面:
$ curl https://evernote.com/ -vv
[the entire webpage]
Run Code Online (Sandbox Code Playgroud)
ssl页面:
$ curl https://evernote.com/ -vv
* About to connect() to evernote.com port 443 (#0)
* Trying 204.154.94.73... connected
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to evernote.com:443
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to evernote.com:443
Run Code Online (Sandbox Code Playgroud)
这确实适用于我自己的机器(OS X)。 …
我正在尝试使用 nginx 网络服务器在 CentOS 中启用转发保密。
我尝试过的
我已经阅读了一些教程,似乎我们应该使用 nginx、openssl 最新版本来启用它。所以我从源代码安装了最新的 openssl。
sudo wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
sudo tar -xvzf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
sudo ./config --prefix=/usr/local
sudo make
sudo make install
Run Code Online (Sandbox Code Playgroud)
现在 OpenSSL 支持椭圆曲线密码 (ECDHE)。我也用 openssl s_server 对此进行了测试。它运作良好。
接下来,我用最新的替换了 Nginx。
sudo wget http://nginx.org/packages/centos/6/x86_64/RPMS/nginx-1.4.2-1.el6.ngx.x86_64.rpm
sudo rpm -e nginx
sudo rpm -ivh nginx-1.4.2-1.el6.ngx.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)
并按照此链接中的描述配置 Nginx
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+RC4:EDH+aRSA:EECDH:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
Run Code Online (Sandbox Code Playgroud)
http://baudehlo.wordpress.com/2013/06/24/setting-up-perfect-forward-secrecy-for-nginx-or-stud/
但是现在 Nginx 不支持 ECDHE 密码。它支持 DHE 密码。我试过只在 nginx 中启用 ECDHE 密码仍然不起作用。我正在使用最新的网络浏览器(chrome 29,它支持这种密码)
我错过了什么吗?或者 CentOS 或 Nginx 有问题?我在某处读到 ECC 专利与 CentOS 存在问题,这会导致问题吗?