如何安全地允许IIS执行有潜在漏洞的exe?

如何安全地允许IIS执行有潜在漏洞的exe?

我们有一个 IIS 应用程序需要执行一个可能带有恶意输入的 exe。此应用程序池中运行多个应用程序,我希望尽可能限制我们的风险。可执行文件本身是受信任的,但很可能包含漏洞(例如 ImageMagick)。通过缓冲区溢出或其他机制,攻击者可以获得控制权并以与原始可执行文件相同的权限(即应用程序池用户)执行。

我想最安全的做法是创建一个用户,该用户只有权限执行此 exe 文件,并可以读取和写入单个特定文件夹,但很难找到有关如何执行此操作的指南。

答案1

如果你真的不信任系统,那么你必须隔离它。使用单独的服务器来存放你的数据、数据库以及任何你想远离不受信任的 IIS 服务器的东西。

注意:每一项都可能需要整篇文章来解释。强化面向互联网的 IIS 服务器可能是一个漫长的过程。

  1. 使用最新版本的 Windows 和 IIS
  2. 创建 DMZ 子网和 VLAN
  3. 将 IIS 服务器置于 DMZ 中
  4. 切勿将 IIS 服务器加入域
  5. 在 DMZ 中放置带有 Web 应用程序防火墙的反向代理服务器
  6. 通过具有 IPS 功能的防火墙路由所有进出流量
  7. 将所有流量从互联网路由到反向代理服务器,以便流量永远不会直接进入 IIS 服务器
  8. 安装包含主机防火墙和行为分析的安全软件套件
  9. 安装 Microsoft EMET:https://support.microsoft.com/en-us/help/2458544/the-enhanced-mitigation-experience-toolkit
  10. 部署 AppLocker 以控制可以运行的可执行文件:https://technet.microsoft.com/en-us/library/dd759117%28v=ws.11%29.aspx
  11. 禁用 NetBIOS 和 SMB

-或者-

  1. 将应用程序托管在 Azure 云中,让 Microsoft 担心当它受到损害时会发生什么。
  2. 仍然对服务器本身进行一些强化,但现在您不必保护其周围的网络。

相关内容