服务器tls安全设置 tls安全设置win10
fabric之使用传输层安全性(TLS)保护通信安全
Fabric支持使用TLS在节点之间进行安全通信。 TLS通信可以使用单向(仅服务器)和双向(服务器和客户端)身份验证。
公司主营业务:做网站、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出蕲春免费做网站回馈大家。
peer节点既是TLS服务器又是TLS客户端。 当另一个peer节点,应用程序或CLI与其建立连接时,它是前者, 在与另一个peer节点或orderer建立连接时他是后者。
在peer节点上启用TLS,需要 设置以下属性:
默认情况下,peer点上启用TLS时,将关闭TLS客户端身份验证。 这意味着peer节点在TLS握手期间不会验证客户端(另一个peer节点,应用程序或CLI)的证书。 要在peer节点上启用TLS客户端身份验证,请将peer配置属性peer.tls.clientAuthRequired设置为true,并将peer.tls.clientRootCAs.files属性设置为包含CA证书链的CA链文件 为你的组织的客户颁发TLS证书。
通过设置以下环境变量,也可以启用具有客户端身份验证的TLS:
在peer节点上启用客户端身份验证时,客户端需要在TLS握手期间发送其证书。 如果客户端未发送其证书,则握手将失败,并且peer将关闭连接。
当peer加入通道时,从通道的配置块读取通道成员的根CA证书链,并将其添加到TLS客户端和服务器根CA数据结构中。 因此,peer对peer通信,peer对orderer通信应该无缝地工作。
要在orderer节点上启用TLS,请设置以下orderer配置属性:
默认情况下,在orderer上关闭TLS客户端身份验证,就像peer一样。 要启用TLS客户端身份验证,请设置以下配置属性:
通过设置以下环境变量,也可以启用具有客户端身份验证的TLS:
对启用TLS的peer节点运行peer CLI 命令时,必须设置以下环境变量:
如果在远程服务器上也启用了TLS客户端身份验证,则除上述变量外,还必须设置以下变量:
EMQ X 服务器 SSL/TLS 安全连接配置指南
EMQ X 内置对 TLS/DTLS 的支持,包括支持单双向认证、X.509 证书等多种身份认证和 LB Proxy Protocol V1/2 等。你可以为 EMQ X 支持的所有协议启用 TLS/DTLS,也可以将 EMQ X 提供的 HTTP API 配置为使用 TLS。本文以自签证书的方式介绍如何在 EMQ X 中为 MQTT 启用 TLS。
查看证书
查看证书
创建 Root CA 自签名证书的步骤与前文一致,不再赘述。
与前文类似,只不过需要将 Root CA 的信息替换成 Second CA 的。最后我们将得到以下文件:
Note: Client 既可以使用 root-cacert.pem 与 second-cacert.pem 合并后的 cacert.pem ,也可以使用 second-cacert.pem 。
假设你已经成功安装了 EMQ X,我们将之前生成的证书一并拷贝到 emqx/etc/certs 目录下:
然后修改 emqx.conf 配置如下:
启动 EMQ X 并将日志等级改为 Debug。
使用 openssl s_client 连接 EMQ X 并发送一个 Client ID 为 "a" 的 MQTT Connect 报文。
如果你在 emqx/log/erlang.log.1 中看到以下日志,说明 SSL 认证成功。
EMQ X 继续保持运行,编译并启动 emqtt 。
连接建立成功,可以正常订阅发布,SSL 单向认证测试通过。
EMQ X 继续保持运行,启动 mqtt.fx,参照下图完成配置:
**Note: **这里只能使用 second-cacert.pem 作为 CA Certificate。
点击 Connect 按钮,连接成功,并且可以正常订阅发布,SSL 双向认证通过。
修改 emqx.conf 配置如下:
启动 EMQ X 并将日志等级改为 Debug。
使用 openssl s_client 连接 EMQ X 并发送一个 Client ID 为 "a" 的 MQTT Connect 报文。
如果你在 emqx/log/erlang.log.1 中看到以下日志,说明 SSL 双向认证成功。
EMQ X 继续保持运行,启动 emqtt 。
连接建立成功,可以正常订阅发布,SSL 双向认证测试通过。
EMQ X 继续保持运行,启动 mqtt.fx,参照下图完成配置:
Note: CA File 可以使用 root-cacert.pem 与 second-cacert.pem 合并后的 cacert.pem ,也可以使用 second-cacert.pem 。
点击 Connect 按钮,连接成功,并且可以正常订阅发布,SSL 双向认证通过。
TLS安全通信
TLS其实是SSL,可能更正式的说法已经不用SSL了。TLS是一套基于非对称加密算法的安全传输协议,更严格来说,TLS先是通过非对称加密方式交换对称加密秘钥,然后采用对称加密算法进行安全传输。
非对称加密是这样的一把锁,有两把钥匙,任意一把钥匙可以把锁锁上,只有另一把钥匙才能将锁打开。这两把钥匙是成对的,可以互相解密。其中一把是公开的公钥,另一把是服务器持有的私钥。
任何人都可以用公钥加密一段消息发送给服务器,做到安全发送。另一方面,服务器可以用私钥加密一段消息,将消息明文和密文发送给接收者,以此证明自己的真实身份,这叫做签名。当然,现实中,是对消息的摘要进行签名加密,因为摘要比较小。
TLS的第一步,就是让发送者持有服务器的公钥。通常获得服务器公钥的方式,都是向服务器进行询问,然后由服务器明文发送过来的。为了保证这一步的安全性,确保明文发送过来的公钥没有被串改,我们又发明了证书。
证书由服务器名称信息和服务器公钥组成,然后加上证书签发机构CA和签发机构对前面信息的签名。改用证书机制后,服务器以明文发送自己的证书信息,使用者用CA的公钥验证证书签名,核对相关的服务器信息,然后就可以信任服务器的公钥了。
至于CA公钥的传递方式,一般是内置的或者通过实体进行传递。
一般服务器是不限制使用者访问的,所以服务器配置了证书和私钥,让发送者能够安全的从第一步开始建立加密通信机制。即使使用者不验证服务器证书,TLS仍旧是以加密方式进行,虽然安全度不是最高,但是屏蔽掉无聊的阿猫阿狗访问已经足够了。
更进一步,服务器可以配置双向认证,配置CA证书并要求认证使用者的证书。那么使用者在访问前就要配置由CA签发的个人证书和私钥,在第一步开始时把自己的证书和随机签名发过去让服务器进行认证。
使用双向认证的时候,通信的安全性已经足够高了:消息是加密的,并且不太容易在某个环节被串改,而使用者必须经过服务器用自己的CA签发授权证书后才能访问服务。
TLS的运用其实应该非常广,只要不是内网服务,而是向不安全的互联网公开的服务,并且在通信上没有使用任何加密手段,也没有特别有效的客户鉴权,都应该使用TLS。
比如有时候因为某种原因,不得不向互联网暴露mysql,redis或者其他开源软件的服务端口,这种大作死的行为,软件自带的脆弱的客户鉴权机制就跟杂草一样一踩就倒,已经是业界人尽皆知的情形。
如果能为这些开放的服务端口加上TLS双向认证通信,基本能把侵害排除99%了吧。那如何给这些服务增加TLS安全通信呢?
首先, 把公开的服务改成内网服务 。
第二, 在服务器和客户端之间配置TLS tunnel ,通过tunnel转发客户端和服务器之间流量。有很多TLS tunnel客户端可以使用,这种方式也不会对原系统造成任何改动,所谓各司其职。
当前文章:服务器tls安全设置 tls安全设置win10
文章分享:http://scyanting.com/article/dojeodh.html