首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在服务器上运行单个web应用程序--为什么不使用root呢?

在服务器上运行单个web应用程序--为什么不使用root呢?
EN

Server Fault用户
提问于 2018-08-18 05:00:09
回答 2查看 1.3K关注 0票数 1

我只有一个云服务器来托管一个网站(django + gunicorn + nginx),postgres数据库将部署到另一个云服务器上。

在这种情况下,我应该为我的网站创建特殊的用户吗?它似乎更容易使用根,它会带来更多的安全风险,但如果我只托管一个应用程序呢?

EN

回答 2

Server Fault用户

发布于 2018-08-18 08:40:21

从技术上讲,没有什么能阻止你这么做。然而,在所有方面,这都是一个糟糕的想法。

将应用程序作为非特权用户运行的想法与运行一个或多个应用程序无关。它与应用程序本身受到损害的风险有关。通过以root身份运行进程,如果攻击者可以利用任何漏洞来获得直接访问或以其他方式影响您的应用程序,则它们将使用根权限进行此操作,从而能够直接危害整个服务器。

它甚至不需要是一个bug,而是一个失败的配置,或者仅仅使用应用程序允许的访问,例如,如果您的应用程序允许直接读取或写入文件,它们就可以对文件系统中的任何地方,而不是在特定于应用程序的文件夹中这样做。

使用非特权用户很容易做到,并且可以保护您免受各种可能的安全攻击。

票数 7
EN

Server Fault用户

发布于 2018-08-18 12:51:39

似乎更容易使用根

大多数发行包的默认nginx配置都有一个user指令。工作进程作为特权较低的用户在开箱即起运行。

几个生产炮兵部署方法允许以给定用户的身份运行。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/926947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档