tls

TLS/SSL 梳理

情到浓时终转凉″ 提交于 2020-03-16 03:16:16
数据加密通篇都是为了防止第三方的劫持伪造,保证连接安全, 毫无遮掩的明文传输只有民风淳朴的时候才是安全的。 先是一些基础的内容: 对称加密 最开始为了对数据进行加密,使用的是对称加密算法,即双方协商好一个密钥,传输的时候使用这个密钥对数据进行加密和解密,但是这个密钥当然不能使用网络传输,不然同样被第三方劫持就没有意义了,所以只能私下协商交换密钥。 最开始的DES(Data Encryption Standard)对称加密算法使用的是56bit的密钥,这个密钥稍微有点短,在后来完全可以暴力破解加密信息,对于56位的密码,只需要2的56次方就可以暴力穷举。 然后又有了新的算法,triple—DES也交3DES,三重加密算法,最高168位密钥,还有AES,以前搭梯子的时候经常能见到,最高256bit密钥,安全性和速度都很出色。 但是,和谁通信都私下传密钥明显不现实,于是就有了 非对称加密 各自有个私钥,使用公钥传输,全程只暴露公钥,具体过程: A先用自己的私钥加密数据,然后传递公钥和密文给B,B可以用自己的私钥解密 (在一篇文章中提到,使用私钥加密的是hash值,而数据本身是明文的,因为使用密钥加密任意的数据内容存在风险,比如可以刻意的上传一些特定的数据在下载下来,从而破解得到密钥(如RSA),对数据只是payload,所以文章中的逻辑是这样的:A用自己的私钥加密hash

Fabric CA/数字证书管理

為{幸葍}努か 提交于 2020-03-15 16:32:54
MSP(Membership Service Provider)成员管理服务提供商 名词: 1。CSR(Cerificate Signing Request):证书签署请求文件 CSR里包含申请者的 DN(Distinguished Name,标识名)和公钥信息(在第三方机构签署证书时要提供)。 证书颁发机构拿到 CSR 后使用其根证书私钥对证书进行加密并生成 CRT 证书文件,里面包含证书加密信息、申请者的 DN 、公钥信息。 一。概述 说明: MSP是Hyperledger Fabric1.0引入的一个组件。目的:抽象化各成员之间的控制结构关系。(MSP将证书颁发/用户认证/后台加密机制和协议都进行了抽象) 每个MSP可定义自己规则:身份认证/签名的生成/认证。 每个Hyperledger Fabric 1.0区块链网络可引入一个/多个MSP来进行网络管理。(即将成员本身和成员间操作、规则、流程都模块化) 1。成员身份是基于标准的x.509证书。利用PKI体系为每个成员颁发数字证书。结合所属MSP进行身份认证和权限控制。 2。根CA证书(Root Certificate): 【1】自签名证书 【2】用根CA证书私钥签名的证书还可签发新的证书 3。中间CA证书(Intermediate Certificate) 【1】由其他CA证书签发 【2

Lync 登陆过程

旧巷老猫 提交于 2020-03-13 20:48:03
Lync2010客户端内外网登陆时寻找DNS记录的过程: 1._sipinternaltls._tcp.contoso.com (内部传输层TLS连接需要的SRV记录) 2._sipinternal._tcp.contoso.com (内部TCP连接需要的SRV记录) 3._sip._tls.contoso.com (外部TCP连接需要的SRV记录) 4.sipinternal.contoso.com (指向前端池的A记录) 5.sip.contoso.com (内网是指向前端池的A记录,外网时指向边缘Access服务的A记录) 6.sipexternal.contoso.com (外网时指向边缘Access服务的A记录) 当内外用户登录时,按这个顺序寻找DNS记录,找到其中任意一条后就会发送到指向的服务器进行验证。而当外网用户登录时,顺序还是一样,只不过外网用户无法找到前两条DNS记录,所以会跳到第三条记录开始登陆。 Lync2013客户端内外网登陆时寻找DNS记录的过程: 1.lyncdiscoverinternal.contoso.com (自动发现指向内部Web服务的A记录) 2.lyncdiscover.contoso.com (自动发现指向外部Web服务的A记录) 3._sipinternaltls._tcp.contoso.com (内部TLS连接需要的SRV记录)

【HTTPS】TLS/SSL握手失败的场景分析

喜欢而已 提交于 2020-03-12 13:33:56
0.背景知识 TLS/SSL握手的过程参考 SSL握手过程图解 1.常见报错 1.1 SSLHandshakeException handshake_failure 1.1.1 TLS/SSL协议版本不匹配 自从TLS 1.2版本在2008年发布以来,服务器处于安全性考虑通常也只支持较高版本TLS,比如 TLS1.2 及以上,如果这些客户端用低版本TLS/SSL向服务器发起握手,会因为服务器不支持而直接失败。 如JDK1.6就是用TLS1.0,访问使用 TLS1.2 的服务端就会报错,可以升级JDK1.8,默认使用1.2 1.1.2 cipher suite加密算法套件不匹配 服务器出于安全性考虑通常只会支持安全性较高的cipher,所以当客户端发过去的cipher suite安全性都比较低时会造成协商握手失败。 具体解决请戳 1.2 证书问题 1.2.1.客户端Bad Certificate 双向认证,不仅客户端要验证服务器证书,服务器也需要验证 客户端证书 。在服务器验证客户端证书的过程中,由于客户端证书证书链校验不通过,可能会直接产生Fatal Alert,导致握手直接中断。 解决方案:使用著名CA签发(如CFCA等)的客户端证书,如果可联系服务端开发可直接将自己的客户端证书放置在其信任列表汇总。 1.2.2 服务端 Certificate Validation

配置安全web服务

南楼画角 提交于 2020-03-11 09:12:20
为站点 http://system1.group8.example.com 配置TLS加密: 1、一个已签名证书从 http://server.group8.example.com/pub/tls/certs/system1.crt 获取 2、此证书的密钥从 http://server.group8.example.com/pub/tls/private/system1.key 获取 3、此证书的签名授权信息从 http://server.group8.example.com/pub/tls/certs/ssl-ca.crt 获取 答: 再system1上执行: 1、安装 ssl 模块 yum install mod_ssl -y 2、修改配置文件 vim /etc/httpd/conf.d/httd-vhosts.conf <VirtualHost *:80> DocumentRoot "/var/www/html" ServerName system1.group8.example.com <Directory "/var/www/html"> <RequireAll> Require all granted Require not host .my133t.org </RequireAll> </Directory> SSLEngine on SSLProtocol all

EtherNet/IP&CIP协议 &TLS的Scyther截图

依然范特西╮ 提交于 2020-03-07 11:04:07
1、CIP协议使用个的安全机制 TLS和DTLS协议 TLS在传输层对网路连接加密,其优势在于他与应用层协议独立无关性、高层协议能够透明的建立在TLS协议之上。TLS协议在应用层协议通信之前就已经完成加密算法,通信秘钥的协商,以及服务器认证工作、在此之前之后应用层协议所传送的数据都会被加密。TLS协议只要功能包括客户认证,服务器认证和加密连接 由于书卷加密之后没有任何的规律,如果对数据进行压缩的话将不会有任何的效果,甚至还会增加数据的长度,因此必须在加密数据之前对数据进行压缩、 2、CIP的安全机制TLS形式化分析 (Scyther分析的时候内存必须保证4G以上) macro CERT-b = { b,pk(b) }sk(Terence); macro CERT-a = { a,pk(a) }sk(Terence); macro MSG = a,na,sid,pa,pb,nb,sid,pb,CERT-a,CERT-b,{pms}pk(b); macro M = hash(pms,na,nb); macro F = hash(M,MSG); macro CLIENTK = hash(sid,M,na,pa,a,nb,pb,b,false); macro SERVERK = hash(sid,M,na,pa,a,nb,pb,b,true); usertype Params, Bool,

一文搞懂 Traefik2.1 的使用

僤鯓⒐⒋嵵緔 提交于 2020-03-06 11:30:39
原文链接: 一文搞懂 Traefik2.1 的使用 一文搞懂 Traefik2.1 的使用 核心概念 安装 ACME 中间件 灰度发布 流量复制 TCP 简单 TCP 服务 带 TLS 证书的 TCP Traefik 是一个开源的可以使服务发布变得轻松有趣的边缘路由器。它负责接收你系统的请求,然后使用合适的组件来对这些请求进行处理。 除了众多的功能之外,Traefik 的与众不同之处还在于它会自动发现适合你服务的配置。当 Traefik 在检查你的服务时,会找到服务的相关信息并找到合适的服务来满足对应的请求。 Traefik 兼容所有主流的集群技术,比如 Kubernetes,Docker,Docker Swarm,AWS,Mesos,Marathon,等等;并且可以同时处理多种方式。(甚至可以用于在裸机上运行的比较旧的软件。) 使用 Traefik,不需要维护或者同步一个独立的配置文件:因为一切都会自动配置,实时操作的(无需重新启动,不会中断连接)。使用 Traefik,你可以花更多的时间在系统的开发和新功能上面,而不是在配置和维护工作状态上面花费大量时间。 核心概念 Traefik 是一个边缘路由器,是你整个平台的大门,拦截并路由每个传入的请求:它知道所有的逻辑和规则,这些规则确定哪些服务处理哪些请求;传统的反向代理需要一个配置文件,其中包含路由到你服务的所有可能路由,而

proftpd +mysql+ssl ,无法成功编译出mod_sql mod_sql_mysql 模

末鹿安然 提交于 2020-02-29 11:31:49
proftpd +mysql+ssl ,无法成功编译出mod_sql mod_sql_mysql 模块,内网yum 按的mysql 外网源码装的mysql,都不行,还是看官方文档的 http://www.proftpd.org/docs/contrib/mod_sql.html#Installation centos proftpd-1.3.5版本 1、内网yum mysql环境 # ./configure --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysq 2、外网源码mysql环境 ./configure --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/include/mysql --with-libraries=/usr/lib64/mysql --with-modules=mod_tls 求分析原因 已经解决: 编译的时候如果加了两个--with-modules 参数 --with-modules=mod_sql:mod_sql_mysql --with-modules=mod_tls ,它只取最后面的的那个,所有一般要编译几个模块都写在同一个--with-modules 后面

TLS使用指南(一):如何在Rancher 2.x中进行TLS termination?

时光总嘲笑我的痴心妄想 提交于 2020-02-27 10:51:23
引 言 这是一个系列文章,我们将在本系列中探索Rancher使用TLS证书的不同方式。TLS,安全传输层协议,是用于保护网络通信的加密协议。它是目前已经弃用的安全套接层(SSL)的继任者。 你可以从本系列中了解TLS如何集成到各种Rancher组件中以及如何准备环境以正确利用Rancher中的TLS。 为什么安全传输层协议(TLS)很重要? Rancher在任何地方都可以使用TLS。因此,在安装Rancher之前,确定TLS终止选项十分重要。 1、 确认你想要执行的TLS终止类型,有以下几种类型: 自签名,由Rancher终止(这是默认的) Let’s Encrypt,由Rancher终止 自带证书,由Rancher终止 外部TLS终止 2、 如果你选择了自带证书或外部TLS终止,那么请确保你有用于注册证书的CA证书的副本(仅需cert,不需要密钥)。Rancher在执行操作时需要这一文件。 3、 确保你知道Rancher要使用的主机名。这在安装之后不可更改。 建议你通过阅读文档来了解更多的细节: https://docs.rancher.cn/ 什么组件需要安全传输层协议 对于任何企业软件来说,你都需要在安装和使用之前确定特定的要求,包括存储要求、网络、在云端还是本地等等。在进行安装之前,你必须得明确回答这些问题。 对于Rancher来说,考虑因素之一是TLS

HTTPS中TLS/SSL的握手过程

半城伤御伤魂 提交于 2020-02-27 09:05:09
1,非对称加密技术 非对称加密算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey);公钥和私钥是成对出现的。 非对称加密例子:B想把一段信息传给A,步骤:1)A把公钥传给B;2)B拿到A的公钥并利用此密钥给信息加密;3)B把加密的信息传给A;4)A利用私有密钥对加密信息进行解密即可得到B想给自己的信息。 (这个过程叫做密码传输,即B把信息加密后传给A) 问题:如果有个捣乱的冒充B,也用A的公钥给一段信息加密,并传给A,A再私钥解密得到的信息就会误认为是B的。 要解决此问题,B需要给A传个验证信息,让A可以验证自己受到的信息是B传的。该验证信息即下面的数字摘要(数字指纹) 2,数字摘要技术 该技术主要利用了哈希函数的两个特性:1)单向性;2)计算结果位数固定 数字摘要是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。“数字摘要“是https能确保数据完整性和防篡改的根本原因。 3,数字签名技术 数字签名技术既利用了数字摘要(数字指纹)技术也利用了非对称加解密技术 。 数字签名过程 :1)B利用哈希函数得到上面传输信息的哈希值;2)B利用私钥给哈希值加密(注意:这里的非对称加密(私钥加密,公钥解密