安全防范:怎样限制服务的权限

安全防范:怎样限制服务的权限 - 应用软件 - 电脑教程网

安全防范:怎样限制服务的权限

日期:2006-12-24   荐:
  2000下面的服务默认是Everyone完全控制的,这就造成了2000下面的安全隐患,记得某款清除日志的软件就是靠停掉IIS服务来达到删除日志记录的目的吧;另外如果服务器的服务不限制权限的话万一你的服务器有什么漏洞,就算对方没有拿到管理员的权限…想必大家也都清楚意味着什么了吧。

方法一:使用组策略

1、管理工具-Active Directory用户和计算机

2、右键点击域-创建新的组织单位

3、右键点击新建的组织单位选择属性

4、选择组策略

5、创建新的组策略,进行编辑

6、计算机配置-Windows设置-安全设置-系统服务

7、双击你需要设置权限的服务

8、定义这个策略是个设置-编辑安全设置(默认是Everyone完全控制)

9、删除Everyone组,添加System组和其他有访问权限的用户。

10、分配给用户和组读取、启动、停止和暂停的权限。

11、把服务的启动模式改为自动。

12、把你所需要限制服务的计算机添加到你所创建的组织单位里面,完成!

注:如果发现设置错误的话,可以通过Regedt32编辑

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\\Security,删除Security键,重新启动。

方法二:使用Subinacl

  Subinacl为2000ResourceKit里面提供的工具,具体语法如下。

SUBINACL /SERVICE \\ComputerName\ServiceName /GRANT=[DomainName\]UserName[=Access]

这其中:

ComputerName - 机器的NetBIOS名,省略的话代表本地

ServiceName - 服务的名称

DomainName - 域名,省略的话搜索本地的用户

UserName - 要被赋予权限的用户名称

Access - F : 完全控制 (缺省)

R : 读

W : 写

X : 执行

L : 读取控制

Q : 查询服务的设置

S : 查询服务的状态

E : 列出所依赖的服务

C : 改变服务的设置

T : 启动服务

O : 停止服务

P : 暂停/开始 服务

I : 询问服务

U : 用户用命令行方式定义服务控制

如果本机的话就容易多了,比如想限定本机的DNS服务的权限是Administrator完全控制的话执行

subinacl /service \dns /grant=administrator=f就OK了。

方法三:使用脚本

提供了一个例子,根据自己的实际情况可以对下面的脚本进行修改。

jsiDomain= Wscript.Arguments.Item(0)'domain of computer account

jsiComputer = Wscript.Arguments.Item(1)'netbios ComputerName

jsiUserName = Wscript.Arguments.Item(2)'UserName (in the domain)

jsiPerm= Wscript.Arguments.Item(3)'access code

'bind to ComputerName

set objTarget = GetObject("WinNT://" & jsiDomain & "/" & jsiComputer & ",computer")

'create a shell object for call to subinacl

set objCMD = CreateObject("Wscript.Shell")

'get list of services

objTarget.filter = Array("Service")

For each Service in objTarget

command = "subinacl /service " & Service.name & " /grant=" & jsiUserName & "=" & jsiPerm

objCMD.Run command, 0

'report the services

Wscript.Echo "User granted access to " & Service.name & " "

next

NOTE: This script does NOT perform any error checking.

标签: