msdeploy代理服务可以在我们的服务器上打开攻击媒介吗?


13

我们正在评估msdeploy Web部署代理服务用于自动部署到生产服务器的用途。

我们无法发现的一件事是潜在的安全影响。

一方面,我们的Web服务器当然是安全的(位于防火墙和负载平衡器之后),因此仅允许来自外部的http通信。

但是,Web部署代理与IIS(唯一面对外部的东西)集成运行,因为它可以通过http(s)访问。因此,我们担心有可能通过IIS上托管的Web获得对代理的访问权限,从而获得对所有Web的读写访问权限。

msdeploy在生产环境中使用的安全性如何?

更新:生产Web服务器正在运行IIS7。


您是否将IIS 6或7与msdeploy一起使用?
8

这将主要是IIS7。信息也已更新。问题。
塞巴斯蒂安·金特

Answers:


10

自从我使用它已经有一段时间了,而且我只将它用于不包含Web管理部分的IIS 6。您可以修改远程管理URL和端口,并在外部防火墙处将其阻止。请参阅:定制和保护远程服务。它的主要安全机制似乎是用户帐户安全性,但是就像您说的那样,它们都在IIS中,因此IIS漏洞可能导致安全措施在修补之前无法使用。仅出于这个原因,我会犹豫是否允许从Internet更新Web内容,但这取决于组织的安全要求与Web开发人员的需求。

为了避免将Web部署服务公开到Internet,可以执行以下操作:

  • 让默认网站侦听未经过NAT转换或负载平衡IP范围一部分的仅内部IP
  • 您可以让默认管理网站仅在localhost上侦听,然后编写一个脚本,该脚本在每个主机上调用msdeploy可执行文件以在本地运行(而不是使用msdeploy从单个点远程连接到所有主机)
  • 让您的负载均衡器过滤尝试访问Web部署URL的外部请求(例如https:// server:8081 / MSDeploy
  • 有指定的(内部)部署主机所有的Web部署从哪里来,只允许IP连接上的部署URL您的网络服务器(块东西不是从单个部署主机)

如果仍然需要直接从Internet获得Web部署功能,请说您所有的Web开发人员是否都在远程工作((我无法想象为什么直接要这样做)(随着VPN的广泛使用),您可以有一个两阶段的部署过程,在其中建立一个隔离的DMZ,其中装有启用了Web Deploy的IIS 7框(与Web场的DMZ分开),并允许您的Web开发人员从互联网仅连接到该DMZ即可远程部署更改。然后,您可以在检查更改,测试等之后内部连接到该主机并部署到其余的Web服务器。即使这种方法也并非没有风险-恶意用户最终可能会损害Web部署功能,从而引入了一些缺陷。恶意代码会在您不知情的情况下出现,您可能会在不知不觉中将其引入生产环境。


仅通过对生产服务器的安全VPN访问来进行更新,因此不需要从Internet进行访问。我仍然对安装可以更改Web服务器配置的东西有不好的感觉。目前,拥有“部署权限”的人只能通过SFTP访问其特定的Web文件夹,Web服务器不在域中,并且以任何其他方式完全隔离。
塞巴斯蒂安·金格特2011年

1
通常,我会同意“我仍然对安装可以更改Web服务器配置的东西感到不好。”,但是在这种情况下,如果您有一个Web场,则有可能在其中一台服务器上配置错误并打开一个服务器。与启用确保所有Web服务器上的配置一致的服务相比,通过手动更新过程进行意外漏洞的可能性和风险要大得多。
八月

好的,我认为这是“它可能足够安全,可以承担风险以换取更轻松的自动化部署的机会”。谢谢。
Sebastian PR Gingter 2011年

0

简单的答案。是的,任何在计算机上运行的东西都会打开攻击媒介。应始终假定软件中存在漏洞。缓解是一个关键因素,它限制了对网络,用户,计算机,IP等的访问。还要检查物理访问。

如果防火墙可以处理一天中特定时间的规则,则还可以限制允许进行更新的时间。

我建议限制您Web服务器上的用户,即可以执行更新的用户。(您可能已经这样做了)然后,我将使用防火墙来限制哪些网络(IP)可以访问管理界面。然后,如果支持,我将只允许在工作时间内处理更新(通过防火墙规则)。请注意,您始终可以让防火墙管理员编辑紧急更新的规则。最后,我会注意Web部署代理中的已知漏洞并进一步缓解,或者禁用它,直到可以实施修补程序为止。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.