您的位置: 飞扬精品软件园 >> 文章中心 >> 网络通讯 >> 服务器类 >> 实例讲解Web数据库安全防护

相关文章链接

本类文章排行

最新新闻资讯

    实例讲解Web数据库安全防护

    实例讲解Web数据库安全防护


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-13

     数据库是Web的命脉,由于管理者的安全疏漏使得其成为攻击者入侵Web的入口。如何来加固Web数据库呢?笔者就以当前使用比较广泛的Access和MSSQL数据库为例,说说Web数据库的安全防护。

      1、Access数据库防下载

      数据库被下载这对Web来说几乎是毁灭性的,因为攻击者从中可以获取包括管理员帐户及密码等在内的敏感信息,然后实施进一步的攻击。可被下载的数据库主要是Access数据库,采用这种数据库的Web站点不在少数。防止Access数据库下载,可以从以下几个方面入手。

      (1)数据库改名

      数据库改名包括两部分,首先将其改成比较生僻的名称,建议名字足够长并使用某些特殊字符以防被攻击者猜中。另外,将mdb后缀改为asp,以防数据库被下载。当然数据库改名后,数据库连接配置文件也要进行修改。(图1)

      


        
        (2)改变数据库路径

      站点系统都有默认的数据库路径,由于安全意识淡薄,部署Web站点时有很多人不去修改数据库路径,因而攻击者很容易地猜到该站点的数据库路径。

      更改数据库路径,大家可以在站点目录下创建比较生僻的目录,然后将数据库文件拷贝到该目录中。当然,更改数据库路径后,需要修改站点系统的数据库连接文件。一般asp站点系统的数据库连接文件是conn.asp。打开该文件后,然后根据实际情况进行修改,使得其跟当前的数据库路径相一致。(图2)

       


        
        (3)设置好目录权限

      要设置好数据库目录的访问权限,原则是权限最小化以防止非正常的访问。因为Web程序是通过IIS用户运行的,我们只要给IIS用户读取和写入权限,然后通过“IIS管理器”把这个目录的脚本执行权限去掉,防止入侵者在该目录中通过上传获得webshell了。(图3)

       


        
        (4)添加mdb的扩展映射

      IIS对于不能解析的文件类型就会弹出下载对话框让用户下载,我们可以通过在IIS管理器中添加对mdb的扩展映射,防止数据库被下载。其设置方法是:打开IIS管理器定位到相应的Web站点,右键选择“属性”,然后依次点击“主目录→配置→映射”,在“应用程序扩展”里面添加.mdb文件应用解析,至于用于解析它的可执行文件大家可以自己进行选择,只要让攻击者无法访问数据库文件就可以了。(图4)

       


        
        (5)数据库改造

      思路是将数据库后缀名(.mdb)修改为.asp,然后在数据库中加上一个NotDownLoad的表以防数据库被下载。具体操作方法如下:

      首先新建一个.asp文件(notdown.asp),其代码如下:

       

    db="DataShop.asp" '这里改成你的数据库地址,这是相对根目录的地址
    set conn=server.createobject("Adodb.Connection")
    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
    conn.open connstr
    conn.execute("create table notdownload(notdown oleobject)")
    set rs=server.createobject("adodb.recordset")
    sql="select * from notdownload"
    rs.open sql,conn,1,3
    rs.addnew
    rs("notdown").appendchunk(chrB(asc("<")) & chrB(asc("%")))
    rs.update
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing

        
        然后在服务器端运行notdown.asp,这样在数据库添加了包含notdown字段的notdownload数据表,即可防止数据库的下载,因为notdown有一个值是"< %",asp运行是因缺少"% >"关闭标记而拒绝访问,下载当然会失败。(图5)

       


    [1] [2]


查看所有评论

网友对实例讲解Web数据库安全防护的评论

网名:
主题:
内容:
验证码: