小编Leo*_*lho的帖子

如何在 MySQL 5.7 服务器上禁用 ssl 插件?

MySQL 服务器上新引入的 SSL 连接现在默认安装在 CentOS 6.7 默认代表上。

只需删除证书文件就可以使用 Docs 解决它:

“如果服务器在数据目录中找不到有效的证书和密钥文件,它会继续执行,但不会启用安全连接。” 参考:http : //dev.mysql.com/doc/refman/5.7/en/secure-connections.html

但是我想完全禁用 MySQL 服务器上的 SSL 连接插件,因为我想通过删除所有我没有使用的东西来优化 MySQL 服务器的性能,这包括这个插件。

如何在 MySQL 社区服务器上禁用 SSL?

mysql centos

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

如何禁用缩写 SSL 握手以在每次调用 lighttpd 时执行完整握手?

我了解 ssl 握手流程,但我面临逻辑问题。当用户选择证书时,我需要根据应用程序对其进行验证,以了解其是否可靠并与任何系统用户匹配。但如果没有,我必须允许用户再次要求选择另一个。也许用户在他们的机器上安装了多个证书并错误地选择了错误的证书。

在我的实际场景中,要选择另一个证书,用户必须关闭浏览器并再次打开,但它会给用户体验带来负面影响,我想改进它。

该解决方案对每个请求都进行一次握手,因此它允许用户选择另一个请求。

但是怎么做呢?

我发现的最相关的问题是https://security.stackexchange.com/questions/56623/avoiding-ssl-handshake-for-each-call

  • 完整的握手是一个什么样的客户端和服务器做的时候,他们不知道对方(他们以前从来没有聊过,或者说是很久以前)。在完全握手中,发送证书,并发生非对称加密(RSA、Diffie-Hellman...)。
  • 缩写握手是什么客户端和服务器记住对方; 更准确地说,他们记住了他们在之前的完全握手中建立的算法和密钥,并同意重用它们(从技术上讲,他们重用“主秘密”并从中派生出用于此连接的新加密密钥)。

我可以释放任何 cookie,关闭选项卡并禁用保持活动状态,第二次握手不会打开证书提示。它使用的是先前选择的,例如对于 chrome,没有“记住我的决定”选项,Firefox 有。Edge、Opera、Edge 等也会发生同样的情况。它是标准吗?

我猜,它可以由服务器端控制,请求一个新的 SSL 握手。我做了一些干预尝试自己解决它,但没有成功

  • 在客户端

    • 清除所有数据,甚至历史记录。
    • 在另一个子域中打开 cookieless
  • 在服务器端

    • 发送“连接:关闭”标头
    • 禁用保持活动

关闭浏览器是唯一对新 SSL Handshake 有效的方法,但它会带来糟糕的用户体验。

好吧,如果我正在清除浏览器中的所有数据,关闭连接,删除任何活动的数据,并且在我关闭浏览器(终止所有进程)之前它仍在使用第二个请求中选择的第一个证书,则有问题,或者使用浏览器(全部)或服务器。

如果我的应用程序使用 SSL 对用户进行身份验证,我不能在不关闭浏览器的情况下使用多次登录,这是不对的,它应该有办法重新协商此身份验证。

ssl lighttpd php-fpm ssl-certificate

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

lighttpd 上的错误“SSL3_GET_CLIENT_CERTIFICATE:peer 没有返回证书”

我正在使用有效的证书,但无法获得客户端证书。lighttpd 服务失败并出现错误:

(connections-glue.c.200) SSL: 1 错误:140890C7:SSL 例程:SSL3_GET_CLIENT_CERTIFICATE:peer 没有返回证书

我的配置是这样的:

$SERVER["socket"] == ":443" {
            protocol     = "https://"
            ssl.engine   = "enable"
            ssl.disable-client-renegotiation = "enable"



            #server.name = "mywebsite.com"
            ssl.pemfile               = "/etc/lighttpd/ssl/mywebsite.com.pem"
            ssl.ca-file               = "/etc/lighttpd/ssl/mywebsite.com.csr"


            ssl.ec-curve              = "secp384r1"
            ssl.use-sslv2 = "disable"
            ssl.use-sslv3 = "disable"
            ssl.honor-cipher-order    = "enable"
            ssl.cipher-list           = "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS"

            # HSTS(15768000 seconds = 6 months)
            #setenv.add-response-header  = (
            #   "Strict-Transport-Security" => "max-age=15768000;"
            #)

            #ask for client cert
            ssl.verifyclient.exportcert = "enable" 
            ssl.verifyclient.activate   = "enable" 
            ssl.verifyclient.username   = "SSL_CLIENT_S_DN_CN" 
            ssl.verifyclient.enforce    = "enable" 
            ssl.verifyclient.depth      = 3
        } …
Run Code Online (Sandbox Code Playgroud)

ssl lighttpd ssl-certificate ssl-certificate-errors

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