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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

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

Your server appears to allow access from User-agent Libwww-perl. Botnet scripts that automatically look for vulnerabilities in your software are sometimes identified as User-Agent libwww-perl. By blocking access from libwww-perl you can eliminate many simpler attacks. Read more on blocking Libwww-perl access and improving your website's security.

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

User-agent: *
Disallow: /

User-Agent: bingbot
Allow: /

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

提问于
用户回答回答于

除非提供在线扫描工具的URL或名称,否则我只能猜测它在发送时试图抓取页面User-Agent: libwww-perl- 而不是在robots.txt中阻止此页面。

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

  • 机器人可以忽略你的/robots.txt。尤其是扫描网络中的安全漏洞的恶意软件机器人,以及垃圾邮件发送者使用的电子邮件地址收集器都不会引起注意。

我假设要“修复”这个警告,如果HTTP头包含任何页面,图像或文件,必须拒绝所有请求User-Agent: libwww-perl。看到这个问题配置IIS拒绝这些请求,而无需修改网站。

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

用户回答回答于

尝试将其添加到文件中:

User-agent: Libwww-perl
Disallow: /

扫码关注云+社区