ProxyTracer: Bloqueador de VPN y proxies

:information_source: Resumen Detectar y bloquear el tráfico de VPN, Tor y proxy durante el registro de usuarios, el inicio de sesión y/o globalmente utilizando la API de ProxyTracer.
:hammer_and_wrench: Enlace al repositorio https://github.com/ProxyTracer/discourse-proxytracer
:open_book: Guía de instalación Cómo instalar plugins en Discourse

Este plugin utiliza la API de ProxyTracer para detectar y bloquear el tráfico de VPN, Tor y proxy en Discourse.

Características

  • Ofrece un control preciso sobre el bloqueo de usuarios de VPN, Tor y proxy durante el registro de nuevos usuarios, la autenticación de usuarios existentes o globalmente para todos los visitantes del sitio. Si estás de acuerdo con que los usuarios de VPN, Tor y proxy tengan acceso de lectura a tu foro, puedes ahorrar solicitudes a la API y habilitarla solo para el registro y la autenticación de usuarios.
  • Utiliza almacenamiento en caché para guardar las evaluaciones recientes de direcciones IP, lo que reduce las solicitudes a la API y disminuye la latencia. Puedes controlar cuánto tiempo se recuerda una evaluación de dirección IP en la configuración.
  • En caso de tiempo de espera de la API o fallo de red, el plugin prioriza el acceso de los usuarios para evitar bloqueos generalizados. Este comportamiento se puede modificar mediante las opciones.
  • Soporte integrado para listas blancas de direcciones IP exactas y subredes CIDR.

Configuración

  1. Obtén una clave de API estándar desde el Panel de ProxyTracer.
  2. Navega al panel de administración de tu Discourse: Admin → Plugins → ProxyTracer para encontrar la configuración de ProxyTracer.
  3. Ingresa tu clave de API en el campo Clave de API de ProxyTracer.
  4. Habilita los parámetros de protección activando Habilitado durante el registro, Habilitado durante el inicio de sesión y/o Habilitado para todos los visitantes.
  5. Agrega cualquier IP de confianza o rangos CIDR a la lista IPs en lista blanca.
  6. (Opcional) Ajusta el tiempo de espera de la API y los límites de duración de la caché Redis según los requisitos específicos de tráfico de tu servidor.
  7. (Opcional) Personaliza el mensaje de bloqueo que aparece para los usuarios bloqueados. Por ejemplo, puedes agregar instrucciones para contactar a la administración del sitio en caso de que crean que el bloqueo no está justificado y que no están accediendo al sitio a través de un proxy, Tor o VPN.

Configuración

Incluye una tabla de configuraciones y descripciones de ajustes

Nombre Descripción
Tiempo de espera de la API (ms) Tiempo de espera para que la API responda antes de agotarse.
Duración de la caché (horas) Tiempo para recordar una dirección IP antes de consultar nuevamente la API.
Abrir en caso de error Si la API falla o se agota el tiempo, permitir que el usuario se registre/inicie sesión de todos modos para evitar bloquear a todos.
Habilitado durante el registro Bloquear proxies y VPNs cuando un nuevo usuario intenta registrarse.
Habilitado durante el inicio de sesión Bloquear proxies y VPNs cuando un usuario existente intenta iniciar sesión.
Habilitado para todos los visitantes Bloquear proxies y VPNs para acceder o ver cualquier página del foro. (Advertencia: Esto verifica a todos los visitantes y utiliza intensivamente tu cuota de API).
Mensaje de bloqueo El mensaje de error exacto mostrado al usuario cuando es bloqueado.
IPs en lista blanca Direcciones IP o rangos CIDR (por ejemplo, 192.168.1.0/24) que están estrictamente permitidos para omitir el bloqueo.

Configuración de red: Cloudflare y proxies inversos

:warning: Para que ProxyTracer funcione correctamente, la aplicación de Discourse debe recibir la dirección IP real del cliente.

Para garantizar el reenvío correcto de la dirección IP, puedes seguir estas instrucciones detalladas.

Acceso de emergencia

Si te has bloqueado a ti mismo, puedes recuperar el acceso siguiendo estos pasos sencillos.


Si deseas probar las funcionalidades, puedes registrarte en ProxyTracer y obtener créditos de API gratuitos para pruebas.

4 Me gusta

¿Se reinician los créditos cada mes?

¿Te refieres al crédito gratuito al registrarte? Si es así, solo es una recarga única.

¿Acaso esto no anula por completo el propósito del complemento? Cualquiera puede usar el modo seguro.

1 me gusta

Depende. Hay una configuración del sitio que permite desactivar el modo seguro, lo cual es útil para el componente de temas restringidos y otros componentes o complementos que los usuarios no deberían poder desactivar tan fácilmente (publicidad, puerta para invitados, etc.). Sin embargo, mientras no hayas iniciado sesión, eso también dificultaría que los administradores usen el modo seguro. Creo que aún pueden activarlo mediante inicio de sesión como administrador.

En cuanto a este complemento, dudo que el modo seguro ayude. El modo seguro solo desactiva la parte del lado del cliente de los complementos, y este complemento está escrito 100% en Ruby. Por lo tanto, no creo que desactivar las personalizaciones de JavaScript sea de mucha ayuda. Este hecho me hace un poco escéptico sobre el complemento, al igual que el hecho de que incluya un archivo about.json como si fuera un componente de tema. Pero al final, cada uno es responsable del código que instala en su foro.

2 Me gusta

Tienes toda la razón en esto; puedo confirmarlo con mis propias pruebas en una instancia de Discourse recién creada. Procedí a actualizar la documentación con instrucciones que realmente funcionan, las cuales consisten en iniciar sesión en el servidor y desactivar manualmente el complemento:

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

Puedo confirmar que el modo seguro es inaccesible cuando la configuración “Habilitado para todos los visitantes” está activada y alguien intenta acceder al modo seguro mientras se conecta mediante una VPN/proxy.

Efectivamente, un about.json es redundante para los plugins estándar, así que procedí a eliminarlo del repositorio.

Gracias por todos tus comentarios, @Moin. Si tienes otras observaciones o sugerencias, siéntete libre de dejarlas aquí. El código es completamente de código abierto y cualquier contribución es bienvenida: GitHub - ProxyTracer/discourse-proxytracer.

@ProxyTracer Cuando intento iniciar sesión con Cloudflare Warp, aparece ‘error desconocido’ en lugar del mensaje de bloqueo.

¡Excelente hallazgo! Esto debería estar solucionado en la versión 0.1.1. ¿Podrías confirmar si la actualización resuelve el problema para ti?

1 me gusta