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

我们有一个IIS应用程序需要执行一个可能有恶意input的exe文件。 在这个应用程序池中运行多个应用程序,我想尽可能地限制我们的风险。 可执行文件本身是可信的,但很可能包含漏洞(如ImageMagick)。 有可能通过缓冲区溢出一些其他机制,对手可以获得控制和执行与原来的可执行文件相同的权限(即应用程序池用户)。

我想最安全的做法是创build一个用户,除了执行这个exe文件外,还可以读取和写入一个特定的文件夹,但是很难find有关如何执行此操作的指南。

如果你真的不相信系统,你必须隔离它。 为您的数据,数据库和任何其他想要远离不受信任的IIS服务器的服务器使用单独的服务器。

注意:这些项目中的每一项都可以用整篇文章来解释。 加强面向IIS服务器的互联网可能是漫长的道路。

  1. 使用最新版本的Windows和IIS
  2. 制作一个DMZ子网和VLAN
  3. 将IIS服务器放在DMZ中
  4. 切勿将IIS服务器join到域中
  5. 在DMZ中放置带有Web应用程序防火墙的反向代理服务器
  6. 通过具有IPSfunction的防火墙将所有stream量传入和传出
  7. 将所有stream量从Internet路由到反向代理服务器,以便stream量永远不会直接进入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. 将应用程序托pipe在Azure云中,让Microsoft担心在受到威胁时会发生什么情况。
  2. 仍然在服务器本身做一些强化,但现在你不必保护周围的networking。