【问题标题】:Add DNS records from .NET app从 .NET 应用程序添加 DNS 记录
【发布时间】:2009-08-10 15:20:30
【问题描述】:

我正在开发我们从另一家公司收购的 web 应用程序。当您“注册”时,服务器应该使用 WMI 创建一个 DNS 别名。它因“通用错误”而崩溃,后来通过在 Web.config 文件中添加以下标记来解决此问题:

identity impersonate="true" userName="administrator" password="theadminpass"

这行得通,但由于某种原因它已经坏了,从安全角度来看,我显然不喜欢它。我已使用 WMI 管理工具将 root\microsoftdns 完全开放权限授予管理员、网络服务、网络和 aspnet,但没有成功。

无论如何,我想知道除了使用 WMI 之外,是否还有其他方法可以可靠地安全地从 .NET Web 界面中添加 DNS 记录。

【问题讨论】:

    标签: .net dns wmi


    【解决方案1】:

    如果您使用的是 IIS 6.1 及更高版本,您可以在应用程序池中设置工作进程的标识。我发现使用身份模拟更可靠,它肯定比在配置文件中包含用户名和密码更安全(尽管您可以使用 aspnet_regiis.exe 来加密部分配置)。

    至于 WMI 的替代方案,您可以尝试 DnDns,尽管我不熟悉创建 DNS 条目。

    【讨论】:

      【解决方案2】:

      (我假设您使用的是 Microsoft 的 DNS 服务器)

      您可以设置 DNS 区域的权限,以便运行应用程序池的用户可以创建条目。

      【讨论】:

        【解决方案3】:

        正确设置 WMI 和 DCOM 权限以通过 WMI 成功更新 MS DNS 可能很困难。似乎 MS 在每个修补程序中都使这变得更加困难。 John Howard 在 TechNet 上有 a blog entry 处理 Hyper-V 远程会话的问题。您基本上需要对 MS DNS 执行相同操作 + 在 DNS 中设置更新权限。

        或者,您可能需要考虑使用 Simple DNS Plus 作为 DNS 服务器 - 直接使用 .NET API or over HTTP 远程更新更简单。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多