【问题标题】:Whats the meaning of CHANGEME in K8s helm charts?K8s helm charts 中的 CHANGEME 是什么意思?
【发布时间】:2022-11-24 08:38:57
【问题描述】:

在检查 helm chart 的 yaml 文件的值时,经常会遇到 changeme 作为值传递。例如。:

  rabbitmq.conf: |-
    ##username and password
    default_user={{.Values.rabbitmq.username}}
    default_pass=CHANGEME

或者:

  config:
    accumuloSite:
      instance.secret: "changeme"
    userManagement:
      rootPassword: "changeme"

“changeme”是什么意思?

  • 是否只是需要替换的单词?如果是这样,如果不是会发生什么?一个安全漏洞,还是一个错误?
  • 或者它是一个让系统用安全密码替换它的关键字?如果是这样,系统如何知道要生成哪种类型的密码?

在任何一种情况下,图表如何将此值与可能需要此值的其他地方联系起来? (例如,如果这是依赖于第一个服务需求的另一个密码,那么手动分配/派生的密码如何传播到第二个服务?)

(*如果这很重要,主要对 helm v3 感兴趣)

【问题讨论】:

    标签: kubernetes-helm helm3


    【解决方案1】:

    我几乎总是希望这只是一个需要填写的占位符。在许多情况下,如果一个值实际上不存在,YAML 最终可能会具有不一致的类型,因此拥有一些图表的values.yaml 中的值,但对于诸如密码之类的内容,您无法包含“正确的默认值”。

    如果您使用默认值,则不会自动为您替换这些或发出警告。如果您确实使用这些值进行部署,显然不会发生什么坏事,但我确信 changemepassw0rd 一起出现在默认密码的简短列表中,如果您正在积极尝试闯入系统,请尝试尝试。

    如果您正在编写自己的图表,您还可以使用 required 测试值是否存在并解释缺少的内容,这种方法可能比使用众所周知的默认密码更安全。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2017-06-11
      • 2018-03-05
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多