0

我有一个经典 ASP 页面,它使用 HNetCfg.FwMgr 对象在服务器的 Windows 防火墙上配置端口排除。在我的 IIS 6、Win 03 服务器上,我必须将对 IUSR_machine 帐户的 Set/CreateKey/Delete 访问权限添加到 HKLM\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List\ 注册表项。

当我在我的新 Windows Server 2008 IIS 7 上运行时,我得到一个 Permission Denied。如果我将 Anonymous 用户更改为 Admin,甚至是作为 Users 组成员的新创建用户,我不会获得拒绝权限,并且会发生更新。

我注意到注册表中存储防火墙条目的位置已更改。但是,即使我让 IUSR 完全控制我的 HKLM,它在尝试添加端口排除时仍然会获得 Permission Denied。它可以很好地读取端口排除列表,所以我假设对 HNetCfg.FwMgr 的访问工作正常。

任何人都知道如何让IUSR能够使用该对象(HNetCfg.FwMgr)添加排除项?目前无法使用新的固件策略 2 进行重写。

4

1 回答 1

2

您需要以管理用户身份运行应用程序池。如果您担心安全性,请将其作为具有管理员权限的虚拟目录运行。您可以使用不在该虚拟目录中的脚本(受 I_user 控制的脚本)中的 xmlhttp 来调用具有管理员安全权限的(防火墙)虚拟目录中的脚本。这样,您的 firwall 脚本的 url(虚拟目录)是不公开的。

于 2012-11-27T09:40:30.060 回答