tls

docker远程访问TLS证书认证shell

ⅰ亾dé卋堺 提交于 2020-01-01 13:25:37
docker开启远程访问端口,防止非法访问 配置证书认证 配置防火墙或安全策略 #!/bin/bash # docker.tls.sh # 环境centos 7 ,root # 创建 Docker TLS 证书 ##########配置信息 Port=2376 Node=$(hostname) IP=$(ip add|sed -nr 's#^.*inet (.*)/[1-9].*(ens|eth).*$#\1#gp') PASSWORD="88888888" COUNTRY="CN" STATE="Shanghai" CITY="Shanghai" ORGANIZATION="Elven" ORGANIZATIONAL_UNIT="Dev" COMMON_NAME="$IP" EMAIL="228@elven.vip" ##########生成证书 # Generate CA key openssl genrsa -aes256 -passout "pass:$PASSWORD" -out "ca-key_$Node.pem" 4096 &>/dev/null # Generate CA openssl req -new -x509 -days 730 -key "ca-key_$Node.pem" -sha256 -out "ca_$Node.pem" -passin "pass

使用wireshark分析SSL/TLS

痴心易碎 提交于 2019-12-29 07:36:18
一、基本概念   SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。 TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。 SSL/TLS位于传输层和应用层之间,应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。 1、不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。 (1) 窃听风险(eavesdropping):第三方可以获知通信内容。 (2) 篡改风险(tampering):第三方可以修改通信内容。 (3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。 2、SSL/TLS协议是为了解决这三大风险而设计的,希望达到: (1) 所有信息都是加密传播,第三方无法窃听。 (2) 具有校验机制,一旦被篡改,通信双方会立刻发现。 (3) 配备身份证书,防止身份被冒充。 3、SSL/TLS协议的基本过程是这样的: (1)

SSL与TLS的区别

时光毁灭记忆、已成空白 提交于 2019-12-29 07:36:00
SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议 加密 层,最初是由网景公司(Netscape)研发,后被IETF(The Internet Engineering Task Force - 互联网工程任务组)标准化后写入(RFCRequest For Comments 请求注释),RFC里包含了很多互联网技术的规范! 起初是因为HTTP在传输数据时使用的是明文(虽然说POST提交的数据时放在报体里看不到的,但是还是可以通过抓包工具窃取到)是不安全的,为了解决这一隐患网景公司推出了SSL安全套接字协议层,SSL是基于HTTP之下TCP之上的一个协议层,是基于HTTP标准并对TCP传输数据时进行加密,所以HPPTS是HTTP+SSL/TCP的简称。 由于HTTPS的推出受到了很多人的欢迎,在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制(但是几乎和SSL3.0无差异),标准化后的IETF更名为TLS1.0(Transport Layer Security 安全传输层协议),可以说TLS就是SSL的新版本3.1,并同时发布“RFC2246-TLS加密协议详解”,如果想更深层次的了解TLS的工作原理可以去RFC的官方网站:www.rfc-editor.org,搜索RFC2246即可找到RFC文档! SSL连接过程

SSL/TLS 握手过程详解

好久不见. 提交于 2019-12-29 07:35:43
转自:http://www.jianshu.com/p/7158568e4867 我们知道,HTTP 协议都是明文传输内容,在早期只展示静态内容时没有问题。伴随着互联网的快速发展,人们对于网络传输安全性的要求也越来越高,HTTPS 协议因此出现。如上图所示,在 HTTPS 加密中真正起作用的其实是 SSL/TLS 协议。SSL/TLS 协议作用在 HTTP 协议之下,对于上层应用来说,原来的发送接收数据流程不变,这就很好地兼容了老的 HTTP 协议,这也是软件开发中分层实现的体现。 SSL/TLS 握手是为了安全地协商出一份对称加密的秘钥,这个过程很有意思,下面我们一起来了解一下。 以下内容需要你对加解密、数字签名和数字证书的概念有一定了解,这里 有一篇文章 可以帮你快速了解这几个概念。 SSL/TLS 握手过程 上图大致描述了 SSL/TLS 的握手过程,但缺少了一些信息不利于理解,我会在后面的讲解里再列出来。 Client Hello 握手第一步是客户端向服务端发送 Client Hello 消息,这个消息里包含了一个客户端生成的随机数 Random1、客户端支持的加密套件(Support Ciphers)和 SSL Version 等信息。通过 Wireshark 抓包,我们可以看到如下信息: Wireshark 抓包的用法可以参考 这篇文章 Server Hello

Hyperledger Fabric 开启TLS调用Java SDK

好久不见. 提交于 2019-12-28 17:11:12
Hyperledger Fabric 开启TLS调用Java SDK 之前更新的Fabric 1.4.1+版本之后新增了 etcdRaft 共识机制,而且官方文档明确指定了如果使用该共识机制就必须开启 TLS ,所以之前通过关闭 TLS 调用SDK的方式就不好用了,并且Fabric 2.0版本抛弃了 solo , kafka 模式,也就是默认都使用 etcdRaft 共识了,所以记录一下如何开开启 TLS 的情况下使用 SDK . 在之前,本文是直接使用了 Fabric v2.0.0-beta 版本的环境,并且 JAVA SDK 版本也是直接用了 v2.0.0 的版本,所以如果 Fabric 以及 SDK 不会在正式版的 2.0.0 版本发生重大更新的话,本文的方案应该是可以满足 v2.0.0+ 版本的使用的。 先说一下运行环境: Hyperledger Fabric v2.0.0-beta Hyperledger Fabric-sdk-java v2.0.0-SNAPSHOT Java 1.8 本文分成两个部分: Hyperledger Fabric v2.0.0-beta 版本的安装 Hyperledger Fabric-sdk-java 的使用 1 安装2.0版本的Fabric 1.1 前提条件 这里是搭建 Fabric 环境之前需要(安装的工具和软件)完成的步骤: 只介绍

Docker私有云管理平台————Docker Shipyard

▼魔方 西西 提交于 2019-12-28 01:18:07
一、shipyard中文版安装(CentOS) 注:本文安装操作均在root用户下,安装前需先安装Docker ( 传送门 ) 下载所需docker镜像 docker pull rethinkdb docker pull microbox/etcd docker pull shipyard/docker-proxy docker pull swarm docker pull dockerclub/shipyard 下载官方脚本 wget https://shipyard-project.com/deploy 若下载失败请使用 wget https://raw.githubusercontent.com/shipyard/shipyard-project.com/master/site/themes/shipyard/static/deploy 或者直接创建文件,将内容复制进去 mkdir -p /usr/local/docker vi /usr/local/docker/deploy 完整脚本 #!/bin/bash if [ "$1" != "" ] && [ "$1" = "-h" ]; then echo "Shipyard Deploy uses the following environment variables:" echo " ACTION: this is the

Docker集中化web界面管理平台-Shipyard部署记录

旧街凉风 提交于 2019-12-28 01:10:57
Docker图形页面管理工具基本常用的有三种: DOCKER UI,Shipyard,Portainer 。对比后发现, Shipyard最强大,其次是Portainer,最后是Docker ui 。之前介绍了 DOcker的web管理工具DockerUI ,下面介绍下Docker的另一个web界面管理工具Shipyard的使用。Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具,包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等;Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。 DockerUI功能: 通过Web浏览器的命令行来管理的任务。 DockerUI的优点 1)可以对运行着的容器进行批量操作 2)在容器网络中-会显示容器与容器间的网络关系 3)在Volumes中显示了所有挂载目录 DockerUI一个致命的缺点:不支持多主机.试想一下,如果有N台docker主机时-我就需要一台台的用dockerui进行管理

在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

六眼飞鱼酱① 提交于 2019-12-25 03:33:01
一个老问题了,希望在知乎上有更加详细深入的回答,谢谢。 正文 这个问题出现在面试场合的概率,可能比其它问题都要高。 为了让更多读者理解这个问题,接下来派出男主角小明出场,采用拟人的手法来阐述整个过程。 小明听说最近两天知乎有一个帖子挺火,问题的提出者是腾讯的总裁 Pony Ma,有一个回答是这样的: 于是小明想去看看精彩评论,于是开始了网上冲浪之旅。。。 小明打开浏览器,输入zhihu.com敲回车键。 在小明眼里,浏览器是自己的小奴才,让你干啥就干啥。 浏览器才不这么看,鄙人也是有自己独立的人格的,老板的命令如果是对的,那自然照做。那如果是错误的,那就不能听命不是? 如果小明输入的是 “zhi hu.com” 或 “zhi@hu.com1”, 这些网址都是非法无效的,浏览器就要拒绝小明的无理要求,提示小明出错了。 所以,第一步是浏览器对用户输入的网址做初步的格式化检查,只有通过以上检查才会进入下一步。 浏览器是用http还是https访问服务器呢? 小明并没有明确告知浏览器是用哪个协议,针对此种情况,浏览器有自己的预案,那就是默认使用http协议,除非小明输入的是“ https://zhihu.com ”。 所以,小明输入的网址被浏览器补齐为“ http://zhihu.com ” 。 浏览器知道,TCP/IP快递公司那帮王八蛋,只有告诉它们收件人的IP地址

Ingress 对象

一笑奈何 提交于 2019-12-24 19:16:30
Ingress 介绍 在Kuberbetes中除了使用NodePort,LoadBalancer, Port Proxy(hostPort)等实现外部访问入口之外,还可以使用Kubernetes 自带的Ingress来实现服务的负载均衡和策略路由的工作,其本质相当于一个Nginx代理服务器,可以对请求(http)实现精细的控制。 Ingress 是可以利用 Nginx、Haproxy 等负载均衡器暴露集群内服务的工具, 使用Ingress可以配置一个用于外部访问的URL地址,同时实现流量负载,SSL,基于名称的虚拟主机(例如Nginx的upstream)等。用户通过发送POST请求到API server,来申请Ingress资源, Ingress控制器负责完成Ingress转发工作,通常会使用负载均衡,也可以配置边缘路由器或其他前端以帮助以HA方式处理流量。 在当前版本中,Ingress处于测试版本,在使用Ingress时,需要先创建Ingress Contronller. 创建Ingree Controller 参考链接 在Kubernetes中,Ingress Controller将以Pod的形式运行,监控apiserver的 ingress接口后端的backend services,如果service发生变化,则Ingress Controller 应自动更新其转发规则。

NSQ

主宰稳场 提交于 2019-12-24 14:14:44
NSQ NSQ介绍 NSQ 是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异。 NSQ的优势有以下优势: NSQ提倡分布式和分散的拓扑,没有单点故障,支持容错和高可用性,并提供可靠的消息交付保证 NSQ支持横向扩展,没有任何集中式代理。 NSQ易于配置和部署,并且内置了管理界面。 NSQ的应用场景 通常来说,消息队列都适用以下场景。 异步处理 参照下图利用消息队列把业务流程中的非关键流程异步化,从而显著降低业务请求的响应时间。 应用解耦 通过使用消息队列将不同的业务逻辑解耦,降低系统间的耦合,提高系统的健壮性。后续有其他业务要使用订单数据可直接订阅消息队列,提高系统的灵活性。[nsq应用场景1] 流量削峰 类似秒杀(大秒)等场景下,某一时间可能会产生大量的请求,使用消息队列能够为后端处理请求提供一定的缓冲区,保证后端服务的稳定性。 安装 官方下载页面 根据自己的平台下载并解压即可。 NSQ组件 nsqd nsqd是一个守护进程,它接收、排队并向客户端发送消息。 启动 nsqd ,指定 -broadcast-address=127.0.0.1 来配置广播地址 ./nsqd -broadcast-address=127.0.0.1 如果是在搭配 nsqlookupd 使用的模式下需要还指定 nsqlookupd 地址: ./nsqd -broadcast-address