我看到/etc/exim.conf是世界可读的。 与此相关的问题是configurationExim使用Sendgrid等SMTP服务来路由所有外发电子邮件,将用户名和密码放入该文件,然后允许服务器上的非特权用户获取它。
是否有任何理由为什么这个文件不能只由根可读? 我想知道为什么不考虑它包含敏感信息的可能性。 有人知道吗?
-rw-r--r-- 1 root root 57523 Jun 19 23:16 /etc/exim.conf
通常情况下,密码将进入密码文件,并根据需要读取需要的传输。 示例configuration应包含服务器和客户端连接的身份validation示例。 可以为服务器身份validation和/或客户端身份validationconfiguration多种身份validation方法。
Exim默认使用两个密码文件:连接到exim的用户使用/etc/exim/passwd ,当exim连接到远程服务器时使用/etc/exim/passwd.client 。
好点子。 对你有好处,你特别考虑configuration的安全性。 答案是(如往常一样)。 例如,如果你有自己的OpenVZ / LXC / Docker / KVM / XEN /物理服务器ergh运行…我们称之为“范围”,你可能不打扰,可能,除了root不会有谁谁可以窥探这个configuration。
相反,如果“作用域”与不同的不可信用户共享(不太可能,如果你是安全的pipe理员),文件权限可以被认为是重要的,毫无疑问。
至于exim ,你应该看看它的手册,并找出它是否被任何非特权用户使用,比如说,经常有exim用户/组用来运行exim守护进程。 如果通过exim服务操作的逻辑,有问题的configuration文件对于exim用户是可读的,那么你可以认为用户exim可以是configuration的所有者。 但事实上,这是一个安全漏洞,导致在exim用户下运行的exim服务受到攻击,攻击者可以更改configuration。
我可以build议的解决scheme是使用组访问的目的。 确保exim用户是您select具有对configuration文件的读取访问权限的某个组的成员,将组访问权限设置为“只读”,理论上,您可以安全地删除“其他”访问权限。