admin 管理员组文章数量: 1184232
2024年1月22日发(作者:css布局浮动)
2010年5月 情报探索 第5期(总151期) 浅析SQL Server数据库的数据安全 陈敦棋 (福州市公安局福建3500O1) 摘要:阐述了如何加强数据库的数据安全。以降低外界对数据库数据安全的威胁度。 关键词:SQL Server数据库安全问题 中图分类号:TP309.2 文献标识码:A 文章编号:1005—8095(2010)05--0103—03 SQL Server是目前被广泛使用的一种数据库, 认证,那么SQL Server会通过对比Windows 2003用 但它的安全问题还没有真正引起管理员的重视,致 户名和数据库Master中所存储的登录名来检验输入 使数据库的安全问题有更加严峻的倾向。本文拟从 的合法性。并认为Windows 2o03已经证实了口令的 系统管理员和数据库管理员的角度。对数据库内容 正确性。因此在建立SQL Server系统安全模型应考 的安全、数据库文件的安全和数据库管理平台的安 虑用户的登录策略。 全三方面分析和探讨SQL Server数据库的数据安全 在登录认证中还应注意一种情形,即如果数据 问题。 库管理员不希望操作系统管理员通过操作系统登陆 1数据库内容的安全 来接触数据库的话,可以在账号管理中的系统账号 数据库内容安全所探讨的是如何保证存储在数 “BUILTINLAdministrators”删除。同时安全策略不能 据库中数据的安全。具体内容分为以下几个方面: 忽略的是.在SQL Server系统安装的时候会创建一 1.1 SQL Server登录认证 个特殊的登录——SA,SA意为系统管理员,它是一 它是构筑SQL Server数据库管理系统安全的第 个非常特殊的登录,在默认条件下,SA对整个服务 一道屏障。SQL Server系统中登录认证有SQL Server 器拥有完全的控制许可。不能将它从服务器中删除 认证和Windows认证两种形式。如果使用的SQL 或移走,用此登录时无需口令。默认的SA对SQL Server认证.那么SQL Server会通过对所输入的登 Server系统的安全构成严重威胁,因此在完成SQL 录名称与口令和数据库Master中所找到的名称与口 Server安装后一定要为SA指派一个登录口令。同 令来检验输入的合法性。如果使用的Windows 20o3 时,最好不要在数据库应用中使用SA账号,只有当 最终实现两者的动态映射关系。具体而言,存储虚拟 件或是具有保留的价值,或是超过9O天还没有被人 化技术通过封装和虚拟化的存储服务有效地分离主 读取过。在本方案具体操作中,数据迁移系统提出各 机层、存储网络层、存储层,并且实现物理路径、硬件 种数据迁移策略供选择。在满足条件的前提下,系统 设备特征、物理设备位置对主机透明。存储资源与应 会自动进行迁移操作。转移后的文件被用很小的“占 用分离,对存储资源的管理可以实现动态的扩充和 位”文件取代。由该占位文件指向原文件被转移后的 配置管理,将存储的逻辑层与物理层相分离,使得数 新位置.因此该文件对于系统和用户仍是可见的。一 据的移动不再依赖于主机和应用。 旦系统接收到对被转移文件的请求,它会从最快捷 最后,由于网格可以根据数据对用户业务的关 的途径进行检索,以透明的方式恢复该文件。部分文 键性设定一定策略,从而决定数据的存储位置,所以 件高速缓存使应用可以立即访问文件中的某一部 数字图书馆存储可以灵活、动态地选择网格节点中 分,而同时系统则取回整个文件。当用户需要访问被 的物理存储设备,这样可以避免低价值数据浪费昂 迁移文件时。系统会将磁带设备上的相应数据调回 贵的高端存储空间。也就是说利用智能数据迁移将 到硬盘供用户访问。 日访问量不是很大的大部分数据保持“脱机”.但又 参考文献 不“离线”的状态。智能分级存储管理技术就可以实 [1]张蕾,陈玲.下一代互联网技术在网络中心战中的 现这种存储数据动态的迁移。文件服务器分别连接 应用概述[J].电子工程师,2008,34(10):67-69 了3个海量存储设备,即磁盘阵列、光盘库和磁带 [2]李超,王亮,杨学印.基于网格的数字图书馆研究 库。磁盘阵列所存储的为全在线数据,即第一级数 现状分析[J].现代情报,2009,29(3):74—77 据:光盘库所存储的是不常用数据,一般为超过3O [3]韩毅,毕强,李贺.国外基于网格技术的数字图书 馆内容与应用的比较研究[J].情报学报,2006,25(2):221— 天没有被访问过的数据文件;磁带库用于存储在正 230 常情况下基本不怎么读取的数据文件,通常这些文 1O3
2Ol0年5月 情报探索 第5期(总151期) 没有其他方法登录到SQL Server实例时才用SA。 1.2数据库用户管理 它是构筑SQL Server数据库管理系统安全的第 二道屏障。在建立SQL Server登录后。许可授予用户 或用户组能够在数据库中执行任务。默认条件下,数 据库内只有一名特殊的用户——DBO,用以表示数 据库所有者。它对数据库及其对象拥有完全控制权。 要使用户拥有对数据库的访问权,管理员必须 明白无误地将数据库许可赋予合法的登录者.管理 员赋予数据库的许可是通过在数据库内创建被称为 用户的对象。不能将这里的用户与Windows 2003中 的用户账号相混淆.WindOWS 2o03中的用户账号是 由操作系统维护。区分好SQL Server的登录和数据 库用户许可.管理员可以方便地将服务器上某一个 数据库的访问权赋予某一用户,同时限此用户访问 服务器上的其他数据库。 1.3数据库许可管理 它是构筑SQL Server数据库管理系统安全的第 三道屏障。其目的在于使数据库用户有限制地操纵 数据内容。首先,我们可以通过数据库许可中的语句 许可达到限制数据库用户执行某些Transact—SQL语 句(如Create Table、Create view等)的目的。其次,我 们可以通过数据库许可中的对象许可达到限制数据 库用户执行数据库对象某些任务(如Select、Insert、 Update、DR/等)的能力。但要注意的是,在应用过程 中一定要分清每个许可的三种状态,即授予、拒绝、 废除,特别是拒绝状态和废除状态的区别,否则也会 给系统带来安全威胁。当一个许可处于废除状态时, 数据库用户并没有被明确地赋予这一许可,也不能 执行这一许可所规定的动作。但是,数据库用户却能 够从角色那里继承这一许可并以这样的方式被赋予 执行相应动作的权力。当一个许可处于拒绝状态时, 数据库用户被明确地拒绝了执行相应动作的权力, 拒绝状态覆盖了所有继承来的许可。 1.4使用系统存储过程 作为一名SQL Server管理员,在某些情况下你 需要赋予用户在数据库中执行一个或多个任务的能 力.但出于安全性方面的考虑,你可能无法或不愿意 赋予对那个数据源的用户许可。如你想让某一用户 具有Select许可。而不拥有拒绝许可,此时就可通过 建立存储过程达到目的,从而保护了数据的安全。 1.5使用视图建立数据安全性 我们知道,用户创建数据库的目的就是使用数 据.而这些数据都是通过基本表来体现。但对于一名 SQL Server管理员而言还应清醒地认识到,在一个 数据库中可以包含多张表.可是用户仅使用某些表 中的局部数据。若此时SQL Server管理员赋予用户 能够访问这些表的许可,形成用户访问区域过大,从 1O4 而造成用户对数据库中数据安全的威胁。为了避免 这一情况,可以通过建立数据视图的方式达到数据 安全的目的。 1.6服务器角色管理 前面几点都仅探讨单一数据库用户的情形,下 面探讨多个数据库用户的情形。 在SQL Server系统中,为了便于管理增加了同 时能为多个数据库用户的登录和许可进行设置的能 力,这种能力系统是通过角色来体现。 服务器角色拥有执行某些服务器操作的权力。 当将一个SQL Server登录添加到服务器角色中去 时,实际上就把同样的服务器许可赋予了这个登录。 服务器角色中包括了SQL Server登录,因为它们所 拥有的许可在本质上是作用于整个服务器的.而不 是单独哪个数据库。在SQL eSrver系统中提供了七 种预定义服务器角色,我们使用时还应注意数据库 创建者、进程管理员、安全管理员、服务器管理员、设 置管理员、系统管理员等角色的使用,当我们将某一 用户添加到这些角色中时。我们要慎密考虑,因为这 些角色会给数据带来潜在的威胁。特别要注意对系 统管理员角色的使用,不能根据单位中的职位高低 来指定该角色成员。同时管理员在执行日常职责时 最好不要以SA的身份登录或为日常维护的用户账 号不要赋予系统管理员的角色,避免无意识地损害 数据库或SQL Server的潜在可能性。 1.7数据库角色管理 此角色用于一次设置多个数据库用户对数据库 的访问许可,它是直接面对数据的,若许可权限配置 不当则直接威胁数据库中的数据,如PUBLIC(公共) 角色,在默认情况下,所有的SQL SERVER登录都 是这个组内的成员。另外。在缺省的情况下公共角色 存在于所有的数据库中,并且是无法删除的。作为管 理员,在对公共角色赋予许可时必须非常小心谨慎, 不要因一个小小的错误而导致所有的用户都能进入 本不允许访问的数据区域.从而造成对数据安全的 威胁。 1.8管理扩展存储过程 在SQL Server系统中为了适应广大用户的需 求,保存着许多存储过程,其中包含着能够提升用户 权限的存储过程。然而很多存储过程在多数应用中根 本用不到。所以请删除不必要的存储过程。以免有些 系统的存储过程被人利用起来提升权限或进行破坏。 如果你不需要扩展存储过程xp_cmdsheU请把 它去掉。使用这个SQL语句: Use master sp_dropextendedproc"xp_cmdshell xp_cmdsheD是进入操作系统的最佳捷径,是数 据库留给操作系统的一个大后门。
2010年5月 陈敦棋:浅析SQL Server数据库的数据安全 第5期(总151期) 还有一些其他的扩展存储过程,在系统安装后, 根据资料,在详细理解其功能的情况下删除无必要 的存储过程,避免造成对数据库或应用程序的伤害。 1.9数据备份 我们知道用户之所以要使用数据库是因为要利 用数据库来管理和操作数据。随着日积月累,存储于 计算机中的数据对于用户而言已成为非常重要的资 产。不论是对企业还是个人用户,一旦不慎丢失,都 会造成不可估量的损失,轻则辛苦积累起来的心血 付之东流:严重的会影响企业的正常运作,给科研、 生产造成巨大的损失。同时我们也知道即使是最可 靠的硬件和软件也会受诸如人为错误、黑客、病毒、 盗窃、自然灾害、电源、磁干扰等因素的影响而出现 故障,因此要对数据进行备份,以保证数据的安全。 2数据文件的安全 2.1加密数据文件 在SQL Server系统中,能够存储数据的文件是 数据库文件和数据库备份文件。对于一个数据库文 件,可以通过SQL Server系统中的附加数据库功能 选项就能够展现出原数据库文件的内容:对于一个 数据库备份文件,可以通过SQL Server系统中的数 据库还原功能就能够恢复出数据库的原来面貌,从 这可以看出,这两个文件都会造成数据的暴露。如果 在数据库中包含有重要的内容,我们建议可对这两 个文件进行加密以免造成不必要的损失。 2.2重视支持平台的安全 SQL Server数据库管理系统是一个运行在操作 系统(如Windows 2003系列)之上的系统软件,也就 是说,它必须以操作系统(如Windows 2003系列)为 基础。由此可知,操作系统的安全性是SQL Server系 统安全的基础。因此,操作系统的安全性也会直接影 响着数据库中数据的安全。所以,要做好操作系统的 登录安全策略、数据共享安全策略、系统漏洞检测、 病毒检测、系统补丁工作,以避免对数据库中的数据 构成不必要的危害。 3数据库管理平台的安全 SQL Server数据库管理系统是一个庞大的、复 杂的系统软件,其主要功能就是实现对数据的管理 和操纵。如果没有SQL Server系统本身的安全就谈 不上数据库中数据的安全,我们可从以下几个方面 加强数据库管理平台的安全。 3.1加强数据库日志的记录 审核数据库登录事件的“失败和成功”,在实例 属性中选择“安全性”,将其中的审核级别选定为全 部,这样在数据库系统和操作系统日志里面,就详细 记录了所有账号的登录事件。通过定期查看SQL Server日志,或者使用如下DOS命令: ifndstr/C:“登录”d:\Microsoft SQL Serv. erLMSSQL ̄LOG\*.=lc。检查是否有可疑的登录事件发 生。 3.2使用协议加密 SQL Server使用的 ular Data Stream协议来 进行网络数据交换,如果不加密的话,所有的网络传 输都是明文的,包括密码、数据库内容等等,这是一 个很大的安全威胁。能被人在网络中截获到他们需 要的东西,包括数据库帐号和密码。所以,在条件允 许情况下,最好使用加密协议进行加密(如SSL等)。 3.3修改TCP/IP使用的端口 默认情况下.SQL Server使用1433端口进行监 听,这样能够被另Ⅱ人探测到一些数据库信息,而且还 可能遭到DOS攻击让数据库服务器的CPU负荷增 大,进而会造成对系统性能的影响和对数据安全的 威胁.因此在配置SQL Server的时候最好改变这个 端口,以避免对数据库中的数据构成不必要的危害。 3.4拒绝对端口的探测行为 由于通过端口扫描人们会很容易捕获到系统中 所有开放的端口。这样就可能利用所扫描到的端口 通过分析软件进行数据分析以获取有用信息或利用 这些端口进行攻击,因此,在运行平台和管理平台安 装完成后要关闭无用的端口,特别是1434端口。因 为通过对此端口的UDP探测可以很容易知道SQL Server使用的是什么TCP/IP端,以避免对数据库中 的数据构成不必要的危害。 3.5对网络连接进行IP限制 SQL Server数据库系统本身没有提供网络连接 的安全解决办法.但是Windows 2oo3提供了这样的 安全机制。使用操作系统自己的IPSeC可以实现II) 数据包的安全性。请对口连接进行限制,只保证自 己的IP能够访问,也拒绝其他 进行的端口连接, 把来自网络上的安全威胁进行有效控制。 总之.由于SQL Server数据库管理系统是一个 庞大的、复杂的系统软件,为尽可能保证SQL数据 库系统的安全,对要使用的数据库软件(程序)进行 必要的安全审核.以避免基于数据库的Web应用常 出现的安全隐患.防止破坏者构造恶意的SQL语 句。同时要经常下载补丁软件,以堵住别人利用安全 漏洞而构成对数据的安全威胁。 ・ 参考文献 [1]范立南.SQL Server2005实用教程[M].北京:清华 大学出版社.2009 [2] 刘奎.SQL Server数据库配置与管理指南[M].北 京:清华大学出版社.2o1O 收稿日期:2010-03-18 作者简介:陈敦棋(1979一),男,福州大学2004级工程硕士研 究生。 105
版权声明:本文标题:浅析SQL Server数据库的数据安全 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1705899495a493059.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论