ProxyTracer: Blocco VPN e Proxy

:information_source: Riepilogo Rileva e blocca il traffico VPN, Tor e proxy durante la registrazione, l’accesso e/o globalmente utilizzando l’API ProxyTracer.
:hammer_and_wrench: Link al Repository https://github.com/ProxyTracer/discourse-proxytracer
:open_book: Guida all’Installazione Come installare i plugin in Discourse

Questo plugin utilizza l’API ProxyTracer per rilevare e bloccare il traffico VPN, Tor e proxy in Discourse.

Funzionalità

  • Offre un controllo preciso sul blocco di utenti VPN, Tor e Proxy durante le nuove registrazioni, l’autenticazione di utenti esistenti o globalmente per tutti i visitatori del sito. Se sei d’accordo che gli utenti VPN, Tor e Proxy abbiano accesso in lettura al tuo forum, puoi risparmiare sulle richieste API abilitando la funzionalità solo per registrazione e autenticazione.
  • Utilizza la memorizzazione nella cache per conservare le valutazioni recenti degli indirizzi IP, riducendo così le richieste all’API e diminuendo la latenza. Puoi controllare per quanto tempo ricordare una valutazione dell’indirizzo IP nelle impostazioni.
  • In caso di timeout dell’API o guasto della rete, il plugin dà priorità all’accesso degli utenti per prevenire blocchi su larga scala. Questo comportamento può essere modificato tramite le opzioni.
  • Supporto integrato per l’aggiunta di whitelist di indirizzi IP esatti e sottoreti CIDR.

Configurazione

  1. Ottieni una chiave API standard dalla Dashboard ProxyTracer.
  2. Accedi al pannello di amministrazione di Discourse: Admin → Plugins → ProxyTracer per trovare le impostazioni di ProxyTracer.
  3. Inserisci la tua chiave API nel campo ProxyTracer API Key.
  4. Abilita i parametri di protezione attivando Enabled during Signup, Enabled during Login e/o Enabled for All Visitors.
  5. Aggiungi eventuali IP fidati o intervalli CIDR alla lista Whitelisted IPs.
  6. (Opzionale) Regola il timeout dell’API e i limiti di durata della cache Redis in base alle esigenze specifiche del traffico del tuo server.
  7. (Opzionale) Personalizza il messaggio di blocco visualizzato agli utenti bloccati. Ad esempio, puoi aggiungere istruzioni per contattare l’amministrazione del sito nel caso in cui ritengano che il blocco non sia giustificato e che non stiano accedendo tramite proxy, Tor o VPN.

Impostazioni

Ecco una tabella delle impostazioni e delle relative descrizioni

Nome Descrizione
API Timeout (ms) Tempo di attesa per la risposta dell’API prima del timeout.
Cache Duration (hours) Durata di conservazione di un indirizzo IP prima di effettuare un nuovo controllo all’API.
Fail Open on Error Se l’API si blocca o va in timeout, consente comunque all’utente di registrarsi o accedere per evitare di bloccare tutti.
Enabled during Signup Blocca proxy e VPN quando un nuovo utente tenta di registrarsi.
Enabled during Login Blocca proxy e VPN quando un utente esistente tenta di accedere.
Enabled for All Visitors Blocca proxy e VPN dall’accesso o dalla visualizzazione di qualsiasi pagina del forum. (Attenzione: questo controlla ogni visitatore e utilizza intensamente la tua quota API).
Block Message Il messaggio di errore esatto mostrato all’utente quando viene bloccato.
Whitelisted IPs Indirizzi IP o intervalli CIDR (ad es. 192.168.1.0/24) che possono bypassare il blocco.

Configurazione di Rete: Cloudflare e Proxy Inversi

:warning: Affinché ProxyTracer funzioni correttamente, l’applicazione Discourse deve ricevere il vero indirizzo IP del client.

Per garantire il corretto inoltro degli indirizzi IP, puoi seguire queste istruzioni dettagliate.

Accesso di Emergenza

Se ti sei bloccato fuori, puoi riaccedere seguendo questi semplici passaggi.


Se desideri effettuare dei test, puoi registrarti su ProxyTracer e ottenere alcuni crediti API gratuiti per le prove.

4 Mi Piace

I crediti si resettano ogni mese successivo?

Stai chiedendo del credito gratuito all’iscrizione? Se è così, si tratta di un unico ricarico una tantum.

Questo non vanifica l’intero scopo del plugin? Chiunque può usare la modalità sicura.

1 Mi Piace

Dipende. C’è un’impostazione del sito che permette di disattivare la modalità sicura, utile per il componente dei topic protetti e per altri componenti/plugin che gli utenti non dovrebbero poter disattivare facilmente (pubblicità, accesso per gli ospiti, …). Tuttavia, quando sei disconnesso, ciò renderebbe più difficile per gli amministratori utilizzare la modalità sicura. Penso che possano comunque attivarla tramite admin-login.

Per questo plugin, dubito che la modalità sicura sia d’aiuto. La modalità sicura disattiva solo la parte front-end dei plugin, mentre questo plugin è scritto interamente in Ruby. Quindi, non credo che disabilitare le personalizzazioni JavaScript sia di alcuna utilità. Questo fatto mi rende un po’ scettico riguardo al plugin, così come il fatto che includa un file about.json come se fosse un componente di tema. Ma alla fine, ognuno è responsabile del codice che installa sul proprio forum.

1 Mi Piace

Hai assolutamente ragione su questo punto; posso confermarlo attraverso i miei test su un’istanza di Discourse appena creata. Ho aggiornato la documentazione con istruzioni che funzionano davvero, che consistono nell’accedere al server e disabilitare manualmente il componente aggiuntivo:

cd /var/discourse
./launcher enter app
rails c
SiteSetting.proxytracer_enabled = false
exit
exit

Posso confermare che la modalità sicura è inaccessibile quando l’impostazione “Abilitata per tutti i visitatori” è attiva e qualcuno tenta di accedere alla modalità sicura mentre si connette tramite una VPN/proxy.

Effettivamente, un about.json è ridondante per i plugin standard; l’ho rimosso dal repository.

Grazie per tutti i tuoi feedback @Moin. Se hai altre osservazioni o suggerimenti, sentiti libero di lasciarli qui. Il codice è completamente open source e qualsiasi contributo è benvenuto: GitHub - ProxyTracer/discourse-proxytracer.

@ProxyTracer Quando provo a accedere con Cloudflare Warp, ricevo ‘errore sconosciuto’ e non il messaggio di blocco.

Ottima individuazione! Questo dovrebbe essere corretto nella versione 0.1.1. Potresti confermare se l’aggiornamento risolve il problema per te?

1 Mi Piace