网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL安全
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.数据库安全性策略(1).
.什么是SQL注入法攻击.
.浅谈数据库的攻击.
.保护SQL Server 2000的十个步骤 .
.黑客攻破SQL服务器系统的十种方法.
.数据安全防护之打造安全.mdb数据.
.SQL Server加密与SQL注入.
.SQL指令植入式攻击的危害及其防范.
.js asp c# 防止sql注入.
.数据库安全性策略 (2).
.Oracle 2008年7月紧急补丁更新修.
.SQL Server 2000的安全配置.
.保障Web数据库安全运行.
.SQL注入防御:用三种策略应对SQL.
.不当编写SQL语句导致系统不安全.
.安防有道:实施自动的SQL注入攻击.
.黑客经验谈Sql server SA权限入侵.
.数据库下载漏洞攻击技术.
.保护SQL Server:为安全性而安装.
.攻防实战:注水漏洞的利用和防范.

让SQL注入攻击危害最小化三大措施

发表日期:2008-10-15


使用用户提供的数据进行数据库查询的任何应用程序是SQL注入攻击的一个潜在目标。数据库管理员可能无法完全阻止针对其数据库服务器的SQL注入式攻击;但是,管理员们和应用程序开发人员可以做一些事情,将这些攻击的影响最小化。

数据库管理员可以做什么?

不要让数据库和Web服务器放在同一台计算机上

使用防火墙或不可路由的IP地址来阻止到数据库的互联网访问。一旦配置完毕,来自数据库服务器的数据包将不能被转发到互联网。在Web服务器上需要添加一条路由,这样才能找到数据库服务器。

配置可信任的IP接入和访问(例如,IPSEC),以控制哪些机器能够与数据库服务器通信。

从数据库服务器上移除所有的示例脚本和应用程序。

为每一个应用程序的数据库连接账户使用一个专用的低特权账户。不要使用sa、dba、admin。

不要准许用户或应用程序直接访问数据库表。要使用对数据库拥有有限访问的应用程序角色。如果应用程序仅需要读取访问,就要将数据库的访问限制为只读。

从生产数据库中移除未用的存储过程。

将对应用程序的访问仅授权给用户创建的存储过程。

不要将应用程序的“_ANY_”授权给操作系统命令或系统存储过程。

应用程序的设计人员可以做什么?

程序设计人员肩负着保障Web应用程序安全的重要责任。在设计和编码阶段加强安全审察才是杜绝程序漏洞的关键。大体而言,程序设计者至少应当实施下面的一些措施:

要创建应用程序要生成的特定的通用错误消息。因为,在一次SQL注入攻击期间,通过数据库生成的默认的错误消息,攻击者可以获取有价值的信息,如表格和栏的名称。

在将用户服务的输入提交给数据库之前,验证用户输入的合法性。仅接受所期望的用户输入,并限制其长度。注意,只要可能,使用白名单列表检查所有的用户输入。应用程序服务器防火墙可被用于检查所有的输入,并仅接受那些符合标准的输入。

在程序开发期间,使用Web应用程序扫描工具发现代码中漏洞。

将Web应用程序与SQL数据库隔离开来,将应用程序所要求的所有SQL放置在数据库服务器上。

使用静态查询。如果需要动态查询,就使用准备好的语句。

使用一个安全的接口,如ADO的Command Object,使应用程序执行存储过程。

检测SQL注入漏洞和攻击

要检测易于受攻击的应用程序并不是简单事情,因为这些漏洞可能存在于面向用户的任何应用程序接口中。虽然并非所有的SQL注入攻击技术都易于检测,但数据库管理员或开发人员可以做以下的事情:

阅读Web服务器的日志。有时,在这些日志中就可轻易地发现SQL注入攻击,因为这时写往日志的登录项目要比平常多得多。

查找HTTP 404和HTTP 500错误日志项目,以及程序生成的检查用户输入的其它的错误日志项目。

使用Web应用程序扫描工具。这些工具可被用于警告数据库管理员,告知管理员应用程序中易受SQL注入攻击的地方。

在部署应用程序之前,检查其中的SQL注入因素至关重要。

总之,一个防御SQL注入攻击的稳健方案应是在开发、部署、管理、维护的多个方面都进行检查,并且需要安全管理人员不断地注意SQL注入的最新动向,采用切实可行的工具,使程序的漏洞最小化。

上一篇:Microsoft SQL Server SA权限最新入侵方法 人气:2105
浏览全部SQL注入的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐