Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 阻止或限制Asp.Net Web应用程序的不必要流量_C#_Asp.net_.net_Asp.net Mvc_Security - Fatal编程技术网

C# 阻止或限制Asp.Net Web应用程序的不必要流量

C# 阻止或限制Asp.Net Web应用程序的不必要流量,c#,asp.net,.net,asp.net-mvc,security,C#,Asp.net,.net,Asp.net Mvc,Security,我有一个Asp.net 4.5 MVC web应用程序,面向一小部分国际用户。应用程序中的所有可用功能仅对经过身份验证的用户可用,除登录页面外,没有任何公共内容 有一段时间,我有一个错误报告系统,如果发生未经处理的错误,它会给我发电子邮件。其中一些报告包括对页面的请求,这些页面显然是基于bot的安全扫描,以查找漏洞。为了进一步研究这个问题,我安装了一个ip日志系统,我可以使用它来黑名单某些ip地址(并存储在数据库表中),然后使用global.asax中的应用程序_BeginRequest()方法

我有一个Asp.net 4.5 MVC web应用程序,面向一小部分国际用户。应用程序中的所有可用功能仅对经过身份验证的用户可用,除登录页面外,没有任何公共内容

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

然而,我最近部署了这个例程,现在看到我从数千个不同的ip地址扫描和寻找漏洞中得到了数千个不必要的点击。作为我记录请求的url的一部分,最常见的url之一如下所示:

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

returnUrl参数有许多变体。这当然不行,因为应用程序不支持外部URL

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


谢谢,John你可以使用IIS的部分功能

  • “请求过滤”用于锁定url中的任何部分
  • 基于请求频率拒绝请求的“动态IP限制”
  • “IP地址和域限制”用于IP地址的白/黑列表

  • 这不是防火墙的工作吗?可能,如何通过防火墙入站规则实现上述目标?恐怕我不知道-在信息安全交换上发布可能更好?我发现了一个话题:我怀疑我能否通过防火墙做到这一点。我需要采用的规则类型超出了windows防火墙的功能范围。这里的另一篇文章指出,阻止这种流量的开销不值得节省带宽。仍在寻找解决方案。。。