Smetti di far trapelare l'indirizzo IP dell'Host da parte di Discourse quando precarichi link/risorse

Mi riferisco a questo post qui: Discourse Link previews through a proxy server?

Prima di tutto, scusate per aver riesumato questo post di quasi 10 anni, ma sinceramente non riesco a credere che questo non infastidisca nessun altro?

Sono riuscito a nascondere il mio server host e il suo indirizzo IP dietro Cloudflare e, dopo ore di ricerca, sono riuscito a consentire il traffico di rete in entrata solo da Cloudflare, in modo che gli scanner di porte non possano scoprire accidentalmente il forum tramite l’indirizzo IP. La sicurezza è semplicemente molto importante per me. Il server di posta è esterno, quasi tutto è protetto, ma è uno scherzo che qualcuno debba semplicemente inserire un’immagine esca nel post e Discourse la scarichi direttamente per incorporarla o qualcosa di simile. Non sono riuscito a trovare nulla che disabiliti questa funzione. Anche queste anteprime, che dovrebbero essere le anteprime dei link, anche impostandole a 0 non fanno nulla: il pixel di registrazione dell’IP è stato immediatamente incorporato e potrebbe rivelare l’IP dell’host agli aggressori, quindi la protezione di Cloudflare è assolutamente inutile in questo caso. O si proteggono i propri servizi adeguatamente o per niente: a cosa serve Cloudflare se l’aggressore non ha bisogno di 5 minuti per registrarsi, pubblicare un’immagine e scoprire così il vero IP dell’host?

Ho provato per ore oggi usando l’IA, Tor e torsocks, ma non ha mai funzionato veramente. La ricostruzione di solito fallisce non appena si osa cambiare qualcosa nelle impostazioni dell’ambiente. Se qualcuno è riuscito in qualche modo a farlo, li prego di condividerlo con noi. Il più delle volte la ricostruzione fallisce perché l’accesso a Github non funziona, poiché Github probabilmente vieta il traffico Tor.

E tutto questo non dovrebbe essere necessario se si potesse semplicemente disattivare l’anteprima dei link da parte di Discourse.

Sono davvero disperato.

Questo potrebbe essere d’aiuto?

Non è stato creato esattamente per questo (l’obiettivo principale era migliorare l’affidabilità), ma potrebbe far parte di una soluzione.

1 Mi Piace

grazie! Ho aggiunto il tuo plugin e ricostruito discourse - dopo di che ho pensato che se spunto le prime due caselle, forzerà l’uso di un proxy - non importa se uno è configurato o meno - ma non importa se inserisco le informazioni del proxy o se i valori erano vuoti e solo le due caselle erano attivate - carica ancora il pixel di tracciamento con l’indirizzo IP del VPS :confused:

Ora proverò a configurare l’intero docker o solo l’immagine discourse per usare il proxy, forse funzionerà con un normale provider di proxy e non fallirà nella ricostruzione come con tor

2 Mi Piace

peccato. Il percorso del plugin è ancora quello giusto, indipendentemente dalla soluzione, poiché rende la manutenzione molto più semplice

1 Mi Piace

Puoi semplicemente impostare qualcosa come Tinyproxy su un host separato e configurare le variabili d’ambiente per utilizzarlo. Assicurati di disabilitare l’inoltro dell’intestazione IP su Tinyproxy e potrebbe essere utile escludere Github per facilitare anche l’installazione del tema.

Dovresti utilizzare un meccanismo del genere quando Discourse è in esecuzione, non quando viene compilato.

2 Mi Piace

Grazie mille ad entrambi per i vostri suggerimenti e le vostre idee!

Per ora rinuncio; ci sto lavorando da troppo tempo. Pensavo non sarebbe stato così difficile, ma ora sono un po’ perso con tutti gli argomenti relativi ai proxy come SOCKS e SOCKS5. Presumevo che sarebbe stato semplice come aggiungere alcuni parametri o configurazioni alla sezione env di app.yml, ma sembra che dovrei investire molte più ore in una soluzione personalizzata. Perché in generale ho problemi a ottenere una connessione con un proxy in uscita verso, ad esempio, https://check.torproject.org/api/ip con curl. Quindi penso che dovrei approfondire molto di più il proxying.

Sarebbe stato bello se potessi nascondere l’IP dell’host in tutti i modi in cui so che può essere trapelato, ma immagino sia questo il compromesso per utilizzare una piattaforma forum così potente come Discourse. Discourse ha così tante opzioni di configurazione; sarebbe possibile richiedere una funzionalità che impedisca il precaricamento di link e anteprime o, più in generale, il recupero di risorse esterne fornite dagli utenti? Non sono riuscito a trovare un sottoforum per le richieste qui :frowning:

Sì, ma vorrei che la configurazione del proxy persistesse dopo l’aggiornamento o la ricostruzione di Discourse. Lavorare con Docker può essere un po’ complicato.