
网站不仅仅是企业的门脸,它也承担了许多功能的实现。企业网常常处理诸如订货、结算以及客户服务之类的任务。这种类型的数据非常有价值而且敏感。不幸的是,数据库驱动网站(database-driven
Web site)可供攻击的新弱点每天都有发现,这使得它日益成为信息盗取者的门路。
第一步
绝大多数IT专业人士都认识到信息安全并不是一个简单的任务。显然,在进行企业的安全设计——如防火墙、代理服务器、病毒扫描程序(这也就是说,用这些产品来保护企业网与公共Internet边界的安全)——时,存在许多“外部”因素。在保护内部网络和服务时也需要管理。例如,非军用(demilitarized
zone,DMZ)的企业网站或者公共Internet可能会向数据库服务器发布查询请求,该请求将穿越内部网络的防火墙。如果攻击者能过损害“公共”系统,那么他(她)就有可能得到访问内部数据库系统的其它途径,这将导致进一步的损坏。
服从哪些“规则”
保护数据库服务器的安全所涉及的内容随着数据库系统的不同而变化;不过,还是有些“通用的”规则,如下所示:
- 数据库服务器和Web服务器使用不同的物理网络。由于大多数数据库服务器都监听一个已知的TCP服务端口,因此管理员可以用一个带有防火墙的内部网络来控制对数据库服务器的访问。这样管理员就可以精心的调整数据库访问控制来限制对数据库的访问。大多数商业SQL数据库都设置了安全模型,可以根据请求类型、数据库、表格和用户权限来设置相应的访问权限。有些数据库系统对数据传输进行加密,这样可以进一步避免数据被非预期用户所捕获。
- 把数据库服务器主机和Web服务器主机相分离。尽管这个要求看上去很理所当然,但管理员没有遵循这个规则的案例仍然数以千计。一个例子就是Nimda漏洞,它使得IIS安装向远端命令行大开方便之门。这样,如果一个网站在运行IIS的同时也在运行诸如在线购物系统的数据库,那么数据库的所有内容都是非常脆弱易受攻击的。(基于UNIX的网站和数据库也类似的情况。)
- 监控Web服务器和数据库服务器上的日志文件。日志文件事一种即使的手段,它可以迅速指出潜在的入侵者以及其它与安全没有关系问题。注意对数据库系统的多查询错误(multiple
query errors)和无效Web站点请求是否频繁出现或者多个源同时出现上述情况。
- 注意早期的警告征兆。对任何内容的大量奇怪请求是网络出问题的明显征兆。对系统的大多数入侵都要花费一段时间,因此“预警”系统可以帮助你终止入侵过程或者防止入侵造成的灾难。日志“监视”程序,如UNIX系统下的开放源码的SWATCH程序
以及系统哨兵可以帮助让这个过程自动运行。
安全不后悔
维护和监控数据库服务器的安全不仅可以阻止外部的入侵,它也可以限制内部的攻击。如果你不打算进行数据安全保护,那就显得太冒险了。
本文作者Jonathan Yarden是UNIX系统高级管理员、网络安全管理员,同时他还是某区域性ISP公司的高级软件体系结构设计师。