V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
borivosky

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

  •  
  •   borivosky · Oct 30, 2020 · 5770 views
    This topic created in 2010 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    overall,impossible
    Ptu2sha
        17
    Ptu2sha  
       Oct 30, 2020
    目测安全部门在刷 kpi 或者水货?
    joesonw
        18
    joesonw  
       Oct 30, 2020
    搜索关键词, kubernetes Using Vault as a CA
    1daydayde
        19
    1daydayde  
       Oct 31, 2020 via iPhone   ❤️ 1
    @dangge +1,停机换证书才是更需要考虑的, .loca 我记得是可以改的。
    tkl
        20
    tkl  
       Nov 1, 2020
    @dangge 为什么要等到过期,我提前换
    no1xsyzy
        21
    no1xsyzy  
       Nov 2, 2020
    @Jirajine 请参考主楼的教程,其实是在搞自建 CA,而不只是搞一个自签名证书…… 我是在吐槽这个
    话说集群不用 CA 怎么 “互” 信? 要配置 n*(n-1) 个证书么?
    tivizi
        22
    tivizi  
       Nov 10, 2020 via iPhone
    我猜让这个扫描工具信任你们所信任的私有 CA 证书就可以,而不是集群换所谓的“商业证书”
    stevefan1999
        24
    stevefan1999  
       Dec 31, 2020
    草是要把 kube-controller 這些用自己的 ca 證書替代嗎
    那先看看有沒有足夠的證書而且域名 /ip/SAN 能對應再每一個 node 都這麼一個個把證書手動安裝就可以了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   798 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 22:16 · PVG 06:16 · LAX 15:16 · JFK 18:16
    ♥ Do have faith in what you're doing.