如果必要的客户端应用程序必须在较老的(易受攻击的)框架上运行,我该怎么办?

客户端需要安装.NET Framework 4而不是打补丁,以使其Windows 2008 R2 Server上运行的软件正常运行。

这引发了一些问题:

  1. 如果应用程序与最新的框架版本不兼容,什么时候可以安置一个易受攻击的框架?
  2. 在这种情况下最好的做法是什么?

也许这个问题应该在SE:信息安全

不幸的是,“最佳实践”通常不是运行要求使用易受攻击的框架的软件(或者说老版本的Java),但这并不总是一个可以接受的答案。 对于大多数企业(至less那些不是技术或者IT技术的企业)来说,IT可以满足业务需求,而不是相反,所以你并不总是能够使用这个答案,并且抛弃一个系统,因为它是一个安全风险。

在这些情况下,你唯一能做的事就是尽可能地包含易受攻击的服务器。 尽可能限制用户访问。 将防火墙中的最小IP或IP范围列入白名单。 如果可行的话,在服务器上使用防病毒软件,并提高日志logging级别(当然,花时间检查日志)。 尽可能多的卸载,如果可能的话,使用不容易接受客户端连接的代理。 (例如,搭buildRDS服务器,将有漏洞的服务器设置为接受来自RDS服务器的networking连接,并让用户使用RDS服务器访问有漏洞的服务器上的应用程序。)

当然,CYA一定要告诉pipe理层,你已经发现了这个系统的安全风险,所以决定继续使用它(以及可能出现的任何安全漏洞)是他们的责任,而不是你自己的责任。