文档介绍:第9章 Web数据库安全性
本章内容:
l     数据库安全概述
l         Access数据库可能被下载的漏洞
l         SQL数据库安全
l        数据库的备份
l  IIS的安全性分析
l         ASP漏洞及解决方法
l IIS、ASP的安全问题一点建议
近年来,安全问题逐步成为企业信息主管关注和讨论的焦点。
一个好的安全解决方案离不开适当的安全目标和策略,而围绕企业重点资产和高风险威胁所进行的风险评估则是规划的基础。
在规划企业安全时会考虑众多威胁,绝大多数企业甚至是聘请的安全公司,往往把注意力集中于网络和操作系统安全,而容易忽视最重要的数据库安全。
数据库安全是一个广阔的领域,它作为操作系统之上的应用平台,其安全与网络和主机安全息息相关。
数据库安全综述
为何需要数据库安全?
在计算机世界,数据库显然存放着在线资源中最真实和最有价值的那部分资产。在数据库中,这些数据一旦遭受安全威胁将带来难以想象的严重后果。
企业对数据的一个最基本要求,就是要确保它们能够在任何时候,被任何授权用户方便、高效地访问。为此,企业会考虑创造多种对数据的访问通道,并确保它们的安全。但是,这些通道是动态的,即当网络扩展时,它们随之创建或改变,并可能在未察觉和任何保护情形下不再可用。通过对数据库自身的安全保护,企业将可以在数据受到真正的威胁前设置最后一道防御屏障。
常见的数据库安全问题及原因
虽然数据库安全的需求很明显,但多数企业还是不愿在发生了无可挽回的事件之前就着手考虑和解决相关的安全问题,让我们考查以下可能危及数据库安全的常见因素:
(1)脆弱的帐号设置。
(2)缺乏角色分离。
(3)缺乏审计跟踪。
(4)未利用的数据库安全特征。
数据库安全管理原则
一个强大的数据库安全系统应当确保其中信息的安全性并对其有效地控制。下面列举的原则有助于企业在安全规划中实现客户利益保障,策略制订以及对信息资源的有效保护。
(1)管理细分和委派原则。
(2)最小权限原则。许多新的保密规则针对对特定数据的授权访问。
(3)帐号安全原则。用户帐号对于每一个数据库联接来说都是必须的。帐号应遵循传统的用户帐号管理方法来进行安全管理。
(4)有效的审计。数据库审计是数据库安全的基本要求。
Access数据库可能被下载的漏洞
一般来说,在提供asp权限的Web服务器上不可能提供代为设定DSN的服务,使用的 ACCESS mdb数据库可能被人下载,因此asp程序使用的数据库通常都局限在使用mdb数据库,而mdb远端数据库所在的位置是使用在第8章数据库连接方法中讲到过的 DSN-LESS方法直接在asp中指定的,方法如下:
< %
connstr = "DBQ="+("database/")+";
DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};
DriverId=25;FIL=ess;mitSync=Yes;MaxBufferSize=512;
MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;mitSync=Yes;"
%>
正如前文所言,在这种情况下mdb库很可能被他人下载,从而造成诸如密码等的泄露。所以,,限制mdb的下载。
ess做后台数据库时,ess数据库的路径和数据库名称,ess数据库文件,这是非常危险的。比如:,那么有人在浏览器中打入:
http://someurl/database/
,。
解决方法:
(1)为数据库文件名称起个复杂的非常规的名字,并把它放在多级目录下。
(2)不要把数据库名写在程序中。
(3)ESS来为数据库文件编码及加密。首先在选取“工具->安全->加密/解密数据库,选取数据库(如:)”,然后按确定,接着会出现“数据库加密后另存为”的窗口,存为:。,。
要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
接下来为数据库加密。,在打开时,选择“独占”方式。
然后选取功能表的“工具->安