文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 微软SQL Server专区 » SQL Server数据库管理 » 如何解决以下数据库安全问题       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: 如何解决以下数据库安全问题  ( 查看:180  回复:1 )   
 该主题悬赏的20无忧币已被全部领完 
 
liyihongcug
新新人类  点击可查看详细



帖子 6
精华 0
无忧币 8
积分 18
阅读权限 20
注册日期 2007-12-11
最后登录 2008-4-18 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-4-16 14:51   标题:如何解决以下数据库安全问题
上一帖 |


No

Title

Comply

Comment



4

The SQL Server Agent account is a not a member of the local or domain administrator group.

The service account (SQL Server Agent) is not granted interactive logon right,
but requires the following rights
A)     Act as part of the operating system
B)     Replace a process-level token
C)     Log on as a service
D)     Access this computer from network
E)     May require the logon as a batch job right


No

The administrator or system accounts shall not be used to run any MSSQL services.

We make the SQL Server Agent Automatically start.

- It is not an automatically start issue, but the account used to run the SQL services. Please create a user account to run the SQL services and grant the user right assignment as mentioned in the title.




6

SQL Server object privileges include SELECT,INSERT, UPDATE, DELETE, REFERENCES, and EXECUTE.No object privilege shall be granted to PUBLIC or GUEST

Findings :



No

use databaseName
select sysusers.name, sysobjects.name, sysprotects.action from sysobjects, sysusers, sysprotects
where sysobjects.id=sysprotects.id and sysprotects.uid = sysusers.uid and
sysprotects.protecttype=205 and (sysprotects.action=26 or sysusers.name='public' or
sysusers.name='guest' or sysobjects.type='S')
The guest is disable. Change public to public owner.

- All the user or group needs to be removed from the system objects base on the database and object privileges mentioned in the text file.




8

System-defined extended stored procedures are restricted to authorised DBAs only


Findings :

public  xp_regread

No

1) select sysusers.name, sysobjects.name from sysobjects, sysusers, sysprotects where
sysobjects.id=sysprotects.id and sysprotects.uid = sysusers.uid and sysprotects.protecttype=205
and sysobjects.name like 'sp_oa%'

2) select sysusers.name, sysobjects.name from sysobjects, sysusers, sysprotects where
sysobjects.id=sysprotects.id and sysprotects.uid = sysusers.uid and sysprotects.protecttype=205
and sysobjects.name like 'xp_reg%'

If results are returned, ensure that these procedures are not granted to non DBA users.
We don’t create this stored procedure.
And we make no change to it as it belongs to system level.

- Understood that this is default settings for SQL server but based on security concern, public group needs to be removed from all system objects.




9

The following stored procedures shall be restricted to DBA Only

Findings :

public  xp_getnetname                                                                                                                                            &! nbsp;                                                                                                      
public  xp_dirtree                                                                                                                                            &nbs! p;                                                                                                         
public  xp_fixeddrives                                                                                                                                            !                                                                                                      
public  xp_sscanf                                                                                                                                             ! ;                                                                                                         
public  xp_revokelogin                                                                                                                                            !                                                                                                      
public  xp_grantlogin                                                                                                                                             !                                                                                                      
public  xp_sprintf                                                                                                                                             &nb! sp;                                                                                                        
public  xp_regread

No

Can be checked by the following query.
select sysusers.name, sysobjects.name from sysobjects, sysusers, sysprotects where
sysobjects.id=sysprotects.id and sysprotects.uid = sysusers.uid and sysprotects.protecttype=205 and
(sysobjects.name =  'sp_OACreate'OR sysobjects.name =  'sp_OADestroy' OR sysobjects.name =  'sp_OAGetErrorInfo' OR
sysobjects.name =  'sp_OAGetProperty' OR sysobjects.name =  'sp_OAMethod' OR sysobjects.name =  'sp_OASetProperty' OR
sysobjects.name =  'sp_OAStop' OR sysobjects.name =  'sp_sdidebug' OR sysobjects.name =  'xp_availablemedia' OR
sysobjects.name =  'xp_cmdshell' OR sysobjects.name =  'xp_deletemail' OR sysobjects.name =  'xp_dirtree' OR
sysobjects.name =  'xp_dropwebtask' OR sysobjects.name =  'xp_dsninfo' OR sysobjects.name =  'xp_enumdsn' OR
sysobjects.name =  'xp_enumerrorlogs' OR sysobjects.name =  'xp_enumgroups' OR sysobjects.name =  'xp_enumqueuedtasks' OR
sysobjects.name =  'xp_eventlog' OR sysobjects.name =  'xp_findnextmsg' OR sysobjects.name =  'xp_fixeddrives' OR
sysobjects.name =  'xp_getfiledetails' OR sysobjects.name =  'xp_getnetname' OR sysobjects.name =  'xp_grantlogin' OR
sysobjects.name =  'xp_logevent' OR sysobjects.name =  'xp_loginconfig' OR sysobjects.name =  'xp_logininfo' OR
sysobjects.name =  'xp_regread' OR sysobjects.name =  'xp_perfend' OR sysobjects.name =  'xp_perfmonitor' OR
sysobjects.name =  'xp_perfsample' OR sysobjects.name =  'xp_perfstart' OR sysobjects.name =  'xp_readerrorlog' OR
sysobjects.name =  'xp_readmail' OR sysobjects.name =  'xp_revokelogin' OR sysobjects.name =  'xp_runwebtask' OR
sysobjects.name =  'xp_schedulersignal' OR sysobjects.name =  'xp_sendmail' OR sysobjects.name =  'xp_servicecontrol' OR
sysobjects.name =  'xp_snmp_getstate' OR sysobjects.name =  'xp_snmp_raisetrap' OR sysobjects.name =  'xp_sprintf' OR
sysobjects.name =  'xp_sqlinventory' OR sysobjects.name =  'xp_sqlregister' OR sysobjects.name =  'xp_sqltrace' OR
sysobjects.name =  'xp_sscanf' OR sysobjects.name =  'xp_startmail' OR sysobjects.name =  'xp_stopmail' OR
sysobjects.name =  'xp_subdirs' OR sysobjects.name =  'xp_unc_to_drive' OR sysobjects.name =  'xp_dirtree'
)
If results are returned, ensure that these procedures are not granted to non DBA users.
We don’t create this stored procedure.
And we make no change to it as it belongs to system level.

- Understood that this is default settings for SQL server but based on security concern, public group needs to be removed from all system objects.




10

ODBC trace library (odbctrac.dll) has been removed from production systems

No

Check on os level
We found the file exist in folder
C:\winnt\system32\

- Yes, it shall be removed or deleted.




网络工程师到底该不该去考CCIE认证?
2008-4-16 14:511楼
[ 顶部 ]
 
nnet01
技术员  点击可查看详细


帖子 363
精华 0
无忧币 525
积分 478
阅读权限 30
注册日期 2006-9-18
最后登录 2008-7-3 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-4-16 16:05 
有人解决一下这是什么东西吗?



网络工程师到底该不该去考CCIE认证?
2008-4-16 16:052楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号