监视ASP.NET应用程序以确保其安全并快速检测入侵的最佳(或任何良好)方法是什么?我们如何确定,到目前为止,我们的申请完全没有妥协?
我们即将推出一个ASP.NET 4 Web应用程序,其数据存储在SQL Server上。 Web服务器在Windows Server 2008实例上的IIS中运行,数据库服务器在单独的Win 2008实例上的SQL Server 2008上运行。
我们已经审核了Microsoft的安全建议,我认为我们的应用程序非常安全。我们实施了“纵深防御”,并考虑了一系列攻击媒介。
所以我们“感到”自信,但对我们系统的安全性还没有真正的了解。如果有人渗透,我们怎么能立刻知道?我们怎么知道我们的某个服务器上是否存有某种包裹?我们怎么知道数据泄漏是否正在进行中?
有哪些概念,工具,最佳实践等?
提前致谢, 布赖恩
其他想法4/22/11
克里斯,感谢下面非常有用的个人观察和提示。有什么好的,全面的方法来监控当前的安全应用程序活动?除了在应用最佳实践,补丁等方面保持警惕之外,我想知道我的系统内部到底发生了什么。我希望能够以清楚地向我显示哪些流量是可疑的,哪些不是流量的方式来观察和分析其活动。最后,我希望这些信息完全准确,易于消化。
我们如何有效地接近这一点?除了线路上的数据包之外,一个好的解决方案是否包括监控登录,数据库活动,ASP.NET活动等?如何采取强有力的安全态势有哪些例子?
布赖恩
答案 0 :(得分:3)
答案 1 :(得分:2)
我可以说有些人认为 - 但我很乐意听到更多的想法。
如果有人穿透,我们怎么能立刻知道?
这不是那么容易,在我看来,**一个想法是在你的后台内部制作一些陷阱,以及监视来自不同ips的双重登录。
陷阱可以是您能想到的任何内容,例如非真实网页,说“创建新管理员”,或“更改管理员密码”,在后台,任何人都可以进入并试图让一个新的管理员肯定是一个穿透者 - 当然这个陷阱必须只在你身上知道,否则没有意义。
为了更加安全,对管理员的任何更改都必须使用第二个密码,如果有人尝试对管理员帐户进行真正的更改,或者尝试添加任何新的管理员,并且在第二个密码上失败,则必须将其视为穿透器。
监视ASP.NET应用程序的方法
我认为任何监视页面以进行某些文本更改的工具都可以提供帮助。例如,此Network Monitor可以监控您页面上的特定文本并提醒您,或者如果找不到此文本则执行某些操作,这意味着某人更改了该页面。
所以你可以添加一些特殊的hiden文本,如果你没找到,那么你可以肯定地知道有些人改变了你的页面的核心,可能是更改文件。
我们如何知道某个包裹是否存放在我们的某个服务器上
这可以是服务器上加载的任何aspx页面,就像文件浏览器一样。为此,我建议将web.config文件添加到用于上传数据的目录中,并且在此web.config上不允许运行任何内容。
<configuration>
<system.web>
<authorization>
<deny users="*" />
</authorization>
</system.web>
</configuration>
答案 2 :(得分:1)
我还没有尝试过,但Lenny Zeltser将我引导到OSSEC,OSSEC是一个基于主机的入侵检测系统,可持续监控整个服务器以检测任何可疑活动。这看起来就像我想要的那样!
一旦我有机会对其进行全面测试,我会添加更多信息。
找到OSSEC