Detener que Discourse filtre su dirección IP de Host al precargar enlaces/recursos

Me refiero a esta publicación aquí: Discourse Link previews through a proxy server?

En primer lugar, lamento revivir esta publicación de casi 10 años, pero ¿de verdad no le molesta a nadie más?

Ahora he conseguido ocultar mi servidor anfitrión y su dirección IP detrás de Cloudflare y, después de horas de búsqueda, he conseguido permitir el tráfico de red entrante solo desde Cloudflare para que los escáneres de puertos no descubran accidentalmente el foro bajo la dirección IP. La seguridad es simplemente muy importante para mí. El servidor de correo es externo, casi todo está protegido, pero es una broma que alguien solo tenga que insertar una imagen señuelo en la publicación y Discourse la descargue directamente para incrustarla o algo parecido. No he podido encontrar nada que desactive esto. Incluso estos oneboxes, que supuestamente son las vistas previas, incluso configurándolos a 0 no sirve de nada: el píxel de registro de IP se incrustó inmediatamente y podría revelar la IP del anfitrión a los atacantes, por lo que la protección de Cloudflare es absolutamente inútil en este caso. O proteges tus servicios adecuadamente o no lo haces en absoluto: ¿de qué nos sirve Cloudflare si el atacante no necesita 5 minutos para registrarse, publicar una imagen y así averiguar la IP real del anfitrión?

He estado intentando durante horas hoy usando IA, tor y torsocks, pero nunca funcionó realmente. La reconstrucción generalmente falla tan pronto como me atrevo a cambiar algo en la configuración del entorno. Si alguien ha logrado hacer esto de alguna manera, casi les suplico que lo compartan con nosotros. La mayoría de las veces, la reconstrucción falla porque el acceso a Github no funciona, ya que Github probablemente prohíbe el tráfico Tor.

Y todo esto no tendría por qué ser así si simplemente se pudiera desactivar que Discourse cargue los enlaces por adelantado.

Estoy realmente desesperado.

¿Podría esto ayudar?

No se creó exactamente para esto (el objetivo principal era mejorar la fiabilidad), pero podría ser parte de una solución.

1 me gusta

¡Gracias! Añadí tu complemento y reconstruí Discourse; después de eso, pensé que si marcaba las dos primeras casillas, se forzaría el uso de un proxy, sin importar si está configurado o no, pero no importa si pongo información del proxy o si los valores estaban vacíos y solo se activaban las dos casillas, sigue cargando el píxel de seguimiento con la dirección IP del VPS :confused:

Intentaré ahora configurar Docker completo o solo la imagen de Discourse para usar un proxy, tal vez funcione con un proveedor de proxy normal y no falle al reconstruir como con Tor.

2 Me gusta

Qué pena. La ruta de complementos (plugin route) sigue siendo la forma correcta de proceder, independientemente de la solución, ya que facilita mucho el mantenimiento.

1 me gusta

Puede configurar algo como Tinyproxy en un host separado y configurar las variables de entorno para usarlo. Asegúrese de deshabilitar el reenvío de encabezados IP en Tinyproxy y puede ser útil excluir Github para facilitar también la instalación de temas.

Debería estar utilizando dicho mecanismo cuando Discourse se esté ejecutando, no cuando se esté construyendo.

2 Me gusta

¡Muchas gracias a ambos por sus sugerencias e ideas!

Por ahora lo dejo, he estado trabajando en esto durante demasiado tiempo. Pensé que no sería tan difícil, pero ahora estoy un poco perdido con todos los temas de proxy como SOCKS y SOCKS5. Asumí que sería tan simple como añadir algunos parámetros o configuraciones a la sección env de app.yml, pero parece que necesitaría invertir muchas más horas en una solución personalizada. Porque en general tengo problemas para conseguir una conexión con proxy saliente a, por ejemplo, https://check.torproject.org/api/ip con curl. Así que creo que tendría que profundizar mucho más en el proxy.

Habría sido bueno poder ocultar la IP del host de todas las formas en que sé que se puede filtrar, pero supongo que ese es el compromiso de usar una plataforma de foro tan potente como Discourse. Discourse tiene muchísimas opciones de configuración; ¿sería posible solicitar una funcionalidad que evite que precargue enlaces y vistas previas o, más generalmente, que obtenga recursos externos proporcionados por los usuarios? No pude encontrar un subforo de solicitudes aquí :frowning:

[quote=“RGJ, post:5, topic:399012”]Deberías estar utilizando tal mecanismo cuando Discourse se ejecuta, no cuando se está construyendo.

[/quote]

Sí, pero me gustaría que la configuración del proxy persistiera después de actualizar o reconstruir Discourse. Trabajar con Docker puede ser un poco complicado.