在我的服务器(Windows Server 2008 R2)上,我安装了几个带有 Web 界面的程序。由于我希望能够从 LAN 外部访问这些 Web 界面,因此在 Windows 防火墙中打开了相关端口,并在路由器中转发。
大多数程序使用集成的 Apache Web 服务器实现其 Web 前端。在默认配置中,此 Web 服务器安装为在用户帐户“LOCAL-SYSTEM”下作为 Windows 服务运行。
但是,我想知道,我是否可以通过更改运行这些服务的用户帐户来提高安全性。我曾尝试过其中一个应用程序,但结果好坏参半:弄清楚用户帐户需要哪些目录的读取和/或写入权限确实很麻烦。
这值得吗?
在更受限制的用户帐户下运行 Apache 是否真的能提高安全性,还是默认配置“足够安全”?
答案1
这可能造成的后果包括攻击者能够访问服务器上的任何文件,甚至使用服务器上运行的安全主体的所有权限。这可能需要出现错误或严重的配置错误,但这肯定是可能的。
放弃权限的原因是,如果攻击者确实获得了 shell 或类似的东西,他们只能转储配置(可能)和 webroot,并且无法写入 HTTP 守护进程(apache)无法写入的任何内容。
就我个人而言,如果您一定要在 Windows 下运行它,我强烈建议您努力以非特权用户身份运行它。如果您因网站损坏而遭受损失,或者服务器上正在运行其他服务,或者服务器可能被用作网络上其他设备的网关,则尤其如此。