Bloqueando tentativas de registro de domínio de spammer. <random>.

Tivemos um fluxo recente de tentativas de registro com endereços de e-mail que se parecem com @services.cn, que estão enchendo nossa fila de MTA como não entregáveis.

Meu entendimento é que não há como bloquear domínios usando curingas (conforme Use of an asterisk in blocked email domains prevents registration from any email address - #7 by selase)

Existe alguma outra maneira de evitar esse tipo de ataque?

O Discourse não oferece suporte a curingas na lista de domínios de e-mail bloqueados, portanto, bloquear padrões de domínio inteiros como @services.cn não é possível diretamente. No entanto, existem várias medidas que você pode tomar para reduzir ou prevenir esses ataques de registro de spam:

  1. Reduzir “novas contas por IP de registro”
    Diminua essa configuração para 1 ou outro número baixo para limitar quantas novas contas podem ser criadas do mesmo endereço IP. Isso ajuda a prevenir registros em massa de um único IP e é muito eficaz durante um ataque.
  2. Ativar hCaptcha no Registro
    Adicione um desafio CAPTCHA ao seu formulário de inscrição ativando o Plugin Discourse hCaptcha. Isso aumenta o atrito para bots e cadastros automatizados e está disponível em todos os planos hospedados.
  3. Bloquear Manualmente Domínios Maliciosos Conhecidos
    Embora curingas não sejam suportados, você pode adicionar explicitamente domínios problemáticos à sua lista de “domínios de e-mail bloqueados”.
  4. Exigir Aprovação de Novos Usuários
    Ative temporariamente a configuração para “aprovar usuários”. Isso coloca todos os novos registros em uma fila de moderação para aprovação manual.
2 curtidas

Sandro, você conseguiu resolver seu problema?

Nós acabamos bloqueando esses endereços no nível do postfix

1 curtida

Essa é uma jogada inteligente! Qual foi o curinga que funcionou?

Eu me pergunto por que isso não funcionou? Talvez haja um argumento a ser feito para o suporte a curingas, embora eu possa imaginar que seria muito fácil de configurar incorretamente e tornar seu site impossível de usar para qualquer pessoa!

1 curtida

Respondi por e-mail, mas não vejo minha resposta aqui, não tenho tempo para procurá-la agora e a interface web não me permite simplesmente digitar texto pré-formatado (eu odeio isso!) então você terá que adivinhar :slight_smile:

O que você quer dizer com não conseguir digitar texto pré-formatado?

strk diz que o curinga era /.*@service\\..*\\.cn/.

1 curtida

Bem-vindo à meta, @lnicola! :sunflower:

@strk talvez você não esteja familiarizado com como o texto pré-formatado funciona no Discourse. Existem várias maneiras de fazer isso e é bastante poderoso quando você aprende como. Veja: Posting code or preformatted text

1 curtida

@tobiaseigen há um pequeno bug, no entanto, se eu copiar essa regex como texto e colá-la no Discourse, ela é corrompida para /.@service...cn/ (as barras invertidas são perdidas).

1 curtida

Estamos saindo do assunto aqui! :rofl:

O que você está vendo aí não é um bug, mas um comportamento intencional do markdown. Dois asteriscos ao redor do texto exibem o texto como itálico. Como ele inclui um @, é exibido como @nomedeusuário inválido. Assim que você circunda a regex com crases, ela é exibida como texto pré-formatado:

Itálico com nome de usuário: /.@service\..\.cn/
Texto pré-formatado: /.*@service\\..*\\.cn/

Não funciona para mim:

  1. cole /.*@service\\..*\\.cn/ em um editor de texto simples, copie de volta
  2. abra um backtick no Discourse, cole, você obtém /.@service...cn/
  3. cole como texto simples (Ctrl-Shift-V) em backticks, você ainda obtém /.@service...cn/
  4. se você copiar como HTML (do meu comentário acima), a colagem funciona bem

Sim, consigo replicar o que você está descrevendo, usando o editor de rich text. Tente mudar para o editor de markdown primeiro e funcionará. Não tenho certeza se há algo que possa ser feito a respeito disso.

1 curtida

Este tópico foi fechado automaticamente 30 dias após a última resposta. Novas respostas não são mais permitidas.