我们的应用程序托管在
Windows Azure中,并且运行良好.最近我们开始看到一些可疑的请求到我们的应用程序.请求适用于我们的应用程序中不存在的资源.
我们已经开始看到例外情况:
Message: The file '/a1b2c3d4.asmx' does not exist. Message: The file '/CrystalReportWebFormViewer2/crystalimagehandler.aspx' does not exist. Message: The file '/login.aspx' does not exist. Message: This is an invalid webresource request.
我们的应用程序中没有任何.asmx文件或Crystal Reports.此外,所有请求都来自100.69.14.169,根本不存在.
现在这种情况经常发生.我们不确定这是否是黑客攻击或某些自动脚本尝试使用我们的Azure应用程序.
能否请您帮助我们了解这些要求是什么以及如何阻止它们?
解决方法
在web.config文件中,您可以使用
requestFiltering元素将行为应用于请求.
它允许您进行相当广泛的控制.唯一的区别是,在Azure上,此功能是通过web.config实现的,而不是通过管理控制台实现的.
您可以使用filteringRules的denyStrings元素来定义应用程序应返回404响应的序列.
<system.webServer> <security> <requestfiltering> <filteringRules> <filteringRule name="BlockAUrl" scanUrl="true" scanQueryString="false"> <denyStrings> <add string="/Manage/ScriptKitty/Attempted/Login.aspx" /> </denyStrings> </filteringRule> </filteringRules> </requestfiltering> </security> </system.webServer>