Visualizzare indirizzo IP degli ospiti / visitatori anonimi?

È possibile visualizzare gli indirizzi IP degli utenti anonimi / ospiti?

E/o il numero di connessioni da ciascuno?

Il mio sito sta ricevendo centinaia e centinaia di visualizzazioni di pagine al minuto, da qualche ora, anche l’utilizzo del processore è al massimo al 100%.

Hai controllato i tuoi log di Nginx (o qualunque cosa tu stia usando)? Quelli sono bot e tentativi di intrusione. Non fai nulla con gli IP. Cambieranno dopo pochi tentativi (gli IP sono comunque inutili, cambieranno sempre comunque). Dovresti iniziare a fare il geo-blocking (pochissimi siti sono veramente globali) e bannare molti user agent a livello di server; almeno tutti gli scraper SEO totalmente non necessari e avidi, i bot che si identificano come IE5.x ecc.

1 Mi Piace

Se hai eseguito un’installazione standard, dovrebbe esserci un limite di frequenza (e parte di esso è all’interno di Rails). Come hai installato?

1 Mi Piace

Come funziona effettivamente quel limite di frequenza (no, non ho cercato la risposta). Si attiverà dopo un certo numero di richieste in un determinato lasso di tempo per IP?

Comunque, quando c’è una situazione simile a un ddos nel senso che, ad esempio, se un URL viene menzionato in qualche stupida lista, inizia un’inondazione da IP provenienti da Cina, Pakistan, Iran, Iraq, Vietnam e Russia, più molti da grandi servizi VPS, principalmente da USA, Francia e Germania. Quando provano 3 volte e cambiano IP, il limite di frequenza non aiuta molto.

A un certo punto ho ricevuto molte ricerche stupide. E molte significa che un droplet da 5 USD di DigitalOcean è andato in crash e ho avuto quasi zero richieste da parte di umani.

Questa è più o meno una questione di webserver, non di Discourse. Quei disturbatori dovrebbero essere bloccati prima di un’app. So che la mia situazione/soluzioni sono molto più facili di quelle dell’OP o della maggior parte dei webmaster qui perché sono finlandese e il mio forum è puramente finlandese, quindi bannare a livello mondiale è possibile per me (beh, i finlandesi che vivono fuori dalla Finlandia la vedono diversamente :wink: )

Ma indipendentemente dal limite di frequenza, almeno i falsi user agent dovrebbero essere fermati subito.

Come sono gli SSH-knocker? Anche quelli consumano risorse.

1 Mi Piace

Se stai riscontrando problemi di ddos, allora ti consiglierei cloudflare (cosa che faccio quasi mai). Assicurati di utilizzare il template di cloudflare e poi disattiva le ottimizzazioni (o leggi attentamente come configurarle).

1 Mi Piace

Non è un vero attacco ddos. Ma quando ci sono molte richieste dello stesso tipo, queste agiscono come un attacco ddos, il risultato è lo stesso. Uso Varnish e Fail2ban oltre al geo-blocking e questi fanno il lavoro per me.

2 Mi Piace

Sì, ho fatto un’installazione standard.

Il mio primo pensiero è stato semplicemente di essere stato “slashdotted”, ma 24 ore dopo vengo ancora attaccato.

La rapida soluzione temporanea è stata chiudere la porta principale e impostare il sito su “richiesta di accesso”. Questo ha funzionato, l’utilizzo della CPU è sceso dal 100% al 3% entro 60 secondi.

Non appena riapro la porta principale, la mia pagina /search viene immediatamente bombardata con spazzatura come:

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

eccetera.

Questo accade entro 60 secondi dalla riapertura del sito.

Siamo un piccolo gruppo di nicchia, non so perché qualcuno dovrebbe prenderci di mira con qualcosa :roll_eyes:

È solo una stima, ma secondo Google Analytics normalmente abbiamo da 8 a 10 utenti attivi e questo sale a oltre 1.000 nel giro di pochi secondi da quando riapro il sito al pubblico. Tutte le connessioni risultano provenire da varie parti degli Stati Uniti, tutte dirette senza referrer.

Lascerò il sito chiuso solo ai membri per qualche giorno e vedrò se scompare, o se riesco a limitare /search solo agli utenti registrati e, in caso contrario, probabilmente dovrò passare alla soluzione cloudflare.

Grazie a tutti :+1:t2:

1 Mi Piace

Sì. È strano, ma immagino che questo sia internet.

Ohh. Qual è l’user agent? Forse potresti aggiungerlo a blocked crawler user agents?

2 Mi Piace

Ottima domanda!

Vedrò se riesco a trovarlo nella pagina del report di Google Analytics :+1:t2:

1 Mi Piace

Penso che tu possa anche guardare in /var/discourse/shared/log/var-log/nginx/.... (o qualcosa di molto simile). Ci sono altre impostazioni come slow down crawler user agents se cerchi nelle impostazioni “agent”.

2 Mi Piace

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

(scaricamento in locale ora)

Grazie @pfaffman, vedrò se salta fuori qualcosa.

2 Mi Piace

Una rapida analisi sembra mostrare un misto eterogeneo di user agent.

Questo mi fa anche sospettare un attacco ora piuttosto che un 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 che ci stiamo allontanando un po’ dall’argomento originale, ma apprezzo l’aiuto grazie :slight_smile:

2 Mi Piace

Tutte queste impostazioni aiutano solo se un bot seguirà limiti e guide. Anche googlebot non lo fa sempre e quelli cattivi mai. Questo è uno dei motivi per cui robots.txt è così inutile.

E disclaimer. Non so se Discourse stia usando qualche altra tecnologia per rallentare.

2 Mi Piace

No, non lo siamo. Perché la tua domanda era un po’ fuori strada :wink: Volevi sapere un piccolo dettaglio quando invece dovresti chiedere “cosa fare quando il mio Discourse è sotto attacco bot/ddos”.

3 Mi Piace