阻止或限制不需要的流量到Asp.Net Web应用程序

时间:2014-06-23 10:09:06

标签: c# asp.net .net asp.net-mvc security

我有一个针对少数国际用户的Asp.net 4.5 MVC Web应用程序。应用程序中可用的所有功能仅供经过身份验证的用户使用,除登录页面外没有公共内容。

有一段时间我有一个错误报告系统,如果发生未处理的错误,我会通过电子邮件发送给我。其中一些报告包括对页面的请求,这些页面是明显基于机器人的安全扫描寻找漏洞。为了进一步研究这个问题,我安装了一个ip日志系统,我可以使用它来列出某些ip地址(并存储在数据库表中),然后使用global.asax中的Application_BeginRequest()方法返回404对于来自黑名单ip的请求。

然而,我最近部署了例程,现在看到我从成千上万的不同IP地址扫描中获得数千个不必要的命中并寻找漏洞。作为其中的一部分,我记录了所请求的URL,这是最常见的外观之一:

/Account/SetCulture?culture=fr-FR&returnUrl=http%3A%2F%2Fwww.mellon-associates.com%2FUserProfile%2Ftabid%2F42%2FuserId%2F26403%2FDefault.aspx

returnUrl参数有很多变化。当然,这不起作用,因为应用程序不支持外部URL。

无论如何,我非常感谢有关如何锁定此应用程序和主机服务器的一些建议。我会使用白名单作为最后的手段,因为我不一定知道用户来自哪个IP。

谢谢,约翰

1 个答案:

答案 0 :(得分:1)

您可以使用IIS的部分

  1. "请求过滤"用于锁定网址中的任何部分。
  2. "动态IP限制"根据请求频率拒绝请求。
  3. " IP地址和域名限制"用于白名单/黑名单的IP地址。