asp.net - 监控 ASP.NET 和 SQL Server 以确保安全

标签 asp.net sql-server security iis monitoring

监视 ASP.NET 应用程序以确保其安全并快速检测入侵的最佳(或任何好的)方法是什么?我们如何确定,截至目前,我们的应用程序完全没有受到损害?

我们即将启动一个 ASP.NET 4 Web 应用程序,数据存储在 SQL Server 上。 Web 服务器在 Windows Server 2008 实例上的 IIS 中运行,数据库服务器在单独的 Win 2008 实例上的 SQL Server 2008 上运行。

我们已经查看了 Microsoft 的安全建议,我认为我们的应用程序非常安全。我们实现了“深度防御”并考虑了一系列攻击媒介。

因此,我们“感到”有信心,但还没有真正了解我们系统的安全性。如果有人渗透,我们如何立即知道?我们如何知道某种包裹是否已存放在我们的一台服务器上?我们如何知道是否正在发生数据泄漏?

有哪些概念、工具、最佳实践等?

提前致谢,
布赖恩

其他想法 4/22/11

克里斯,感谢以下非常有用的个人观察和提示。

为了安全起见,监控当前应用程序事件的一种好的、全面的方法是什么?除了在应用最佳实践、补丁等方面始终保持警惕之外,我还想确切地知道我的系统现在正在发生什么。我希望能够观察和分析其事件,清楚地向我展示哪些流量是可疑的,哪些不是。最后,我希望这些信息完全准确且易于消化。

我们如何有效地接近它?除了在线上的数据包之外,一个好的解决方案不是包括监视登录、数据库事件、ASP.NET 事件等吗?有哪些示例可以说明如何采取强大的安全态势?

布赖恩

最佳答案

您要查找的术语是 Intrusion Detection System (IDS)。有一个相关术语叫Intrusion Prevention System (IPS)。

IDS 会在 IP 级别监控进入您服务器的流量,并将根据对流量的复杂分析发送警报。

IPS 是下一代 IDS,它实际上试图阻止某些事件。

有许多商业和开源系统可用,包括 Snort , SourceFire , Endace , 和 others .

简而言之,您应该考虑将这些系统之一添加到您的组合中,以进行实时监控和潜在地阻止危险事件。

我想在这里添加更多信息,因为评论区有点小。

您需要了解的主要内容是您将看到的攻击类型。这些范围从相对简单的自动化脚本到高度复杂的针对性攻击。他们还将攻击从网站本身到 IIS、.Net、邮件服务器、SQL(如果可访问),一直到您的防火墙和其他暴露的机器/服务的所有内容。整体方法是真正监控正在发生的事情的唯一方法。

一般来说,新网站/公司将在上线几分钟内(我说最多 30 分钟)使用自动化脚本。这是新安装的 MS Windows 在安装过程中严重锁定网络的首要原因。哎呀,我见过机器在第一次开机 30 秒内就被钉死了。

黑客/蠕虫采取的方法是不断扫描大范围的 IP 地址,然后对响应者进行机器指纹识别。根据配置文件,他们会以您的方式发送某些类型的攻击。在某些情况下,分析步骤会被跳过,并且不管响应如何,它们都会攻击某些端口。端口 1443 (SQL) 是一个常见端口。

虽然是最常见的攻击形式,但自动化的攻击形式迄今为止最容易处理。关闭未使用的端口、关闭 ICMP(ping 响应)并安装适当的防火墙将使大多数扫描仪远离。

对于脚本化攻击,请确保您没有将常用安装的软件包(如 PhpMyAdmin、IIS 的 Web 管理工具,甚至远程桌面)暴露在防火墙之外。此外,摆脱任何名为“admin”、“administrator”、“guest”、“sa”、“dbo”等的帐户 最后确保您的密码不允许是某人的名字,并且绝对不是默认的随产品一起发货。

按照这些思路,确保您的数据库服务器不能在防火墙外直接访问。如果由于某种原因您必须直接访问,那么至少更改端口 # 它响应并强制加密。

一旦所有这些都正确完成并得到保护,唯一暴露的服务应该是 Web 服务(端口 80/443)。仍然可以利用的项目是 IIS、.Net 或您的 Web 应用程序中的错误。

对于 IIS 和 .net,您必须在 MS 发布后立即安装 Windows 更新。 MS 在插入 Windows、IIS 和 .Net 的质量更新方面做得非常好。此外,大部分更新都是针对已经在野外被利用的漏洞。我们的服务器已设置为在更新可用时立即自动安装,我们有 从不被烧毁了(至少可以追溯到服务器 2003 发布时)。

此外,您还需要随时了解防火墙的更新。就在不久之前,Cisco 的一个防火墙出现了一个可能被淹没的错误。不幸的是,当发生这种情况时,它让所有流量都通过了。虽然很快就修复了,但一年多后人们仍然受到打击,因为管理员未能跟上 IOS 补丁。与 Windows 更新相同的问题。许多人被黑客入侵只是因为他们未能应用本可以阻止它的更新。

更有针对性的攻击更难处理。相当多的黑客正在寻找自定义 Web 应用程序。诸如张贴以联系我们和登录表单之类的事情。这些帖子可能包含 JavaScript,一旦被管理员查看,就可能导致凭据被传出或可能导致在收件人计算机上安装键盘记录器或特洛伊木马程序。

这里的问题是您可能在不知情的情况下受到损害。防御措施包括确保 HTML 和 JavaScript 无法通过您的网站提交;对邮件服务器等进行可靠的(并不断更新的)垃圾邮件和病毒检查。基本上,您需要查看外部实体可能向您发送某些内容的所有可能方式并对其采取措施。许多财富 500 强公司不断受到这样的打击……包括谷歌。

希望以上对某人有所帮助。如果是这样,它会带来一个更安全的环境,那么我将成为一个快乐的人。不幸的是,大多数公司不监控流量,所以他们不知道他们的机器花了多少时间来抵御这些垃圾。

关于asp.net - 监控 ASP.NET 和 SQL Server 以确保安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5745262/

相关文章:

asp.net - ASP.NET MVC 3中的错误处理在主机上无法正常工作

sql-server - SSIS解决方案中的杂项文件夹有什么用

php - nginx req limit & failure2ban & cloudflare 大型攻击

security - 谷歌应用引擎 : secure inter-app communication

c# - 如何从 asp.net 中的 gridview 中的 Ajax fileupload 控件获取文件名。 (记住它的 ajax fileupload 控件)

asp.net - 在 asp.net 网站中实现 SSL 证书

c# - Membership.DeleteUser(UserName,true) 不从角色中删除用户

SQL View 。选择计数...在哪里

javascript - 准备好的语句未在带有 mssql 的 Node js 中执行

security - HS512 JWT算法中秘钥的理想特征是什么?