最近在之前做的sql server检查项基础上做改进,其中有两个我觉得判断方式有问题,但又不清楚该如何来检查。故发此贴,请高人帮忙解答,感激不尽。
检查一:检查是否删除数据库无关帐号
检查项名称: 检查是否删除数据库无关帐号 检查项内容: 应删除与数据库运行、维护等工作无关的账号。 检查操作步骤: 在MS SQL SERVER查询分析器的登陆界面中使用已删除帐号登陆 判断条件: 首先删除不需要的用户,已删除数据库部能登陆使用 目前检查语句 select count(*) from syslogins a left outer join sysusers b on a.sid = b.sid where b.name is null and a.password is not null; GO 判定: 值等于0合规
检查二:检查是否按角色对帐号管理
检查项名称: 检查是否按角色对帐号管理 检查项内容: 使用数据库角色来管理对象的权限。 检查操作步骤: a)在数据库的角色中查看对应角色的权限,检查是否包含不需要访问的对象。 b)在数据库中查看表、存储过程等对象属性中的权限、检查是否存在不必须的帐号或角色访问该对象。 判断条件: a)对应角色属性中的权限是否拥有不必要的对象权限; b)对象属性的权限列表中是否存在不必须的数据库帐号或角色访问 目前检查语句: select count(*) from sysusers where issqlrole=1; GO 判定: count值大于10合规