ProxyTracer: Bloqueador de VPN e Proxy

:information_source: Resumo Detectar e bloquear tráfego de VPN, Tor e proxy durante o registro de usuários, login e/ou globalmente usando a API ProxyTracer.
:hammer_and_wrench: Link do Repositório https://github.com/ProxyTracer/discourse-proxytracer
:open_book: Guia de Instalação Como instalar plugins no Discourse

Este plugin usa a API ProxyTracer para detectar e bloquear tráfego de VPN, Tor e proxy no Discourse.

Recursos

  • Oferece controle fino sobre o bloqueio de usuários de VPN, Tor e Proxy durante novos registros de usuários, autenticação de usuários existentes ou globalmente para todos os visitantes do site. Se você permitir que usuários de VPN, Tor e Proxy tenham acesso de leitura ao seu fórum, poderá economizar solicitações à API e habilitá-la apenas para registro e autenticação de usuários.
  • Utiliza cache para armazenar avaliações recentes de endereços IP, reduzindo assim solicitações à API e diminuindo a latência. Você pode controlar por quanto tempo uma avaliação de endereço IP deve ser mantida nas configurações.
  • Em caso de tempo limite da API ou falha de rede, o plugin prioriza o acesso do usuário para evitar bloqueios em larga escala. Esse comportamento pode ser alterado nas opções.
  • Suporte integrado para listas de permissões de IPs exatos e sub-redes CIDR.

Configuração

  1. Obtenha uma chave de API padrão no Painel ProxyTracer.
  2. Acesse o painel de administração do seu Discourse: Admin → Plugins → ProxyTracer para encontrar as configurações do ProxyTracer.
  3. Insira sua chave de API no campo Chave da API ProxyTracer.
  4. Ative os parâmetros de proteção alternando Ativado durante o Cadastro, Ativado durante o Login e/ou Ativado para Todos os Visitantes.
  5. Adicione IPs confiáveis ou intervalos CIDR à lista IPs na Lista de Permissões.
  6. (Opcional) Ajuste o tempo limite da API e os limites de duração do cache Redis conforme as necessidades específicas de tráfego do seu servidor.
  7. (Opcional) Personalize a Mensagem de Bloqueio exibida aos usuários bloqueados. Por exemplo, você pode adicionar instruções para entrar em contato com a administração do caso acreditem que o bloqueio não é justificado e que não estão acessando o site por meio de proxy, Tor ou VPN.

Configurações

Inclua uma tabela com as configurações e suas descrições

Nome Descrição
Tempo Limite da API (ms) Tempo de espera pela resposta da API antes de ocorrer um tempo limite.
Duração do Cache (horas) Tempo para lembrar um endereço IP antes de verificar novamente a API.
Falha Aberta em Erro Se a API falhar ou ocorrer tempo limite, permita que o usuário se registre/entre de qualquer forma para evitar bloquear todos.
Ativado durante o Cadastro Bloqueie proxies e VPNs quando um novo usuário tentar se registrar.
Ativado durante o Login Bloqueie proxies e VPNs quando um usuário existente tentar fazer login.
Ativado para Todos os Visitantes Bloqueie proxies e VPNs de acessar ou visualizar qualquer página no fórum. (Aviso: Isso verifica todos os visitantes e utiliza intensamente sua cota de API).
Mensagem de Bloqueio A mensagem de erro exata exibida ao usuário quando ele é bloqueado.
IPs na Lista de Permissões Endereços IP ou intervalos CIDR (por exemplo, 192.168.1.0/24) que são estritamente permitidos para contornar o bloqueio.

Configuração de Rede: Cloudflare & Proxies Reversos

:warning: Para que o ProxyTracer funcione efetivamente, a aplicação Discourse deve receber o verdadeiro endereço IP do cliente.

Para garantir o encaminhamento correto do endereço IP, siga estas instruções detalhadas.

Acesso de Emergência

Se você se trancar fora, poderá recuperar o acesso seguindo estas etapas simples.


Se quiser testar, você pode se cadastrar no ProxyTracer e obter créditos de API gratuitos para testes.

4 curtidas

os créditos reiniciam no próximo mês?

Você está perguntando sobre o crédito gratuito durante o cadastro? Se for esse o caso, é apenas um recarga única.

Isso não anula todo o propósito do plugin? Qualquer pessoa pode usar o modo seguro.

1 curtida

Depende. Existe uma configuração do site que permite desativar o modo seguro, o que é útil para o componente de tópico restrito e outros componentes/plugins que os usuários não deveriam poder desativar facilmente (publicidade, gate para convidados, …). Mas, enquanto você estiver desconectado, isso também tornaria mais difícil para os administradores usar o modo seguro. Acredito que eles ainda possam ativá-lo usando admin-login.

Para este plugin, duvido que o modo seguro ajude. O modo seguro desativa apenas a parte front-end dos plugins, e este plugin é 100% Ruby. Portanto, não acho que desativar customizações de JavaScript seja de alguma ajuda. Esse fato me deixa um pouco cético em relação ao plugin, assim como o fato de ele incluir um arquivo about.json como se fosse um componente de tema. Mas, no final, cada um é responsável pelo código que instala em seu fórum.

2 curtidas

Você está absolutamente correto sobre isso; posso confirmar isso através dos meus próprios testes com uma instância do Discourse recém-criada. Procedi e atualizei a documentação com instruções que realmente funcionam, que consistem em fazer login no servidor e desativar manualmente o addon:

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

Posso confirmar que o modo seguro é inacessível quando a configuração “Habilitado para todos os visitantes” está ativada e alguém tenta acessar o modo seguro enquanto se conecta usando uma VPN/proxy.

De fato, um about.json é redundante para plugins padrão; procedi e removi-o do repositório.

Obrigado por todo o seu feedback, @Moin. Se tiver mais comentários ou sugestões, sinta-se à vontade para deixá-los aqui. O código é totalmente de código aberto e qualquer contribuição é bem-vinda: GitHub - ProxyTracer/discourse-proxytracer.

@ProxyTracer Quando tento fazer login com o Cloudflare Warp, recebo ‘erro desconhecido’ e não a mensagem de bloqueio.

Ótima observação! Isso deve ser corrigido na versão 0.1.1. Você poderia confirmar se a atualização resolve o problema para você?

1 curtida