如何使用商业证书代替 k8s 组件之间通信的 TLS 证书

2020-10-30 15:10:44 +08:00
 borivosky

大佬们,最近遇到这么个问题。公司的安全部门使用 Nessus Tenable SC 扫描了公司的服务器,扫出来 k8s 的那几台服务器的自签名证书是不安全的,违反了公司的安全策略(自建的 k8s 服务)。目前网上看到的都是官网的那一套 https://kubernetes.io/docs/concepts/cluster-administration/certificates/ 有没有大佬有用商业证书替换自签名证书的经验分享一下?

4710 次点击
所在节点    Kubernetes
24 条回复
no1xsyzy
2020-10-30 15:33:38 +08:00
商业证书怎么签给 kubernetes.default.svc.cluster.local 这个域名呢?怎么签给 private IP 呢?
AkideLiu
2020-10-30 15:41:55 +08:00
商业域名需要 dns 支持,域名真实存在,你这个上不了公网
kimqcn
2020-10-30 16:03:19 +08:00
内网没必要非得用商用设备证书,又不是给客户看,而且,贵!
非得用,可以使用 cn=ip 的设备证书替换。
国外的 CA (不考虑),国内的 CA,都有。
听说国内在搞统一的国家根设备证书。
borivosky
2020-10-30 16:43:46 +08:00
@no1xsyzy 因为对这块不熟,也不知道有没有实现的可能性,所以想来问问。
borivosky
2020-10-30 16:46:18 +08:00
@kimqcn 大佬有没有相关的文章可以参考一下。目前只是想解决自签名证书不被信任的问题,想到的就是把自签名证书换成商业证书。大佬如果有其他的方案可以提示一下吗?
borivosky
2020-10-30 16:46:59 +08:00
@AkideLiu 所以可以确定没有可行性吗?
sheeta
2020-10-30 16:47:55 +08:00
根本就不可能替换成商业证书
@borivosky
xyjincan
2020-10-30 16:55:01 +08:00
安全部门给自建 ca 吗,像以前 12306 一样
dangge
2020-10-30 17:06:23 +08:00
买一个域名,然后给这个域名签发证书,内网把 DNS 解析全部做成内网 IP 不就好了。。。
然后你可以去找老板发出灵魂拷问:
现在购买的互信证书最长有效期 13 个月,每年要停机换一次证书。
borivosky
2020-10-30 17:08:53 +08:00
@xyjincan 这个我不确定安全部门给不给(或者能不能)自建 ca,得等下次开会的时候确认一下。多谢提供思路。
Hurriance
2020-10-30 17:09:20 +08:00
本地开发环境我是用 mkcert 生成的,不算是自签名的,供楼主参考一下
borivosky
2020-10-30 17:16:56 +08:00
@Hurriance 好的,多谢提供思路。其实主要矛盾是使用自签名证书会被 Nessus Tenable SC 扫描出说不安全,当时我想到的就只是用商业证书替换自签名证书。不过可以试一下 mkcert 是不是也会有同样的问题
borivosky
2020-10-30 17:18:49 +08:00
@dangge 哈哈哈 这个思路可以,先去发出灵魂的拷问,看看老板会不会去解决提出问题的人。
no1xsyzy
2020-10-30 19:38:18 +08:00
@Hurriance mkcert 自建 CA 啊,但你的自建 CA 还是自签名的不是?
自签名说的就是 CA,不是实际使用的证书,主题给的链接就是这套做法,不是说封装起来就不算了的……
Jirajine
2020-10-30 20:02:11 +08:00
@no1xsyzy 自签名是指证书自己给自己签名,证书主体和签发者相同,不是指 private CA 。

自签证书不安全不代表 private CA 不安全,private CA 私钥自己保管,安全性自己负责,相比之下 public CA 安全性反而不可控。
自建 CA 推荐直接用 https://smallstep.com/docs/step-ca mkcert 那种开发用的就算了。
AkideLiu
2020-10-30 22:36:50 +08:00
@borivosky 其实原理很简单。你的.local 域名在你的内网存在,我的.local 在我的内网存在。

你所谓的商业 ca,也就是证书颁发机构无法验证你对于.local 域的所有权。所以不可能给你可信的证书。

简单道理,你可以去找任何 ca 公司申请 Google.com 的证书,但是如果你不能提供所有权验证,没有人敢也没有人可以把证书颁发给你。

overall,impossible
Ptu2sha
2020-10-30 22:49:21 +08:00
目测安全部门在刷 kpi 或者水货?
joesonw
2020-10-30 23:03:54 +08:00
搜索关键词, kubernetes Using Vault as a CA
0312birdzhang
2020-10-31 07:07:49 +08:00
@dangge +1,停机换证书才是更需要考虑的, .loca 我记得是可以改的。
tkl
2020-11-01 12:24:11 +08:00
@dangge 为什么要等到过期,我提前换

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/720193

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX