【发布时间】:2023-04-04 16:39:01
【问题描述】:
在相对较新的安装中查看 /var/lib/jenkins,我注意到一些文件权限,嗯,很吓人:
-rw-r--r-- 1 jenkins jenkins 7285 Apr 29 13:29 config.xml
-rw-r--r-- 1 jenkins jenkins 4008 Apr 28 21:04 credentials.xml
-rw-r--r-- 1 jenkins jenkins 64 Apr 28 13:57 secret.key
在 /var/lib/jenkins/secrets 中:
-rw-r--r-- 1 jenkins jenkins 272 Apr 28 15:08 hudson.console.AnnotatedLargeText.consoleAnnotator
-rw-r--r-- 1 jenkins jenkins 32 Apr 28 15:08 hudson.model.Job.serverCookie
-rw-r--r-- 1 jenkins jenkins 272 Apr 28 14:25 hudson.util.Secret
-rw-r--r-- 1 jenkins jenkins 32 Apr 28 13:57 jenkins.model.Jenkins.crumbSalt
-rw-r--r-- 1 jenkins jenkins 48 Apr 28 14:25 jenkins.security.ApiTokenProperty.seed
-rw-r--r-- 1 jenkins jenkins 256 Apr 28 13:57 master.key
-rw-r--r-- 1 jenkins jenkins 272 Apr 28 13:57 org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY
-rw-r--r-- 1 jenkins jenkins 5 Apr 29 13:29 slave-to-master-security-kill-switch
我认为所有这些文件都应该使用所有者 jenkins 设置为模式 600,但我不确定我是否偏执。维护人员没有更多地锁定这些文件是否有某些原因?是否有其他一些受到良好保护的主密钥使这些文件本身的价值降低?
【问题讨论】:
-
为什么在一个希望只有体面的管理员可以访问的 CI 服务器上,组/全读很可怕?
-
@GeroldBroser 更多的是关于绝缘的东西。 Nginx 在同一个机器上运行(进行反向代理),如果有人成功利用它,攻击者可以运行 www-data 的东西,并且该进程可以读取所有这些文件。
-
我明白了。如果只是发布构建结果,则可以使用 Build Publisher Plugin 将内部 Jenkins 与查看者的 Jenkins 分开。