Visualizar endereço IP de convidados / visitantes anônimos?

Existe uma maneira de visualizar os endereços IP de usuários anônimos / convidados?

E/ou o número de conexões de cada um?

Meu site tem recebido centenas e centenas de visualizações de página por minuto, nas últimas horas, o uso do processador também está no máximo, 100%.

Você verificou seus logs do Nginx (ou o que quer que você esteja usando)? Esses são bots e invasores. Você não faz nada com IPs. Eles mudarão após algumas tentativas (IPs são inúteis de qualquer maneira, eles sempre mudarão de qualquer maneira). Você deve começar a fazer geo-blocking (muitos sites são realmente verdadeiramente globais) e banir muitos user agents no nível do servidor; pelo menos todos os scrapers de SEO totalmente desnecessários e gananciosos, bots que se identificam como IE5.x etc.

1 curtida

Se você fez uma instalação padrão, deve haver limitação de taxa em vigor (e parte dela está dentro do Rails). Como você instalou?

1 curtida

Como essa limitação de taxa está funcionando na verdade (não, eu não procurei a resposta). Ela será ativada após uma quantidade de requisições em algum período de tempo por IP?

De qualquer forma, quando há uma situação de ddos no sentido de, por exemplo, se um URL é mencionado em alguma lista estúpida, então começa um dilúvio de IPs da China, Paquistão, Irã, Iraque, Vietnã e Rússia, além de muitos de grandes serviços de VPS, principalmente dos EUA, França e Alemanha. Quando eles tentam 3 vezes e mudam de IP, a limitação de taxa não ajuda muito.

Cheguei a ter muitas buscas estúpidas. E muito significa que um droplet de 5 USD da DigitalOcean travou e eu tive quase zero requisições de humanos.

Isso é mais ou menos uma questão do servidor web, não do Discourse. Aqueles que batem deveriam ser mortos antes de um aplicativo. Eu sei que minha situação/soluções são muito mais fáceis do que as do OP ou da maioria dos webmasters aqui porque sou da Finlândia e meu fórum é puramente finlandês — então banir mundialmente é possível para mim (bem, os finlandeses que vivem fora da Finlândia veem isso de forma diferente :wink: )

Mas, independentemente da limitação de taxa, pelo menos os user agents falsos deveriam parar imediatamente.

Como estão os knockers de SSH? Eles também consomem recursos.

1 curtida

Se você estiver tendo problemas de ddos, recomendo o Cloudflare (o que eu quase nunca faço). Certifique-se de usar o modelo Cloudflare e, em seguida, desative as otimizações (ou leia atentamente sobre como configurar isso).

1 curtida

Não é um ddos real. Mas quando há muitas requisições do mesmo tipo, elas agem como ddos, o resultado é o mesmo. Estou usando Varnish e Fail2ban, além de geo-blocking, e isso faz o trabalho para mim.

2 curtidas

Sim, fiz uma instalação padrão.

Meu primeiro pensamento foi simplesmente ser slashdotted, mas 24 horas depois ainda estou sendo atacado.

A solução temporária rápida foi fechar a porta da frente e definir o site como “login obrigatório”. O que funcionou, o uso da CPU caiu de 100% para 3% em 60 segundos.

Assim que eu abro a porta da frente novamente, minha página /search é instantaneamente bombardeada com lixo como:

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

etc.

Isso acontece em 60 segundos após reabrir o site.

Somos um pequeno grupo de nicho, não sei por que alguém nos atacaria com qualquer coisa :roll_eyes:

É apenas uma estimativa, mas de acordo com o Google Analytics, normalmente temos de 8 a 10 usuários ativos e isso dispara para mais de 1.000 em segundos após eu reabrir o site ao público novamente. Todas as conexões mostram como vindas de várias partes dos EUA, todas diretas, sem referenciadores.

Vou deixar o site fechado apenas para membros por alguns dias e ver se isso desaparece, ou ver se consigo limitar o /search apenas para usuários logados e, se não, provavelmente terei que seguir o caminho do cloudflare.

Obrigado a todos :+1:t2:

1 curtida

Sim. Isso é bizarro, mas acho que é a internet.

Ohh. Qual é o user agent? Talvez você possa adicionar a user agents de crawlers bloqueados?

2 curtidas

Boa pergunta!

Vou ver se consigo encontrar isso na página de relatórios do Google Analytics :+1:t2:

1 curtida

Acho que você também pode procurar em /var/discourse/shared/log/var-log/nginx/.... (ou algo muito parecido). Existem outras configurações como slow down crawler user agents se você procurar por “agent” nas configurações.

2 curtidas

Encontrado em: /var/discourse/shared/standalone/log/var-log/nginx/access.log

(baixando localmente agora)

Obrigado @pfaffman, verei se algo se destaca para mim.

2 curtidas

Uma rápida análise parece mostrar uma mistura variada de user agents.

Isso também me faz suspeitar de um ataque agora, em vez de um 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 "-" "-" "-" "-" "-" "-" "-" "-"

e:

[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 "-" "-" "-" "-" "-" "-" "-" "-"

Temo que estamos nos desviando um pouco do tópico original, mas agradeço a ajuda, obrigado :slight_smile:

2 curtidas

Todas essas configurações ajudam apenas se um bot seguir os limites e guias. Mesmo o googlebot não o faz o tempo todo e os ruins nunca. Essa é uma razão pela qual o robots.txt é tão inútil.

E um aviso. Não sei se o Discourse está usando alguma outra tecnologia para diminuir a velocidade.

2 curtidas

Não, não estamos. Porque sua pergunta foi um pouco fora de mão :wink: Você queria saber um pequeno detalhe quando deveria perguntar “o que fazer quando meu Discourse está sob ataque de bots/ddos”.

3 curtidas