查看访客/匿名访客的IP地址?

是否有办法查看匿名用户/访客的 IP 地址?

以及/或者每个 IP 地址的连接数?

我的网站在过去几个小时内,每分钟都有数百次页面浏览量,处理器使用率也达到了 100%。

您是否检查过 Nginx(或您正在使用的任何其他软件)的日志?那些是机器人和扫描器。您不能对 IP 地址做任何事情。它们在几次尝试后就会改变(IP 地址无论如何都无用,它们总是会改变)。您应该开始进行地理封锁(很少有网站是真正全球性的)并在服务器级别禁止大量用户代理;至少禁止所有完全不必要且贪婪的 SEO 抓取器、伪装成 IE5.x 等的机器人。

1 个赞

如果您执行的是标准安装,应该已经启用了速率限制(Rails 内部也包含一些)。您是如何安装的?

1 个赞

这个速率限制到底是怎么工作的呢(我没去查答案)。它会在某个时间段内针对某个IP地址的请求数量达到上限后触发吗?

另外,当出现类似DDoS的情况时,例如某个URL被列入某个糟糕的列表,然后来自中国、巴基斯坦、伊朗、伊拉克、越南和俄罗斯的IP地址以及大量来自美国、法国和德国的VPS服务商的IP地址开始进行洪水攻击。当他们尝试三次后更换IP,速率限制就帮不上太多忙了。

我曾经遇到过大量的垃圾搜索。所谓大量,就是DigitalOcean的5美元套餐崩溃了,而我几乎收不到来自人类的请求。

这或多或少是Web服务器的问题,而不是Discourse的问题。那些攻击者应该在应用程序之前就被阻止。我知道我的情况/解决方案比OP或这里大多数网站管理员要简单得多,因为我来自芬兰,我的论坛是纯芬兰语的——所以对我来说,可以禁止全世界(嗯,居住在芬兰以外的芬兰人对此看法不同 ;))。

但无论如何,至少应该立即阻止速率限制以及虚假的用户代理。

SSH攻击者怎么样?那些也会消耗资源。

1 个赞

如果您遇到DDoS问题,我建议使用Cloudflare(我几乎从不推荐)。请确保您使用Cloudflare模板,然后关闭优化(或仔细阅读有关配置的说明)。

1 个赞

这不是真正的DDoS攻击。但是,当有大量相同类型的请求时,它们会像DDoS攻击一样,结果是相同的。我正在使用Varnish和Fail2ban以及地理封锁,这些对我来说效果很好。

2 个赞

是的,我是标准安装的。

我最初的想法是简单的“被砍翻”,但 24 小时后我仍然被猛烈攻击。

快速的临时修复方法是关上前门,并将网站设置为“需要登录”。这很有效,在我重新向公众开放网站后,CPU 使用率在 60 秒内从 100% 下降到 3%。

一旦我重新打开前门,我的 /search 页面就会立即被垃圾信息轰炸,例如:

/search?q=dogs+order:latest&page=2
/search?q=cats+order:latest&page=2
/search?q=fly+order:latest&page=2

等等。

这在我重新开放网站后 60 秒内就会发生。

我们是一个小众群体,不知道为什么会有人针对我们 :roll_eyes:

这只是一个估计,但根据 Google Analytics,我们通常有 8 到 10 个活跃用户,在我重新向公众开放网站的几秒钟内,这个数字会飙升到 1000+。所有连接都显示来自美国的各个地区,全部是直接流量,没有推荐来源。

我将把网站仅对会员开放几天,看看是否会消失,或者看看是否可以将 /search 限制为仅限登录用户,如果不行,我可能不得不走 Cloudflare 的路线。

谢谢大家 :+1:t2:

1 个赞

是的。这很奇怪,但我想这就是互联网吧。

哦。用户代理是什么?也许你可以将其添加到“阻止的爬虫用户代理”中?

2 个赞

好问题!

我会在 Google Analytics 报告页面上查找一下 :+1:t2:

1 个赞

您也可以在 /var/discourse/shared/log/var-log/nginx/....(或非常相似的路径)中查找。如果您在设置中搜索“agent”,还有其他一些设置,例如“slow down crawler user agents”。

2 个赞

Found it in: /var/discourse/shared/standalone/log/var-log/nginx/access.log

(现在本地下载)

谢谢 @pfaffman,我会看看有没有什么异常。

2 个赞

快速浏览似乎显示了各种用户代理的混合。

这让我怀疑是攻击,而不是 Slashdot :confused:

[12/Jan/2022:13:26:20 +0000] "greyarro.ws" 184.174.102.229 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.57 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:13:27:22 +0000] "greyarro.ws" 173.211.78.162 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.9390.0.4430.212 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:13:30:46 +0000] "greyarro.ws" 66.78.24.176 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Linux x86_64; rv:89.0.2) Gecko/20100101 Firefox/89.0.2" "search/show" 302 1117 "-" 0.020 0.019 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:10:32 +0000] "greyarro.ws" 38.18.59.158 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 Safari/537.36" "search/show" 302 1117 "-" 0.008 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:10:57 +0000] "greyarro.ws" 108.62.69.249 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:88.0.1) Gecko/20100101 Firefox/88.0.1" "search/show" 302 1117 "-" 0.008 0.009 "-" "-" "-" "-" "-" "-" "-" "-"

以及:

[12/Jan/2022:16:11:07 +0000] "greyarro.ws" 38.18.49.252 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.78 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:08 +0000] "greyarro.ws" 206.180.185.39 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0" "search/show" 302 1117 "-" 0.016 0.012 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:08 +0000] "greyarro.ws" 38.18.55.132 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.57 Safari/537.36" "search/show" 302 1117 "-" 0.008 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:10 +0000] "greyarro.ws" 184.174.54.113 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.69 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:14 +0000] "greyarro.ws" 184.174.72.90 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0.1) Gecko/20100101 Firefox/89.0.1" "search/show" 302 1117 "-" 0.016 0.017 "-" "-" "-" "-" "-" "-" "-" "-"

我担心我们在这里有点偏离了最初的主题,但感谢你的帮助 :slight_smile:

2 个赞

所有这些设置仅在机器人遵循限制和指南时才有用。即使是 Googlebot 也并非总是如此,而坏的机器人则永远不会。这就是 robots.txt 如此无用的原因之一。

免责声明。我不知道 Discourse 是否使用了其他技术来减慢速度。

2 个赞

没有,我们没有。因为你的问题有点离题 :wink: 你想知道一个小细节,而你应该问“当我的 Discourse 受到机器人攻击/ddos 攻击时该怎么办”。

3 个赞