使用不存在的URL进行的大规模404攻击。如何预防呢?


14

问题是Google网站站长工具报告的全部404错误,其中包含从未出现过的页面和查询。其中一个是viewtopic.php,而且我还注意到,尝试检查该网站是否为WordPress网站(wp_admin)和cPanel登录的尝试次数令人恐惧。我已经阻止了TRACE,并且服务器配备了一些防御扫描/黑客的措施。但是,这似乎并没有停止。根据Google网站站长的说法,引荐来源网址为totally.me

我一直在寻找一种解决方案来停止这种情况,因为它对贫穷的实际用户而言肯定不是好事,更不用说SEO了。

我使用的是Perishable Press迷你黑名单(在此处找到),标准的引荐来源网址拦截程序(适用于色情,草药,赌场网站),甚至还有一些用于保护该网站的软件(XSS拦截,SQL注入等)。服务器也正在使用其他措施,因此可以假设该站点是安全的(希望如此),但并没有结束。

还有其他人有同样的问题吗?或者我是唯一看到此问题的人吗?我认为是某种攻击吗?有没有解决的方法,或者更好的方法是防止这种无用的资源浪费?

编辑 我从未用过这个问题来感谢您的回答,并希望可以做到这一点。谢谢大家的深刻见解,这帮助我找到了解决之道。我遵循了每个人的建议并实施了以下内容:

  • 一个蜜罐
  • 一个脚本,该脚本侦听404页中的可疑网址,并向我发送包含用户代理/ ip的电子邮件,同时返回标准404标头
  • 在相同的404自定义页面中,奖励合法用户的脚本,以防他们最终点击这些网址之一。在不到24小时的时间内,我就能够隔离出Spamhaus中列出的所有可疑IP。到目前为止,所有记录的IP都属于垃圾邮件VPS托管公司。

再次谢谢大家,如果可以的话,我会接受所有答案的。


当Google网站站长工具说引荐来源完全是您时,您是否表示它们表示您网站上的页面就是引荐页面?
斯蒂芬Ostermiller

抱歉,是我的错。我的网站管理员网站上没有这些页面,而Google说找不到。其中之一是mysite.com/viewtopic.php?forget_the_value=1并从total.me链接到。我什至没有点击。
tattvamasi 2014年

2
通常在访问日志中会为不存在的页面获取大量404,检查漏洞(例如WP admin)等-您只需要确保您的网站安全即可。但是,要让GWT报告这些内容,则是否有指向这些页面的链接,或者您的域中托管了以前的网站(如WordPress)?
怀特先生2014年

不。有趣的是,我从未使用过wordpress,也从未使用过被视为404错误的页面。我确实造成了一些错误(从一个页面到另一个页面的入站链接中的URL错误),但是文件viewtopic.php从未存在过。该站点已经存在多年了……
tattvamasi 2014年

当我说“链接到这些页面”时,是指其他网站。对于您的每个404错误(在GWT中),您都应该能够向下钻取,以显示错误的“链接来源”。
怀特先生

Answers:


17

我经常看到另一个网站,该网站链接到我网站上不存在的大量页面。即使您单击该页面却没有看到链接:

  • 该网站以前可能有这些链接
  • 该网站可能是伪装的,仅将这些链接提供给Googlebot,而不是访问者

这是浪费资源,但不会混淆Google,也不会损害您的排名。这是Google的John Mueller(负责网站管理员工具和站点地图的人)对网站管理员工具中出现的404错误的评价

救命!我的网站有939个检索错误!1

我一周几次见到这种问题。您并不孤单-许多网站都有抓取错误。

  1. 无效URL上的404错误不会以任何方式损害您网站的索引或排名。不管是100还是1000万,它们都不会损害您网站的排名。http://googlewebmastercentral.blogspot.ch/2011/05/do-404s-hurt-my-site.html
  2. 在某些情况下,抓取错误可能来自网站或CMS中的合法结构性问题。你怎么说?仔细检查爬网错误的来源。如果您的网站上的静态HTML链接中的站点链接断开,则始终值得修复。(感谢+ Martino Mosna
  3. 那么“明显损坏”的时髦URL呢?当我们的算法喜欢您的网站时,他们可能会尝试在其中找到更多精彩的内容,例如,尝试在JavaScript中发现新的URL。如果我们尝试使用这些“ URL”并找到一个404,那就太好了,这是期望的。我们只是不想错过任何重要的事情(在这里插入过度连接的Googlebot meme)。http://support.google.com/webmasters/bin/answer.py?answer=1154698
  4. 您无需在网站站长工具中修复抓取错误。“标记为固定”功能仅在您希望跟踪那里的进度时才为您提供帮助;它不会改变我们的网络搜索渠道中的任何内容,因此如果您不需要它,可以随时忽略它。 http://support.google.com/webmasters/bin/answer.py?answer=2467403
  5. 我们根据优先级列出网站站长工具中的抓取错误,这是基于多个因素的。如果抓取错误的第一页显然无关紧要,则可能在其他页面上找不到重要的抓取错误。 http://googlewebmastercentral.blogspot.ch/2012/03/crawl-errors-next-generation.html
  6. 无需“修复”您网站上的抓取错误。对于正常,配置良好的网站,发现404错误是正常现象。如果您有一个等效的新URL,则将其重定向到它是一个好习惯。否则,您不应该创建虚假内容,不应该重定向到您的首页,您也不应该robots.txt禁止这些网址-所有这些使我们更难以识别您的网站结构并对其进行正确处理。我们称这些“软404”错误。 http://support.google.com/webmasters/bin/answer.py?answer=181708
  7. 显然-如果针对您关心的URL(例如Sitemap文件中的URL)显示这些抓取错误,那么您应该立即采取措施。如果Googlebot无法抓取您的重要网址,则它们可能会从我们的搜索结果中删除,并且用户也可能无法访问它们。

谢谢,尽管我读过有人声称404攻击对他们的网页排名产生了负面影响(在google网站管理员论坛上进行了讨论,一旦我将其发布,便会在此处发布),还有一些人声称404错误确实很重要(Google这些人声称并没有说所有事情),所以这是我的关注点,另一个问题是谁在故意发布指向我网站的错误链接,以及为什么不应该对SEO无效?接受了答案:)
tattvamasi 2014年

totally.me是一个真实的网站。有成千上万的垃圾站点会刮擦并发布链接以吸引用户。它是垃圾邮件的一种形式。有时,这些链接仅存在很短的时间。通常,这样做的目的是影响较小的较不复杂的搜索引擎,尽管在俄罗斯和波兰还有很多其他受众,但更多的是该地区的受众。此类链接通常来自以前的抓取工作所传递的数据库,因此旧链接将重新出现,新站点将定期出现。您无能为力。
closetnoc

2
“ 404攻击”绝对不会影响您网站的网页排名,也不会影响其排名。(如果您的竞争对手花时间链接到404页面,那么他们花在做一些有用事情上的时间会更少,所以请开心一点:)。)网站应该有404,这表明您已经正确设置了服务器,所以如果有的话,这对我们来说是一个好信号。
约翰·穆勒

5

那里有大量脚本可以乐观地扫描互联网上的随机IP地址,以查找各种软件中已知的漏洞。99.99%的时间,他们什么都没找到(就像在您的网站上一样),而0.01%的时间,脚本将对计算机进行伪装并执行脚本控制器想要执行的任何操作。通常,这些脚本是由匿名僵尸网络运行的,而这些僵尸网络是从以前已被pwnd的计算机上运行的,而不是从原始脚本小家伙的实际计算机上运行的。

你该怎么办?

  1. 确保您的网站不容易受到攻击。这需要不断的警惕。
  2. 如果这会产生很大的负载以至于影响正常的站点性能,请添加基于IP的阻止规则,以避免接受来自特定站点的连接。
  3. 在浏览服务器日志时,学习过滤掉CMD.EXE或cPanel或phpMyAdmin扫描或其他大量漏洞。

您似乎认为从服务器返回给任何人的任何404都会影响Google对您的网站的看法。这不是真的。只有Google检索器返回的404(可能是Chrome用户)会影响您的网站。只要您网站上的所有链接都是正确的链接,并且您不会使以前公开的链接无效,您就不会看到任何影响。脚本机器人不会以任何方式与Google对话。

如果您受到实际攻击,则需要注册某种DoS缓解提供程序服务。Verisign,Neustar,CloudFlare和Prolexic都是针对各种攻击制定各种计划的供应商-从简单的Web代理(某些提供商甚至可能免费获得)到基于请求过滤的DNS到完整的BGP基于存在点的挥杆动作,通过“清理”数据中心并使用缓解攻击的规则来发送所有流量。

但是,您的意思听起来像是,您只是看到了正常的漏洞脚本,Internet上的任何IP都可以通过它查看是否正在侦听端口80。您可以从字面上架起一台新计算机,启动一个空的Apache,在几小时内,您将开始在访问日志中看到这些行。


非常感谢-我会寻找一些额外的过滤器,尽管服务器和站点保护是如此之高,以至于有时合法用户最终已经进入了禁止页面。作为对“仅Google搜寻器,也许还有Chrome用户返回的404”的答复,我必须补充一点,我在Google网站站长工具中找到了这些链接,因此我认为我可以放心地假设它们正在被爬行...
tattvamasi

您需要弄清楚为什么Google会访问那些不存在的页面。例如,如果您让外部参与者进入您的访问日志,那么那将是Google与他们联系的一种方式。您不应该让外部团体参与其中。同样,安全性更多地是关于强制执行的正确性,而不是在外部添加的启发式“保护”。我对第三方的“安全插件”持怀疑态度。当该站点完全满足我的要求时(根据定义),它是安全的。
乔恩·瓦特

3

这实际上可能不是攻击,而是扫描或探测。

取决于扫描仪/探针,它可能是良性的,这意味着它只是在寻找某种类型的研究能力中的问题,或者它可能具有自动找到打开的功能的功能。

Web浏览器会放置有效的引荐来源信息,但是其他程序可以组成他们喜欢的任何引荐来源。

引荐来源网址只是访问网站的程序可选提供的一条信息。他们可以选择将其设置为totally.me或的任何形式random.yu。他们甚至可以选择一个真正的网站。

您无法真正解决或阻止它。如果尝试阻止此类型的每个请求,最终都必须维护一个很大的列表,这是不值得的。

只要您的主机紧跟补丁程序并防止漏洞发生,这就不会给您造成任何实际问题。


1
如果404出现在Google WMT中,则来自某个地方的真实链接。totally.me是一个真实的网站。
closetnoc

是的,tomally.me是一个真实的网站,从那里出现了一些错误的链接是我的错(tweet按钮中的打字错误)。现在,大量链接到我发誓从未见过的viewtopic.php /?我网站上的任何页面。我什至可以识别出发过该消息的用户(该页面上现在没有任何内容,但我想有很多东西)。趋势标记也有一个故意错误的网址。让我担心的是用户体验,资源使用情况以及看到Google正在抓取那些伪造的404。另一方面,我不能禁止整个世界都找不到页面。不知道该怎么办。
tattvamasi 2014年

3

确实听起来像是机器人狂潮。我们也被许多主机上成千上万的IP所打击,这很可能是站点OP所不知道的。在我提供一些有用的解决方案之前,我要回答的一个问题是:

问:在Google网站管理员工具中,您如何从整个网站上看到404?GWT是Googlebot的发现结果,而不是其他bot的结果。另外,那些其他机器人没有运行JS进行分析...您在GWT上是否有某种API东西,可以在其中查看服务器统计信息?如果不是,则可能是引起警报的原因,因为这是googlebot本身发现的错误。

  • 如果这仅是googlebot错误,则可能表明有人在论坛和事物上植入了指向您网站的链接,以将恶意的真人PC机器人击中。想想harverstor + planter运行在一些被利用的服务器上,为未来的“垃圾邮件合同”建立大量目标以门户网站通过。

  • 如果确实知道它报告了完整的服务器统计信息,那么您需要一些工具。一些应用程序和服务可能会帮助您进行缩减。假设您正在运行linux服务器:

1)开始将有问题的IP添加到htaccess黑名单中。它看起来像“拒绝来自192.168.1.1的邮件”,并且将禁止403。不要被带走只是阻止biggens。在第4步中对照站点检查它们,以确保它们不存在真正的ISP。您可以复制此文件并将其粘贴到防火墙以外的任何帐户/应用程序上。

2)安装APF。在Linux中通过SSH真正易于管理防火墙。生成ht时,请像“ apf -d 192.168.1.1”一样将它们添加到APF中。由于APF,Ht似乎是多余的,但是Ht是可移植的。

3)安装cPanel Hulk,并确保将您的IP列入白名单,这样即使您忘记密码,也不会将您锁定。这也将是添加到ht + apf的IP的很好来源。它具有一些智能功能,因此可以智能地缓解暴力登录尝试。

4)连接stopforumspam.com和projecthoneypot.org,并使它们的模块运行。两者都可以帮助拒绝已知的请求并识别并报告新的暴力/网络/垃圾邮件。您也可以使用电子邮件过滤器,但是垃圾邮件过滤器由gmail拥有。

5)由于漫游器永不松懈,请保护您的管理路径。如果运行wordpress,请更改管理路径,添加验证码等。如果使用SSH,请将登录端口更改为未使用的端口,然后关闭SSH根登录。创建一个“ radmin”,您必须先登录,然后是su才能登录。

  • 关于验证码的说明,如果您在高容量站点上运行自己的验证码,而不在防火墙/ ht级别拒绝bot疯狂,则由于所有这些“反垃圾邮件”小部件中的图像生成,它们可能会破坏您的cpu周期。

  • 关于负载的说明,如果您在服务器上运行CentOS并具有VPS功能,则CloudLinux非常适合进行强化和负载控制。假设有一个自动程序通过,CageFS可以将其限制为一个帐户。假设他们决定使用DDoS...。LVE可以保持帐户(站点)的负载上限,以免使服务器崩溃。它很好地强调了“错误实体管理”的整个系统:)

只是一些想法,希望对您有所帮助


谢谢。正如您正确指出的那样,我在Google网站站长上看到这些错误的事实使我认为,这是某种“ NSEO”技术(将数百个从未链接到我的网站的链接植入其中)。该站点是安全的,因为这些攻击无济于事。我不确定我对于SEO /用户体验是否安全(如果google开始将不存在的页面编入索引,那么我很麻烦。错误已使网站排名下降,顺便说一句)。再次感谢。
tattvamasi 2014年

1
Gbot不会索引404页,因此不会真正影响您的SEO。它可能会缓存其他发送流量的页面,但不会缓存您的页面。如果这对于真实的人来说成为一个问题,请为wp-admin之类的下层链接创建一个巨大的重定向程序,使它们全都写在一篇不错的文章中,以帮助人们了解为什么他们会看到此页面。如果您使用ecom,请给他们一张“对不起404”的优惠券。只需记住在GWT中将它们标记为固定即可,这样它将索引并缓存新的着陆器。(可选)在其上放​​置一个黑洞,供恶意机器人使用。无论如何,如果该垃圾邮件中有适合您的链接,请为直接命中做好准备。
dhaupin 2014年

谢谢。现在,我正在尝试查看在发生错误的情况下是否提供软404,以减轻这种混乱。404页面已经是自定义页面,并且会为您提供有用的相关链接(如果可以找到它们的话)。万一我拼错了,我会抛出301重定向到正确的页面(我认为Google将其视为软404)。在这种垃圾的情况下/RK=0/RS=YkUQ9t4mR3PP_qt7IW8Y2L36PFo-//blog/wp-login.php//user/create_form//m//RK=0/RS=lznPhspsSDFHMiuIUDmmo01LA7w-/(等...),我将用户登录并返回404。希望我这样做是正确的
tattvamasi

1

问题说明

首先,您不是唯一遇到此问题的人-每个人都是。您所看到的是自动漫游器抓取每个IP并寻找常见漏洞的结果。因此,他们基本上会尝试找到您正在使用的东西,如果您使用phpmyadmin,他们稍后将尝试使用一堆标准的用户名密码组合。

我很惊讶您刚刚发现的这种情况(可能是您刚刚启动服务器)。问题是您不能永远阻止他们的IP地址(很可能这是受感染的计算机,他的实际用户不知道它在做什么,而且还有很多这样的IP)。

SEO效果

它根本没有作用。这只是意味着有人试图访问您计算机上的某些内容,而该内容不存在

真的重要吗?

当然,这些人会尝试为您解决一些问题。而且,它们浪费了您的资源(您的服务器需要以某种方式做出反应)并污染了日志文件

我应该如何解决

我遇到了我尝试修复的问题,并且找到了最好的工具(使用简单与使用该工具所能做的一样),我发现fail2ban是

您也很幸运,因为我已经找到了解决相同问题的方法,甚至在此处进行了记录(因此您无需查找如何安装它以及如何使其工作)。在ServerFault上检查我的问题。但是请阅读一些有关fail2ban的信息,以了解其工作原理。


1

就像许多人已经说过的那样,这不是攻击,而是尝试探测或扫描您的站点应用程序和/或服务器功能。过滤掉所有这些无用流量和潜在危险扫描的最佳方法是实施WAF(Web应用程序防火墙)。这将捕获所有不同的尝试并进行标记,然后才将真正合法的纯净流量发送到您的服务器和Web应用程序。

您可以使用基于云的DNS WAF或专用设备。我个人将Incapsula和F5 ASM用于不同的客户端站点。成本低至每月500美元,并且极大地帮助了您。它还为您的客户端提供了更好的保护,并减少了Web服务器本身的资源,这将为您节省金钱并提高速度,此外,这些设备还提供PCI 6.6合规性并提供报告审查。

希望这可以帮助。


如果这仅仅是“尝试探索”,那么您如何解释这些404显然是在GWT中报告的事实呢?
MrWhite
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.