实施过滤和监视工具
在Web应用程序和数据库这个水平上的过滤和监视工具可有助于阻止攻击并检测攻击行为,从而减轻暴露在大规模的SQL注入式攻击中的风险。
在应用程序水平上,企业应当通过实施运行时的安全监视来防御SQL注入攻击和生产系统中的漏洞。同样地,Web应用防火墙也有助于企业部署某些基于行为的规则集,可以在发生损害之前阻止攻击。
在数据库水平上,数据库活动监视还可以从后台过滤攻击。数据库的监视活动是对付SQL注入的一种很强大的工具。对于目前所知道的注入攻击而言,应当部署好过滤器,以便向数据库管理员发出警告:正在发生不太安全的问题;还要有一些一般的过滤器,用以查找SQL注入攻击中的典型伎俩,如破坏SQL代码的不规则的数字引用等。
精心编制错误消息
黑客可以利用你的错误消息,以便于将来对付你。所以开发团队和数据库管理员都需要考虑:在用户输入某些出乎意料的“数据”时,应当返回的错误消息。
企业应当配置Web服务器和数据库服务器,使其不输出错误或警告消息。因为攻击者可以利用“盲目SQL注入”等技术来了解你的数据库设计细节。
及时打补丁并强化数据
由于没有打补丁或者配置错误,而造成与Web应用程序相关联的数据库遭受攻击,那么与SQL注入攻击相关的风险也会因之增加。
很显然,只要有补丁可用,你就需要给数据库打补丁,并且还要给Web应用程序和Web服务打补丁。
此外,别忘了你的数据库是怎样配置的。你需要禁用不必要的服务和功能,目的是为了强化数据库及其赖以运行的操作系统。
限制数据库的特权
最后,企业需要更好地管理与Web应用程序相关的账户与后台数据库交互的方式。许多问题之所以发生,其原因在于数据库管理员全面开放了一些账户,其目的是为了让开发人员更轻松地工作。但是,这些超级用户账户极易遭受攻击,并会极大地增加由SQL注入攻击及其它Web攻击给数据库所造成的风险。
一定要正确地管理所有的账户,使其仅能以最低的特权访问后台的数据库,当然前提是能够完成其工作。你一定要保障这些账户不会拥有对数据库作出更改的权利。
(责任编辑:安博涛)