K8s和etcd双向认证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8s和etcd双向认证相关的知识,希望对你有一定的参考价值。

参考技术A 单向认证有个弊端,客户端只能认证服务器端,这时客户端访问服务器可以不指定证书,于是就有了双向认证,即服务端也要认证客户端,此时客户端必须指定证书才能访问,安全性(仿冒、篡改、抵赖、信息泄露、拒绝服务、提权)更高。

K8s官方certification好像有三种生成ca.pem,server.pem,key.pem的方式,第一种忘了啥了,第二种是openssl,比较常用,第三种是cfssl,这种貌似在k8s圈里(包括etcd),比较流行。

nginx和iis下的SSL双向认证教程【ca 自签 ssl证书】

参考技术A 由于公司需求需要实现对nginx和iis服务的SSL双向认证,于是记录一下过程,我这边就没有去使用各大平台生成的SSL证书,而是自己生成证书。
其实不管是linux环境下的nginx,还是windows环境下的iis,都只需要使用openssl就可以生成对应的证书,从而完成SSL双向认证。

1.1 制作CA私钥

1.2 制作 CA 根证书(公钥)

2.1 生成服务端私钥

2.2 生成签发请求

2.3 用ca证书签发服务端证书(含公钥)

3.1 生成客户端私钥

3.2 生成签发请求

3.3 用ca证书签发客户端证书(含公钥)

导入证书

开启验证客户端

如果个人电脑没有导入客户端的证书,用浏览器访问可能会返回403,说没有SSL 客户证书。那我们只需要将上面步骤生成的client.p12导入到个人电脑中(密码就是生成证书时的密码),双击安装后,重启浏览器后进行访问,选择对应的证书就可以了。
如果想通过curl访问,可以执行下方语句

以上是关于K8s和etcd双向认证的主要内容,如果未能解决你的问题,请参考以下文章

PKI要求详解

SSL双向认证和单向认证的区别是啥?

k8s之user account

Go 实现 TLS 双向认证

k8s证书认证

不是很明白ssl双向认证和单向认证有啥区别吗?