我被要求在我pipe理的Web服务器上创build一个目前只运行Python应用程序的PHP环境。 这些应用程序的作者不一定有编程背景,所以我想限制他们可能做错的地方。
我使用Ubuntu 9.04,并知道我应该禁用register_globals
,但还有什么可以/我应该限制?
这里是我要input的东西的列表。 还有其他的事情可以做,比如Suhosin ,但是第一个环节是一个很好的开始。
由于您不能真正相信应用程序开发人员编写安全的代码,因此您必须限制非安全的PHP代码可能提供的攻击媒介。 使用用户input没有适当的消毒作为SQL或作为open()的参数是出错的经典例子。
我的简短列表:
我相信还有很多其他的事情我不知道,或者我不记得了。
pipe理员无法准备的东西也很多。 例如,很难控制跨站脚本风险,并确保应用程序内部的机制不鼓励任何恶意用例,例如将应用程序用作恶意软件(如rootkit)的下拉框。