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

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

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

(1)数据库改名

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

(2)改变数据库路径

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

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

(3)设置好目录权限

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

(4)添加mdb的扩展映射

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

(5)数据库改造

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

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

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

#p#

2、MSSQL数据库防注入

MSSQL数据库是大中型Web站点常采用的数据库,对于SQL数据最大的威胁是注入。攻击者通过注入来调用SQL语句执行系统命令,因此其危险性更大。一个注入点,有可能造成整个Web服务器的沦陷。防MSSQL注入可以从下面几个方面入手。

(1)慎重选择建站系统

通过站点系统建立一个Web站点是非常容易的,但是某些站点系统代码编写不够严谨,考虑不周,变量过滤不严等使得可被攻击者利用。因此,选择一款安全的站点系统是至关重要的。当然,没有百分之百安全的站点系统。管理员如果懂代码的话可以进行检测分析,看看是否有漏洞。另外,可以扮演入侵者进行入侵检测。最后,及时打补丁也是非常重要的。

(2)最小权限连接数据库

Web站点连接数据库都是通过相应的帐户进行连接,在这些帐户中SA是权限最大的也是最危险的。数据库不要用SA帐户,使用SA帐户连接数据库对服务器来说就是一场灾难。一般来说可以使用DB_OWNER权限帐户连接数据库,如果可以正常运行,使用public用户最安全的。设置成dbo权限连接数据库之后,入侵者基本就只能通过猜解用户名和密码或者是差异备份来获得webshell了,对于前者,我们可以通过加密和修改管理后台的默认登陆地址来防御。对于差异备份,我们知道它的条件是有备份的权限,并且要知道web的目录。这样被攻击的可能性大大地降低。

(3)删除危险的存储过程

MSSQL数据库系统集成了较多的存储过程,这些命令集方便了我们的操作当然也为攻击者入侵Web提供了便利。因此我们要根据需要删除某些在Web中用不到的,并且可被攻击者利用才存储过程。比如xp_regread和xp_dirtree这两个存储过程可被攻击者用来读取注册表信息和列目录,我们可以删除。另外,xp_cmdshell可被用来执行DOS命令比如建立系统帐户等等,是非常危险的。sp_makwebtask过程,可以读取SQL SELECT命令所得到的结果到表格形式的HTML文件中。这些比较危险可被攻击者利用的存储过程我们可以删除。比如删除xp_cmdshell可以执行“exec master..sp_dropextendedproc xp_cmdshell”,其它的类似。

(4)修改错误页,误导攻击者

SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果我们把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http 500错误,那么攻击者就无法获得敏感信息实施入侵了。打开IIS管理器选择相应的Web站点打开其站点属性窗口,在“自定义错误”选项卡下选择“500:100”点击“编辑”打开“编辑自定义错误属性”窗口,消息类型选择“文件”,然后通过浏览定位到自己构造的错误页,比如“c:\test.htm”,然后确定即可。

总结:防下载、防注入这是从Web安全的角度出发实施的非常规措施,在常态下我们一定要做好Web数据库的备份,这才是最基本的。

【编辑推荐】

  1. 范渊:Web应用与数据库安全剖析
  2. SQL Server 2000数据库安全妙招拆解

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/133927.html<

(0)
运维的头像运维
上一篇2025-02-28 22:15
下一篇 2025-02-28 22:16

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注