3.更新和补丁:黑客的SQL注入式攻击所利用的应用软件和数据库漏洞定期都能被发现,因此经常升级系统和打补丁时非常关键的。
4.防火墙:考虑使用网络应用软件防火墙(WAF)-无论是基于软件或者应用工具的均可,以此来帮助用户过滤恶意数据。好的防火墙拥有完整的缺省规则设置,当需要时增加新的功能都比较容易。网络应用软件防火墙在系统打补丁之前,对防御某些特殊的新风险和提供安全防护上特别有用。
5.减少用户的攻击殃及面:删除你不需要的数据库功能来防御黑客乘机利用。举例来说,MS SQL中的xp_cmdshell扩展存储程序会溢出Windows命令行和可执行字符串,这确实对黑客而言非常拥有。xp_cmdshell导致的Windows溢出作为SQL Server服务帐户拥有同样的安全权限。
6.使用适当的权限设置:不要使用管理员权限的账户连接数据库,除非你有某些非它不可的理由要这么做。使用限制权限的账户更加安全,对黑客也是个限制。
7.保守秘密:假设你的应用软件并不安全,采用加密或者随机生成密码和包括连接字符串在内的其他机密数据。
8.不要泄露超出你权限的信息:黑客会从错误讯息处了解到大量关于数据库体系架构的信息,因此要保证他们显示的是最小数量的信息。使用"RemoteOnly" customErrors模式来显示本地计算机的详细错误讯息,这样外部的黑客就无法得到更多关于数据库的信息,从而避免超出控制的差错。
9.不要忘记规则:定期更改数据库应用软件帐户的密码。这是常识,但是在实践中,这些密码经常数月或者数年没有更改过。
10.购买质量更好的软件:在软件推出之前,要让代码编写者承担核查定制应用软件代码和修正安全漏洞的责任。SANS建议用户将协议中的样本合同术语用在软件供应商身上。