圣诞节期间,我们的服务器遭遇了一次重大入侵,当时一个被入侵的 FTP 账户被用来上传一个 .net 后门,从而让其可以访问整个 asp.net 机器账户,其中包括数十家电子商务商店。
我们禁用了妥协并清理了混乱局面,但我想阻止这种情况。通过研究,似乎将 .net 应用程序限制为中等(不是完全信任)将确保应用程序保持自身状态并且在正常情况下无法交互。
但是,由于我们的应用程序是经典的 ASP 和 .NET,因此,除非我也能保护 ASP,否则保护 .net 没什么用。
是否有人知道我可能需要实施哪些额外的安全措施才能以类似的方式保护 ASP?
答案1
很抱歉听到您打扰。
据我所知,你可能需要看看应用程序池。我不是这方面的专家,但据我所知,您可以将 ASP 工作进程 (w3wp.exe) 设置为在您指定的用户(而不是常规 SYSTEM 或 IUSR 帐户)下的应用程序池中运行。然后在 Windows 中,您可以严格锁定该用户。例如,您只会向他们提供对 wwroot/{yourwebsitename} 文件夹的访问权限,可能只有读访问该文件夹 - 除非您执行某些文件系统对象写入(出于缓存或其他原因)。
通过将每个网站设置到不同的应用程序池中(具有适当不同的用户),一个网站的漏洞不会影响 wwwroot 中的其他网站。
就像我说的,你必须自己多读书,但这是一个初始点供您研究。
另外,请确保您仔细检查了 IIS 中的 ASP 设置,并禁用了远程调试和向客户端发送错误等功能。有关保护 IIS 的一般教程/书籍可能比特定于 ASP 的资源更好。您是否考虑过将服务器升级到 IIS7?我确信有很多漏洞、错误修复等 - 通常建议保持最新状态(尽管这取决于操作系统,因此您可能无能为力)。