标签: ssl

certutil:功能失败:安全库:数据库错误

当我使用certutil它时返回此错误:certutil: function failed: security library: bad database.

例如,我无法列出证书或密钥

我怎样才能解决这个问题?

ssl centos ssl-certificate private-key public-key

17
推荐指数
2
解决办法
5万
查看次数

如何禁用 SSLv2 或 SSLv3?

任何人都知道如何禁用某些 SSL 版本并仅在 IIS 7.5 中启用其他版本?

ssl iis-7.5

17
推荐指数
3
解决办法
4万
查看次数

让我们通过 HTTPS 加密 certbot 验证

来自Certbot webroot 插件的文档

webroot 插件通过为您请求的每个域创建一个临时文件来工作${webroot-path}/.well-known/acme-challenge然后让我们加密验证服务器发出 HTTP 请求,以验证每个请求域的 DNS 是否解析为运行 certbot 的服务器。

在私人使用的家庭服务器上,我禁用了端口 80,即路由器中没有启用端口转发。我无意打开那个端口。

如何告诉 certbot 验证服务器不应发出 HTTP 请求,而是发出 HTTPS(端口 443)请求来验证域的所有权?

验证服务器甚至不需要验证主服务器的证书,因为它默认已经使用 HTTP。我可能有一个自签名证书,或者需要续订的证书,但这应该无关紧要。

目前我处于需要启用端口 80 转发以及其上的服务器以创建/更新证书的情况。这不允许我使用 cronjob 来更新证书。好吧,只要有足够的工作就可以了,但是我已经有一台服务器在监听 443,它也可以完成这项工作。

ssl lets-encrypt

17
推荐指数
1
解决办法
8019
查看次数

在 Windows 10 上删除易受攻击的密码会破坏传出的 RDP

由于运行 RDP 的 Windows 10 机器,TrustWave 的漏洞扫描程序扫描失败:

块大小为 64 位的块密码算法(如 DES 和 3DES)生日攻击称为 Sweet32 (CVE-2016-2183)

注意:在运行 RDP(远程桌面协议)的 Windows 7/10 系统上,应该禁用的易受攻击的密码标记为“TLS_RSA_WITH_3DES_EDE_CBC_SHA”。

使用 IIS Crypto(由 Nartac),我尝试应用“最佳实践”模板以及 PCI 3.1 模板,但是它们都包含不安全的密码(TLS_RSA_WITH_3DES_EDE_CBC_SHA):

密码屏幕

如果我禁用此密码,RDP该计算机到许多Windows站停止工作(它仍然有效一些2008 R2和2012 R2服务器)。RDP 客户端简单地给出“发生内部错误”和事件日志:

创建 TLS 客户端凭据时发生致命错误。内部错误状态为 10013。

我检查了其中一台服务器的服务器事件日志,看到了这两条消息

从远程客户端应用程序接收到 TLS 1.2 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。SSL 连接请求失败。

生成了以下致命警报:40。内部错误状态为 1205。

如何在不破坏传出 RDP 的情况下修复安全漏洞?

或者,如果上述方法是不可能的,我是否可以在我无法再连接到的每台 RDP 主机上做一些事情来处理它?

---更新 # 1 ---

在 Windows 10 机器上禁用 TLS_RSA_WITH_3DES_EDE_CBC_SHA 后,我尝试连接到多个 RDP 主机(其中一半因“内部错误...”而失败)。所以,我比较了这些主机中的一个,我可以连接到一个打击,我无法连接。两者都是 2008 R2。两者都具有相同的 RDP 版本(6.3.9600,支持 RDP 协议 8.1)。

我通过使用 IIS Crypto 在当前设置上执行“保存模板”来比较 …

security windows ssl rdp

17
推荐指数
1
解决办法
5万
查看次数

为什么不通过 DNS 记录而不是 letencrypt 来验证自签名证书

我只是想知道。我们使用了很多 SSL 证书。如今,我们几乎只使用letsencrypt(谢谢!)。这些证书的底线是,证书上域名的所有权证明来自操纵这些域下的 DNS 记录或网站的权力。DNS 证明来自向 DNS 添加一些密钥(由letsencrypt 提供)作为 TXT 记录。

那么,如果足以证明能够更改域的 DNS 记录,为什么不使用带有 DNS 指纹的自签名证书呢?

我会说这与基于 DNS 的 letencrypt(和其他 CA)过程完全相同的信任度:

  1. 创建一个自签名 CA(只需按照各种操作方法的步骤操作即可)
  2. 为某些域创建证书
  3. 使用步骤 1 中的 CA 对步骤 2 中的证书进行签名。您现在拥有一个基本证书,由不受信任的 CA 签名
  4. 将 TXT(或专用)记录添加到每个域的 DNS,声明:我们使用此 CA 签署了该域的证书。像:'CA=-CA-的指尖'
  5. 浏览器下载证书并通过将 CA/CA 证书的指纹与给定域的 DNS 中的数据进行比较来验证它。

这将使创建不受第三方干扰的可信自签名证书成为可能,与任何基本 SSL 证书的信任级别相同。只要您可以访问 DNS,您的证书就是有效的。甚至可以添加一些 DNSSEC 之类的加密,从 CA 和 SOA 记录中生成散列,以确保信任在 DNS 记录中的更改时消失。

以前有没有考虑过这个问题?

杰尔默

domain-name-system ssl certificate-authority self-signed-certificate lets-encrypt

17
推荐指数
2
解决办法
2780
查看次数

HTTPS 不适用于 Safari

我有一个 EC2 实例,Apache 作为网络服务器(和 Wildfly 作为应用服务器,虽然我不确定它与这个问题有什么关系)。在 EC2 前面,我有一个负载均衡器,它终止 HTTPS 并应用 SSL 证书。

HTTP 和 HTTPS 在 Chrome 中都可以正常工作,但不幸的是在 Safari 中不行。访问http://test.papereed.com工作正常,但访问https://test.papereed.com会出现错误

"Safari can't open the page. The error is "The operation couldn't be completed. Protocol error" (NSPOSIXErrorDomain:100)"
Run Code Online (Sandbox Code Playgroud)

我查看了 /etc/httpd/logs/error_log 和 /etc/httpd/logs/access_log 以及 Safari 控制台,但没有找到解决问题的任何提示。这就是我的知识有多远:-( 任何有关如何追踪此问题的提示将不胜感激。

ssl https safari

17
推荐指数
1
解决办法
1万
查看次数

升级到 Ubuntu 20.04 后无法连接 MySQL(错误 2026)

将我的工作站升级到 Ubuntu 20.04 LTS 后,我无法连接到在 CentOS 7 服务器上运行的 MySQL 5.7.27。我使用命令进行连接mysql -h <server_ip> -u <user_name> -p,输入密码后出现错误 2026:

ERROR 2026 (HY000): SSL connection error: error:1425F102:SSL
routines:ssl_choose_client_version:unsupported protocol
Run Code Online (Sandbox Code Playgroud)

我还尝试使用 mysqldump 获取数据库数据,但最终出现了类似的错误。我想可能在工作站升级后 mysql 客户端不支持旧协议,所以我使用 ssh 登录服务器,从服务器的 shell 访问 mysql 并查看支持哪些协议

mysql> SHOW GLOBAL VARIABLES LIKE 'tls_version';
+---------------+---------------+
| Variable_name | Value         |
+---------------+---------------+
| tls_version   | TLSv1,TLSv1.1 |
+---------------+---------------+
1 row in set (0,00 sec)
Run Code Online (Sandbox Code Playgroud)

有了这些信息,我尝试再次从工作站连接,这次指定了 TLS 版本

mysql -h <server_ip> --tls-version=TLSv1.1 -u <user_name> -p
mysql -h <server_ip> --tls-version=TLSv1 -u <user_name> -p …
Run Code Online (Sandbox Code Playgroud)

mysql ssl centos7 ubuntu-20.04

17
推荐指数
2
解决办法
1万
查看次数

如何为Apache2创建多域自签名证书?

我有一个小的私人网络服务器,我有几个虚拟主机。我知道不可能为每个单独的虚拟主机分配一个证书,因为服务器仅在建立 SSL 连接后才发现请求哪个虚拟主机。但是是否可以拥有一个列出多个域的 SSL 证书?或者至少是一个通配符域,例如 *.example.com。如果是,我必须编写哪些 Linux 命令来制作这样的自签名证书?

补充:澄清 - 我只有一个 IP 地址用于所有虚拟主机。

ssl certificate virtualhost apache-2.2

16
推荐指数
2
解决办法
3万
查看次数

安全地连接到 MySQL - MySQL 的 SSL 与 Stunnel 与 SSH 隧道

我们有一个连接到 MySQL 服务器的 PHP 应用程序,我们希望保护 Web 和应用程序服务器与数据库之间的连接。

在高峰时段,Web 服务器与数据库建立数百个并发连接,并执行大量小型读取和写入。我知道这不是最佳选择,并且正在努力减少与此并行的数据库连接数。

我们目前没有打开与数据库的持久连接,虽然我们打算在将来启用它,但我想独立于它实现它。

硬件方面 - MySQL 服务器和 Web 服务器一样非常笨重(16 核)。他们是专用服务器。

然后,我的问题围绕着保护和加密与数据库服务器的连接的最高效方法。

到目前为止,我的研究表明,主要的性能开销是设置 SSL 连接 - 一旦连接 SSL,性能损失很小。这是我对每种保护连接的方法的了解:

  1. MySQL SSL 证书 - 就像普通 SSL 一样工作。可以使用客户端证书来防止未经授权的连接。与我们现有的设置没有持久连接。仍然必须让 MySQL 侦听防火墙上的开放端口。
  2. 窒息。设置端口到端口的 ssl 隧道。不必重新配置 MySQL。可以关闭正常的 MySQL 监听端口,防止恶意的 MySQL 连接尝试。不支持持久连接。未知的性能命中。
  3. SSH 隧道。在客户端和服务器之间创建 SSH 隧道。不必重新配置 MySQL。可以关闭正常的 MySQL 监听端口,防止恶意的 MySQL 连接尝试。支持持久连接,但有时会掉线。未知的性能命中。

这是我所能得到的。我知道基准测试的局限性 - 根据我运行它们的经验,很难模拟真实世界的流量。我希望有人根据他们自己保护 MySQL 的经验提出一些建议?

谢谢

mysql ssl ssh-tunnel stunnel

16
推荐指数
1
解决办法
6735
查看次数

Tomcat可以在不重新启动的情况下重新加载其SSL证书吗?

我有一个后台进程,可以更新 Tomcat 用于其 SSL 凭据的密钥库。我希望能够让 Tomcat 自动重新加载它,而无需手动重启。

是否可以在不重新启动的情况下让 Tomcat 重新加载它,或者是否可以通过编程方式来代替它?

ssl tomcat

16
推荐指数
3
解决办法
2万
查看次数