论文部分内容阅读
[摘要]针对Web服务器的SQL注入攻击技术层出不穷。而为使web服务器和数据库服务器能够更好的扩展功能,实现公共信息交换的目的就不可避免的暴露一些可以被攻击者非法利用的安全缺陷。如何让系统管理者采取有效的防范措施阻止内部信息的泄露,将整个系统的威胁降至最低是目前服务器防守的关键。针对SQL注入攻击防范中的服务器端安全配置问题进行分析语阐释,希望能够对该领域的研究有所帮助。
[关键词]SQLL注入攻击 防范 安全配置
中图分类号:TP3 文献标识码:A 文章编号:1671—7597(2009)1010070—01
SQLL注入攻击(SQL-Injection-Attract)是目前网上最流行最热门的黑客脚本攻击方法之一,它是指黑客利用一些Web应用程序(如:论坛、留言本、文章发布系统等)中某些疏于防范的用户可以提交或修改的数据的页面,精心构造SQL语句,把特殊的SQL指令语句插入到系统实际SQL语句中并执行它,以获取用户密码等敏感信息,以及获取主机控制权限的攻击方法。
SQL注入攻击是近年来Internet网络上最流行的网站入侵方式之一,SQL注入攻击利用的是SQL语法,对于所有平台上的基于SQL语言标准的数据库软件都是有效的。由于SQL注入攻击的原理相对简单,易于掌握和实施,使得这种攻击具有相当的广泛性。因此对于SQL注入攻击的防范显得尤为重要了。
一、Apache服务器安全配置
(一)Apache初始安装服务管理
因为服务器初始安装时都会默认许多如用户登陆名、服务端口、配置信息等,这些都给攻击者留下了入侵的可能。安全维护工作在安装初期就应被重视,修改默认登陆名的权限,只分配管理员用户具有访问配置文件的权利,关闭所有服务端口后在开启欲用端口等等。
(二)Apache服务器目录安全认证
Apache服务器中是允许使用,htaccess做目录安全保护,如果攻击者想读取这保护内容的目录,需要先输入正确用户帐号与密码。这种保护措施可作为专门管理web服务器网页存放的目录或作为会员专区等。服务器管理者可以在保护的目录放置—个档案,文档名为,htaccss文档内容主要包含三个参数:AuthName、AuthType、AuthUserFile分别存放名称、类型和目录名。将一些敏感的数据资源如密码文件放入该保护目录,就可以限制非法用户的访问。
(三)Apache服务器安全补丁更新
及时对提供网络服务的模块进行必要更新,使服务器保持最新补丁包,运行稳定版本。
(四)Apache日志系统文件管理
将服务器程序访问日志存放一个安全系统高的服务器上或保存在上面提到的保护目录中,并利用工具如AWstats软件对日志文件进行定期分析,以便第一时间发现入侵状况。这里值得注意的是日志文件的管理只是被动的防御方式,它只是提供给管理人员分析鉴别的功效,无法做出有效的应急措施。
二、IIS服务器安全配置
(一)IIS特定服务配置
多数注入攻击是根据IIS给出的ASP错误提示来判断攻击的。所以IIS服务器应该自行设置返回语句显示内容,即所有错误都只返回一种信息,让攻击者无法从中得到有价值的内容。这种方式的缺点是当程序员编写的代码出错时也只是得到预设的错误内容,对正确编写带来些不便。
(二)IIS服务器的权限设置
服务器应该仔细的设置系统执行权限以防止恶意用户的入侵攻击。多数情况下服务器不给静态网站设置脚本可执行权限。动态网站也只是赋予其纯脚本的权限。对于通过客户端浏览器上传的文件设置为无可执行权限,该目录中不可存放机密的系统配置文件。这样是为了防止注入攻击者上传恶意文件,如Wehshell等。
(三)IIS服务器用户访问安全性
同Apache安装时会产生默认用户相同,安装IIS后的默认用户为Iuser_x,其密码由系统随机产生。这种匿名机制虽然为系统的共享性提供了途径,但是也给Web服务器带来了潜在的安全危险。如果攻击者通过注入攻击拿到了IIs服务器的访问权限就使整个系统处于非常不利的状态。IIS服务器如无需匿名登陆的需要可以取消该访问服务。
已授权用户也要使用多符号结合的密码设置方法和经常修改其身份验证密码,使注入攻击用户猜解困难或由于及时更改密码攻击者无法正常登陆。
三、MySOL安全配置
(一)最小权利法则
应用程序使用连接数据库的账户应该只拥有必要的特权,这样有助于保护整个系统尽可能少的受到入侵者的危害。通过限制用户权限,隔离了不同账户可执行的操作,用不同的用户账户执行查询、插入、更新、删除操作,可以防止原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。
(二)用户帐号安全法则
禁用默认的root管理员账号,新建一个复杂的用户名和密码管理数据库。
(三)内容加密
有些网站使用SSL/SSH数据加密,但是该技术只对数据传输过程进行加密,无法保护数据库中已有数据。目前对数据进行加密的数据库系统很少,而利用PIP支持的加密算法,可以在存储时对数据进行加密,安全的保存在数据中,在检索时对数据进行解密,实现对数据的加密功能,数据加密节中会详细分析此种技巧。
(四)存储过程控制
用户应该无权通过SQL语句来实现对系统命令的调用,这是注入Webshell时十分危险的漏洞。
(五)系统补丁
及时更新MySQL的最新版本补丁,可有效的解决数据库的漏洞问题。
四、结语
针对SQL注入攻击本文从Apache服务器安全配置、IIS服务器安全配置、MySQL安全配置等方面进行了详细阐述。本文仅是针对sQL注入攻击防范中的服务器端安全配置问题进行了探索和研究,对SOL注入攻击,还有很多其他的防范措施,这些都是有待于今后深入开发研究的问题。
[关键词]SQLL注入攻击 防范 安全配置
中图分类号:TP3 文献标识码:A 文章编号:1671—7597(2009)1010070—01
SQLL注入攻击(SQL-Injection-Attract)是目前网上最流行最热门的黑客脚本攻击方法之一,它是指黑客利用一些Web应用程序(如:论坛、留言本、文章发布系统等)中某些疏于防范的用户可以提交或修改的数据的页面,精心构造SQL语句,把特殊的SQL指令语句插入到系统实际SQL语句中并执行它,以获取用户密码等敏感信息,以及获取主机控制权限的攻击方法。
SQL注入攻击是近年来Internet网络上最流行的网站入侵方式之一,SQL注入攻击利用的是SQL语法,对于所有平台上的基于SQL语言标准的数据库软件都是有效的。由于SQL注入攻击的原理相对简单,易于掌握和实施,使得这种攻击具有相当的广泛性。因此对于SQL注入攻击的防范显得尤为重要了。
一、Apache服务器安全配置
(一)Apache初始安装服务管理
因为服务器初始安装时都会默认许多如用户登陆名、服务端口、配置信息等,这些都给攻击者留下了入侵的可能。安全维护工作在安装初期就应被重视,修改默认登陆名的权限,只分配管理员用户具有访问配置文件的权利,关闭所有服务端口后在开启欲用端口等等。
(二)Apache服务器目录安全认证
Apache服务器中是允许使用,htaccess做目录安全保护,如果攻击者想读取这保护内容的目录,需要先输入正确用户帐号与密码。这种保护措施可作为专门管理web服务器网页存放的目录或作为会员专区等。服务器管理者可以在保护的目录放置—个档案,文档名为,htaccss文档内容主要包含三个参数:AuthName、AuthType、AuthUserFile分别存放名称、类型和目录名。将一些敏感的数据资源如密码文件放入该保护目录,就可以限制非法用户的访问。
(三)Apache服务器安全补丁更新
及时对提供网络服务的模块进行必要更新,使服务器保持最新补丁包,运行稳定版本。
(四)Apache日志系统文件管理
将服务器程序访问日志存放一个安全系统高的服务器上或保存在上面提到的保护目录中,并利用工具如AWstats软件对日志文件进行定期分析,以便第一时间发现入侵状况。这里值得注意的是日志文件的管理只是被动的防御方式,它只是提供给管理人员分析鉴别的功效,无法做出有效的应急措施。
二、IIS服务器安全配置
(一)IIS特定服务配置
多数注入攻击是根据IIS给出的ASP错误提示来判断攻击的。所以IIS服务器应该自行设置返回语句显示内容,即所有错误都只返回一种信息,让攻击者无法从中得到有价值的内容。这种方式的缺点是当程序员编写的代码出错时也只是得到预设的错误内容,对正确编写带来些不便。
(二)IIS服务器的权限设置
服务器应该仔细的设置系统执行权限以防止恶意用户的入侵攻击。多数情况下服务器不给静态网站设置脚本可执行权限。动态网站也只是赋予其纯脚本的权限。对于通过客户端浏览器上传的文件设置为无可执行权限,该目录中不可存放机密的系统配置文件。这样是为了防止注入攻击者上传恶意文件,如Wehshell等。
(三)IIS服务器用户访问安全性
同Apache安装时会产生默认用户相同,安装IIS后的默认用户为Iuser_x,其密码由系统随机产生。这种匿名机制虽然为系统的共享性提供了途径,但是也给Web服务器带来了潜在的安全危险。如果攻击者通过注入攻击拿到了IIs服务器的访问权限就使整个系统处于非常不利的状态。IIS服务器如无需匿名登陆的需要可以取消该访问服务。
已授权用户也要使用多符号结合的密码设置方法和经常修改其身份验证密码,使注入攻击用户猜解困难或由于及时更改密码攻击者无法正常登陆。
三、MySOL安全配置
(一)最小权利法则
应用程序使用连接数据库的账户应该只拥有必要的特权,这样有助于保护整个系统尽可能少的受到入侵者的危害。通过限制用户权限,隔离了不同账户可执行的操作,用不同的用户账户执行查询、插入、更新、删除操作,可以防止原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。
(二)用户帐号安全法则
禁用默认的root管理员账号,新建一个复杂的用户名和密码管理数据库。
(三)内容加密
有些网站使用SSL/SSH数据加密,但是该技术只对数据传输过程进行加密,无法保护数据库中已有数据。目前对数据进行加密的数据库系统很少,而利用PIP支持的加密算法,可以在存储时对数据进行加密,安全的保存在数据中,在检索时对数据进行解密,实现对数据的加密功能,数据加密节中会详细分析此种技巧。
(四)存储过程控制
用户应该无权通过SQL语句来实现对系统命令的调用,这是注入Webshell时十分危险的漏洞。
(五)系统补丁
及时更新MySQL的最新版本补丁,可有效的解决数据库的漏洞问题。
四、结语
针对SQL注入攻击本文从Apache服务器安全配置、IIS服务器安全配置、MySQL安全配置等方面进行了详细阐述。本文仅是针对sQL注入攻击防范中的服务器端安全配置问题进行了探索和研究,对SOL注入攻击,还有很多其他的防范措施,这些都是有待于今后深入开发研究的问题。