gpt4 book ai didi

python - celery 不应该以 root 身份运行的原因是什么?

转载 作者:行者123 更新时间:2023-12-01 08:41:27 24 4
gpt4 key购买 nike

我在 shell 中看到建议,我不应该以 root 身份运行 celery,“绝对不推荐!”。

有人能解释一下吗?

最佳答案

这是 Principle of least privilege (PoLP) [wiki] 的一个具体案例:

(...) the principle of least privilege (PoLP, also known as the principle of minimal privilege or the principle of least authority) requires that in a particular abstraction layer of a computing environment, every module (such as a process, a user, or a program, depending on the subject) must be able to access only the information and resources that are necessary for its legitimate purpose.

如果您授予 celery 根访问权限,则意味着它可以访问许多强大的工具:它可以删除系统配置、删除整个文件系统、安装新软件,甚至操纵硬件等。

以 root 身份运行 celery 可能会导致一些不安全的情况。例如,如果黑客设法在某处“注入(inject)”代码,它可以等到 celery 运行该代码,例如使用预定义密码创建用户,然后就可以访问机器。当然,设法将代码存储在某个地方以便 celery 运行是另一个挑战,但通常最好总是假设所有系统在某种程度上都是不安全的,因此授予这些 root 访问权限肯定不会有利于安全性。维基百科文章中也指出了这一点:

(...) For example, Microsoft states "Running in standard user mode gives customers increased protection against inadvertent system-level damage caused by "shatter attacks" and malware, such as root kits, spyware, and undetectable viruses".

当然,如果黑客设法注入(inject)代码,这仍然会造成很大的损害,因此以非 root 用户身份运行 celery 进程是不够的。通常,使用只能访问文件及其真正需要的其他资源的用户来运行进程也很有用。例如,仅用于其必须执行的进程的 python 文件。

关于python - celery 不应该以 root 身份运行的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53470602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com