在我的服务器(Windows Server 2008 R2)上,我安装了几个带有Web界面的程序。 因为我希望能够从局域网外部访问这些Web界面,所以相关的端口在Windows防火墙中打开并在我的路由器中转发。
大多数这些程序使用集成的Apache Web服务器来实现他们的Web前端。 在默认configuration中,此Web服务器安装为在用户帐户“LOCAL-SYSTEM”下作为Windows服务运行。
不过,我想知道,如果我可以通过更改用户帐户这些服务运行提高安全性。 我已经尝试了这种应用程序的混合成功之一:找出用户帐户需要读取和/或写入权限的目录是一个麻烦。
这是值得的吗?
在更受限制的用户帐户下运行Apache是否实际上增加了安全性,或者是默认configuration“足够安全”?
这可能造成的后果包括攻击者能够访问服务器上的任何文件,甚至使用它所运行的安全主体的所有特权。 这将需要一个错误或令人讨厌的configuration错误,但这当然是可能的。
你放弃权限的原因是,如果攻击者得到一个shell或类似的东西,它们被限制在转储configuration(可能)和webroot,并且不能写入HTTP守护进程(apache)不能写入的任何东西。
就个人而言,我强烈build议把它作为一个非特权用户来运行,如果你必须在windows下运行它。 如果您因网站污损或服务器上正在运行其他服务,或者服务器可能被用作networking上其他事物的网关而遭受损失,则情况尤其如此。