我需要做什么来加强面向互联网的应用程序的 ColdFusion 服务器?我唯一想到的就是将 CFIDE 和 JRunScripts 目录限制在本地子网中。
我可以调整管理员中的设置以使应用程序更安全吗?
答案1
- 确保关闭生产环境的调试
- 拥有一个站点范围的错误处理程序来屏蔽任何未处理的错误;否则将显示来自 CF 的丑陋灰色框错误消息,其中可能包含有关您的服务器设置的信息
答案2
更新日期:2010 年 5 月 30 日:
Adobe 刚刚发布了ColdFusion 9 锁定指南(PDF)包含有关正确锁定和保护 ColdFusion 服务器和应用程序的各种信息。
原始帖子:
如果服务器上只运行您自己的应用程序,请先锁定您选择的 Web 服务器。Milner 建议放置一个站点范围的错误处理程序来捕获任何异常,这是防止数据泄露的好方法。只要将输出限制在您指定的特定 IP 地址,您就可以在生产环境中运行调试。至于 CFIDE 文件夹,真正需要锁定的唯一部分是“管理员”子文件夹。如果您使用任何 ColdFusion 表单控件,CFIDE 文件夹中有很多东西可能是您的应用程序所需要的。
除了 ColdFusion 服务器本身之外,您还需要考虑代码中的很多事项,例如:
- 在查询中使用 CFQUERYPARAM。
- 不要信任来自 CGI、COOKIE、URL 或 FORM 范围的用户输入。始终对输入进行清理,不要冒险。
- 对于用户输入的将显示层的数据,请确保根据情况使用 HTMLEditFormat() 或 JSStringFormat() 函数进行包装,以防止跨站点脚本攻击。
答案3
这可能很明显,但如果服务器面向 Internet(可通过公共 IP 直接访问),那么您肯定需要安装某种防火墙 - 至少是操作系统中的软件防火墙或硬件设备来保护服务器。
答案4
试试 www.hackmycf.com ,它是由 Foundeo 制作的安全分析工具,效果非常好!