如何在.net中阻止libwww-perl访问?

mot*_*deh 16 asp.net security asp.net-mvc

我正在使用在线工具测试我的网站,其中一个工具给了我这个警告:

您的服务器似乎允许从User-agent Libwww-perl进行访问.自动查找软件漏洞的僵尸网络脚本有时被标识为User-Agent libwww-perl.通过阻止来自libwww-perl的访问,您可以消除许多更简单的攻击.详细了解阻止Libwww-perl访问并提高网站的安全性.

我的网站是一个ASP.NET MVC 5网站,我只是将这些行添加到我的"robots.txt"文件中.

User-agent: *
Disallow: /

User-Agent: bingbot
Allow: /
Run Code Online (Sandbox Code Playgroud)

但是,该工具仍会报告警告.问题是什么?我阻止所有机器人,只是设置bingbot允许.

Ste*_*n B 7

除非您提供在线扫描工具的网址或名称,否则我只能猜测它在发送时试图抓取您的网页User-Agent: libwww-perl- 如果您在robots.txt中阻止了这一点.

背景是,robots.txt包含良好行为搜索引擎的规则,而不是恶意软件.来自http://www.robotstxt.org/robotstxt.html:

  • 机器人可以忽略你的/robots.txt.特别是在网络上扫描安全漏洞的恶意软件机器人以及垃圾邮件发送者使用的电子邮件地址收集器将不予理睬.

我假设"修复"此警告,如果HTTP标头包含,您必须拒绝任何页面,图像或文件的所有请求User-Agent: libwww-perl.有关配置IIS以拒绝这些请求而不修改您的网站的问题,请参阅此问题.

就个人而言,我不会否认这些要求,因为这不值得麻烦.在扫描工具中更改用户代理很容易,并且大多数已经允许模仿广泛使用的浏览器,因此安全性增益非常小.另一方面,可能存在一个不能使用的好/合法工具,因为它不会伪造其身份.