论文部分内容阅读
摘要:在分析数据库安全机制的基础上,详细论述SQL Server的安全策略。介绍SQL Server数据库的安全设置,并提出SQL Server数据库应用时的安全措施。
关键词:SQL Server;数据库安全;数据库设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-857-01
On the SQL Server Database Design and Application of the Security
RAO Chen, ZHAO Xiao-jing
(Computer Information Engineering Institute,Changzhou Institute of Technology, Changzhou 213002, China)
Abstract: The database security mechanisms on the basis of a detailed exposition of the SQL Server’s security strategy. On the SQL Server database security settings and made a SQL Server database application security measures.
Key words: SQL Server; database security, database design
1 引言
SQL Server是微软公司开发和推广的数据库管理系统,在Windows NT或Windows 2000下运行,是一个客户/服务器关系式数据库系统。由于SQL Server实现和管理数据库应用程序最为容易,是设计中、小型数据库的首选工具,在各个方面得到了广泛的应用。随着个人电脑和网络技术的发展,大多数用户是通过网络访问和使用数据库,数据库是网络的数据库,网络是数据库的网络,数据库和网络已经密不可分。数据库中大量数据的集中存放和管理,日渐成为非法入侵者攻击的焦点,数据库的安全越来越多地受到网络安全、操作系统安全、用户等多方面因素的影响,已经成为了信息安全的主要研究课题之一。
2 数据库的安全机制
数据库的安全性是指保护数据库避免不合法的使用,以免数据的泄漏、更改或破坏。数据库安全机制是多层次,具体可以划分为用户、数据库管理系统(DBMS)、操作系统(OS)、数据库(DB)四个层次。对于用户部分的安全机制采用身份认证方法;数据库管理系统则是通过访问控制保证资料安全性,任何一个用户意图控制一个对象都必须拥有相应的授权;在操作系统级的安全控制主要侧重于文件权限保护,系统资源使用限制;在数据库存储这一级目前大多采用加密技术,对数据进行加密,即便物理存储设备失窃后,其上存储的数据也可保证不被泄漏。
2.1 身份认证
数据库用户名是连接数据库、存取数据库对象的主体标记,是数据库中管理权限和控制数据访问的一种安全措施,用户认证就是确定所要求的用户身份的正确性,口令识别是数据库身份认证中最常用的方式。
2.2 访问控制
数据库访问控制是对用户访问数据库各种对象(包括表、视图、目录、应用等)的权限(包括创建、撤销、查询、增加、删除、修改、执行等)的控制,可以通过用户分类和数据分类实现。访问控制是数据库安全系统中的核心技术,主要包括系统授权、确定访问权限和实施权限三个部分,是数据库管理系统最有效的安全手段。
2.3 系统文件访问控制
操作系统(OS)是数据库系统的运行平台,为数据库系统提供一定程度的安全保护。由于数据库系统在操作系统下都是以文件形式进行管理的,操作系统的用户可以直接利用OS工具来伪造、篡改数据库文件内容。加强操作系统的安全管理,也有助于抵制来自网络的数据库攻击。对操作系统用户管理和权限进行合理分配,防止操作系统用户非法进入数据库系统。
2.4 数据库加密
数据库加密要求数据库密码系统将明文数据加密成密文数据,数据库中存储密文数据,查询时将密文数据取出解密得到明文信息,即便硬件存储失窃也不会泄漏数据,这样就大大提高了数据库系统的安全性,当然成本也随之提高。
3 SQL Server数据库访问控制策略
访问控制是对用户访问数据库各种资源的权力的控制。SQL Server对用户的访问控制分为安全帐户认证和访问许可认证两个阶段。在安全帐户认证阶段,Windows操作系统或SQL Server对用户登录进行认证,如果认证成功,用户则可连接到SQL Server,否则数据库服务器将拒绝用户的连接请求。访问许可确认指的是用户成功连接到SQL Server后,系统根据数据库中保存的与服务器登录标识相对应的用户帐户来判断他们是否拥有对数据库的访问许可。
1)SQL Server的安全帐户认证模式。SQL Server服务器安全认证有以下两种模式:Windows认证模式和Windows与SQL Server混合认证模式。Windows认证更为安全,因为Windows操作系统具有较高的安全性(C2级安全标准)。SQL Server认证管理较为简单,当SQL Server在Windows NT或Windows2000上运行时,系统管理员必须制定系统使用的认证模式。当采用混合认证模式时,SQL Server既允许使用Windows认证模式又允许使用SQL Server认证模式。在完成SQL Server安装以后,SQL Server就建立了一个特殊帐户sa。sa帐户拥有最高的管理权限,可以执行服务器范围内的所有操作,既不能更改sa用户名称,也不能删除sa,但可以更改其密码。在刚刚完成SQL Server的安装时候,sa帐户没有任何密码,所以要尽快为其设置密码。
2)访问许可确认。用户在实现安全登录之后,检验用户的下一个安全等级是数据库访问权限。数据库的访问权限是通过映射数据库的用户和登护性好。随着计算机等级考试的日趋标准化、严格化,考生的复习备考显得更为重要,该系统真正实现学习、辅导、模拟功能,可作为考生课后练习和考前模拟训练的辅助学习工具。
4 SQL Server数据库的安全设置
在设计SQL Server数据库时,要考虑数据库的安全机制,在安装时更要注意整个系统的安全设置。首先从操作系统出发,要进行正确的安全设置、明确操作系统用户权限后,使用文件驱动程序对文件操作进行过滤,即对数据库库文件、日志文件、备份文件等的操作权限限定为数据库进程和指定进程才能操作,其余进程来进行的操作将失败。这时数据库的安全性就取决于操作系统本身、数据库系统本身和网络传输的安全性了,这样做的目的是排除了操作系统和数据库系统之外的软件的不安全因素。本文以Windows2000为例,列出在应用中要注意的安全事项。
4.1 Windows2000系统安全设置
1)限制不必要的用户,禁用Guest账号,并为Administrator帐号更名;2)给账号设置密码;3)设置系统登录中各个项目;4)网管员离开工位时要锁定计算机,不能仅仅采用设置屏幕保护密码的做法;5)使用NTFS格式分区,NTFS分区要比FAI分区安全很多,只有使用NTFS分区才能真正发挥Windows 2000的作用;6)即时到微软网站下一载最新的补丁程序;7)修改注册表关闭默认共享;8)锁定注册表。使用Windows 2000的Regedit.32exe工具可以给注册表的每一个键值设置权限;9)关闭不需要的服务;10)设置好安全记录的访问。Windows 2000操作系统自带了审核工具,默认不开启;11)敏感文件存放在另外的文件服务器中,进行及时、有效的备份。
4.2 网络安全设置
1)在完全安装并配置好Win2000 Server之前,一定不要把主机接入网络;2)关闭不必要的端口;3)最好不要使用远程管理软件和不信任的服务器软件。
4.3 SQL Server2000数据库安全设置
1)安全安装MS SQL Server2000;2)使用安全的密码策略和安全的帐号策略,数据库管理员应该定期修改密码、定期查看是否有不符合密码要求的帐号;3)加强数据库日志的记录,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件;4)仔细分配和审核用户权限,不要分配太多权限,使用组策略;5)使用协议加密。SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密则所有的网络传输都是明文的,包括密码、数据库等内容,所以在条件许可下最好使用SSL来加密协议,这需要一个证书来支持;6)进行端口设置,SQL Server 2000属于“端口型”数据库,更改原默认的1433数据库端口。在实例属性中选择TCP/IP协议的属性,选择隐藏SQL Server实例,他人就不能用1434来探测你的TCP/IP端口了。
5 结束语
介绍了SQL Server数据库的安全机制,在实际应用中的有关安全性设置,包括Windows2000操作系统安全设置、网络安全设置、MS SQL Server2000的安全设置知识等安全方法,并提出了一些安全措施,对于提高SQL Server数据库的安全性有比较好的效果,对中、小型数据库的设计有一定的借鉴意义。
参考文献:
[1] 刘启原,刘怡.数据库与信息系统的安全[M].北京:科学出版社,2000.
[2] 李海泉,李健.计算机网络安全与加密技术[M].科学出版社,2001.
[3] 江南,常春.SQL Server 2000安全验证的故障诊断与分析[M].计算机与数字工程,2006,36(4):81-84.
[4] 韩嘉柠.Web数据库的开发与安全设计[J].电脑知识与技术(学术交流),2007,(13):124-125.
关键词:SQL Server;数据库安全;数据库设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)23-857-01
On the SQL Server Database Design and Application of the Security
RAO Chen, ZHAO Xiao-jing
(Computer Information Engineering Institute,Changzhou Institute of Technology, Changzhou 213002, China)
Abstract: The database security mechanisms on the basis of a detailed exposition of the SQL Server’s security strategy. On the SQL Server database security settings and made a SQL Server database application security measures.
Key words: SQL Server; database security, database design
1 引言
SQL Server是微软公司开发和推广的数据库管理系统,在Windows NT或Windows 2000下运行,是一个客户/服务器关系式数据库系统。由于SQL Server实现和管理数据库应用程序最为容易,是设计中、小型数据库的首选工具,在各个方面得到了广泛的应用。随着个人电脑和网络技术的发展,大多数用户是通过网络访问和使用数据库,数据库是网络的数据库,网络是数据库的网络,数据库和网络已经密不可分。数据库中大量数据的集中存放和管理,日渐成为非法入侵者攻击的焦点,数据库的安全越来越多地受到网络安全、操作系统安全、用户等多方面因素的影响,已经成为了信息安全的主要研究课题之一。
2 数据库的安全机制
数据库的安全性是指保护数据库避免不合法的使用,以免数据的泄漏、更改或破坏。数据库安全机制是多层次,具体可以划分为用户、数据库管理系统(DBMS)、操作系统(OS)、数据库(DB)四个层次。对于用户部分的安全机制采用身份认证方法;数据库管理系统则是通过访问控制保证资料安全性,任何一个用户意图控制一个对象都必须拥有相应的授权;在操作系统级的安全控制主要侧重于文件权限保护,系统资源使用限制;在数据库存储这一级目前大多采用加密技术,对数据进行加密,即便物理存储设备失窃后,其上存储的数据也可保证不被泄漏。
2.1 身份认证
数据库用户名是连接数据库、存取数据库对象的主体标记,是数据库中管理权限和控制数据访问的一种安全措施,用户认证就是确定所要求的用户身份的正确性,口令识别是数据库身份认证中最常用的方式。
2.2 访问控制
数据库访问控制是对用户访问数据库各种对象(包括表、视图、目录、应用等)的权限(包括创建、撤销、查询、增加、删除、修改、执行等)的控制,可以通过用户分类和数据分类实现。访问控制是数据库安全系统中的核心技术,主要包括系统授权、确定访问权限和实施权限三个部分,是数据库管理系统最有效的安全手段。
2.3 系统文件访问控制
操作系统(OS)是数据库系统的运行平台,为数据库系统提供一定程度的安全保护。由于数据库系统在操作系统下都是以文件形式进行管理的,操作系统的用户可以直接利用OS工具来伪造、篡改数据库文件内容。加强操作系统的安全管理,也有助于抵制来自网络的数据库攻击。对操作系统用户管理和权限进行合理分配,防止操作系统用户非法进入数据库系统。
2.4 数据库加密
数据库加密要求数据库密码系统将明文数据加密成密文数据,数据库中存储密文数据,查询时将密文数据取出解密得到明文信息,即便硬件存储失窃也不会泄漏数据,这样就大大提高了数据库系统的安全性,当然成本也随之提高。
3 SQL Server数据库访问控制策略
访问控制是对用户访问数据库各种资源的权力的控制。SQL Server对用户的访问控制分为安全帐户认证和访问许可认证两个阶段。在安全帐户认证阶段,Windows操作系统或SQL Server对用户登录进行认证,如果认证成功,用户则可连接到SQL Server,否则数据库服务器将拒绝用户的连接请求。访问许可确认指的是用户成功连接到SQL Server后,系统根据数据库中保存的与服务器登录标识相对应的用户帐户来判断他们是否拥有对数据库的访问许可。
1)SQL Server的安全帐户认证模式。SQL Server服务器安全认证有以下两种模式:Windows认证模式和Windows与SQL Server混合认证模式。Windows认证更为安全,因为Windows操作系统具有较高的安全性(C2级安全标准)。SQL Server认证管理较为简单,当SQL Server在Windows NT或Windows2000上运行时,系统管理员必须制定系统使用的认证模式。当采用混合认证模式时,SQL Server既允许使用Windows认证模式又允许使用SQL Server认证模式。在完成SQL Server安装以后,SQL Server就建立了一个特殊帐户sa。sa帐户拥有最高的管理权限,可以执行服务器范围内的所有操作,既不能更改sa用户名称,也不能删除sa,但可以更改其密码。在刚刚完成SQL Server的安装时候,sa帐户没有任何密码,所以要尽快为其设置密码。
2)访问许可确认。用户在实现安全登录之后,检验用户的下一个安全等级是数据库访问权限。数据库的访问权限是通过映射数据库的用户和登护性好。随着计算机等级考试的日趋标准化、严格化,考生的复习备考显得更为重要,该系统真正实现学习、辅导、模拟功能,可作为考生课后练习和考前模拟训练的辅助学习工具。
4 SQL Server数据库的安全设置
在设计SQL Server数据库时,要考虑数据库的安全机制,在安装时更要注意整个系统的安全设置。首先从操作系统出发,要进行正确的安全设置、明确操作系统用户权限后,使用文件驱动程序对文件操作进行过滤,即对数据库库文件、日志文件、备份文件等的操作权限限定为数据库进程和指定进程才能操作,其余进程来进行的操作将失败。这时数据库的安全性就取决于操作系统本身、数据库系统本身和网络传输的安全性了,这样做的目的是排除了操作系统和数据库系统之外的软件的不安全因素。本文以Windows2000为例,列出在应用中要注意的安全事项。
4.1 Windows2000系统安全设置
1)限制不必要的用户,禁用Guest账号,并为Administrator帐号更名;2)给账号设置密码;3)设置系统登录中各个项目;4)网管员离开工位时要锁定计算机,不能仅仅采用设置屏幕保护密码的做法;5)使用NTFS格式分区,NTFS分区要比FAI分区安全很多,只有使用NTFS分区才能真正发挥Windows 2000的作用;6)即时到微软网站下一载最新的补丁程序;7)修改注册表关闭默认共享;8)锁定注册表。使用Windows 2000的Regedit.32exe工具可以给注册表的每一个键值设置权限;9)关闭不需要的服务;10)设置好安全记录的访问。Windows 2000操作系统自带了审核工具,默认不开启;11)敏感文件存放在另外的文件服务器中,进行及时、有效的备份。
4.2 网络安全设置
1)在完全安装并配置好Win2000 Server之前,一定不要把主机接入网络;2)关闭不必要的端口;3)最好不要使用远程管理软件和不信任的服务器软件。
4.3 SQL Server2000数据库安全设置
1)安全安装MS SQL Server2000;2)使用安全的密码策略和安全的帐号策略,数据库管理员应该定期修改密码、定期查看是否有不符合密码要求的帐号;3)加强数据库日志的记录,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件;4)仔细分配和审核用户权限,不要分配太多权限,使用组策略;5)使用协议加密。SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密则所有的网络传输都是明文的,包括密码、数据库等内容,所以在条件许可下最好使用SSL来加密协议,这需要一个证书来支持;6)进行端口设置,SQL Server 2000属于“端口型”数据库,更改原默认的1433数据库端口。在实例属性中选择TCP/IP协议的属性,选择隐藏SQL Server实例,他人就不能用1434来探测你的TCP/IP端口了。
5 结束语
介绍了SQL Server数据库的安全机制,在实际应用中的有关安全性设置,包括Windows2000操作系统安全设置、网络安全设置、MS SQL Server2000的安全设置知识等安全方法,并提出了一些安全措施,对于提高SQL Server数据库的安全性有比较好的效果,对中、小型数据库的设计有一定的借鉴意义。
参考文献:
[1] 刘启原,刘怡.数据库与信息系统的安全[M].北京:科学出版社,2000.
[2] 李海泉,李健.计算机网络安全与加密技术[M].科学出版社,2001.
[3] 江南,常春.SQL Server 2000安全验证的故障诊断与分析[M].计算机与数字工程,2006,36(4):81-84.
[4] 韩嘉柠.Web数据库的开发与安全设计[J].电脑知识与技术(学术交流),2007,(13):124-125.