我很清楚该怎么做,我只是想确保在部署之前不会把事情搞砸。我有一个使用 uwsgi 和 nginx 的 Web 应用程序,我想将应用程序 chroot 到特定目录。我计划将 nginx 和 uwsgi chroot 到同一个目录。现在,我知道如何做到这一点,但这就是我确保其安全(就监禁而言)所需要做的全部事情吗,还是我应该做其他事情?或者,chroot 其中一个是否不必要?即,我应该只 chroot uwsgi 或 nginx 而不管另一个吗?
答案1
chroot 是保护您的 web 服务器的一个良好开端,但它只有在 uwsgi 工作/配置正确时才能正常工作。
如果您确实在寻找一个安全的环境,您还需要配置 selinux/apparmour 来限制您的 Web 服务器可以访问的内容。这样,即使您的 Web 服务器受到攻击和/或配置错误,损害也仅限于只能访问 Web 服务器可以访问的内容。
从最严格的意义上来说,您仍然不是真正安全的。您可能感兴趣的其他事情包括 Web 服务器以什么用户身份运行、Web 服务器具有哪些权限、您允许 Web 服务器运行的应用程序具有哪些权限、如何应用更新、正在运行哪些其他进程,等等。
一旦您对所有这些事情都感到满意,您就会更多地了解事物的社会工程方面,例如,您的密码是否安全,使用您的系统的用户情况如何,您是否保护往返于您的 Web 服务器的数据。
简而言之,根据您对安全的定义,您可能永远无法做足够多的事情来确保某些东西的安全,但是 chroot 可能适合您所做的事情。