我爱Aspx >> C#.Net >> SQL Server 2000的安全配置_数据库技巧
SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似 , ‘ ; @ / 等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上补丁sp1以及最新的sp2。
1、使用安全的密码策略
我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步!SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。
比如使用下面的SQL语句:
Use master
Select name,Password from syslogins where password is null
2、使用安全的帐号策略
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。安全的帐号策略还包括不要让管理员权限的帐号泛滥。
SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“BUILTIN\Administrators”删除。不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。
3、加强数据库日志的记录
审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。findstr /C:"登录" d:\Microsoft SQL Server\MSSQL\LOG\*.*
4、管理扩展存储过程
对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句:
Ҷƪл˵?
ASP.NET2.0数据库之SQL Server安..[04-28]
数据安全防护之打造安全.mdb数据..[04-28]
MySQL数据库中的安全解决方案_数..[04-28]
你的MySQL安全了吗?加铸23道安全..[04-28]
MySQL服务器内部安全数据目录访问..[04-28]
SQL Server 2005密码安全追踪与存..[04-28]
ADO存取数据时如何实现留言记录的..[04-28]
PHP 留言簿(带Oracle数据库分页..[04-28]
用PHP实现ODBC数据分页显示一例_..[04-28]
数据分页方法新思路,速度非常快..[04-28]
JSP应用程序开发中安全问题的实例..[04-28]
Delphi编写网络程序的安全措施_D..[04-28]
增强MIDAS的安全性_Delphi教程[04-28]
关于MIDAS的安全问题的解决方案_..[04-28]
集合类:VBA集合对象的安全包装_..[04-28]
PerlCGI程式写作常问问题集(4)安..[04-28]
学习一下.net framework 中有关安..[04-28]
ASP.NET基于角色的窗体安全认证机..[04-28]
ASP.NET应用程序安全性问题_ASP...[04-28]
web.config点滴:更改login控件对..[04-28]