Não consigo excluir spammers facilmente devido à configuração do meu site

Então, no momento, tenho um gargalo ao deletar usuários de spam e suas postagens.

Preciso deletar manualmente todas as postagens de um usuário antes de excluí-lo, aguardar que o processo seja concluído com o navegador aberto e, só então, deletar o usuário.

Consigo processar apenas 2 a 3 por vez, mesmo que o servidor tenha 16 CPUs Xeon modernas; caso contrário, recebo um erro. Cada um leva vários minutos. Atualmente, é um processo muito tedioso e lento.

Na minha opinião, seria ideal haver uma opção “deletar spammer/destruir usuário” que não exigisse a exclusão prévia de todas as postagens. Ela então colocaria as tarefas em fila e as processaria em segundo plano (deletar todas as postagens e depois o usuário). Dessa forma, a moderação poderia ser feita rapidamente, e o processamento ocorreria em segundo plano, sem sobrecarregar o sistema.

Outra opção seria permitir simplesmente deletar o usuário antes de remover suas postagens. Em seguida, teríamos um cron que roda periodicamente, procurando e excluindo postagens órfãs. Acredito que essa opção poderia ser mais preferível, pois resolveria quaisquer problemas relacionados a postagens órfãs de forma geral.

Também seria uma grande economia de tempo se algumas dessas opções estivessem disponíveis no cartão do usuário dentro dos tópicos, para que não precisássemos acessar o perfil do usuário e a página de administração para obter essas funcionalidades (suspender, silenciar, deletar/destruir).

3 curtidas

Esses spammers usam alguma palavra ou frase específica?
Você pode adicioná-la à lista de palavras monitoradas e impedir que o spam seja publicado.

Você pode ajustar temporariamente as seguintes configurações para permitir que você exclua as contas dos spammers sem muita complicação: delete_user_max_post_age e delete_all_posts_max. Apenas certifique-se de redefini-las para os valores padrão assim que terminar, para que os usuários não possam simplesmente fazer spam e se excluir.

4 curtidas

Obrigado pelas sugestões, @itsbhanusharma.

Sim, eles usam frases específicas, mas podem contornar isso facilmente usando conjuntos de caracteres Unicode (veja: Watched Words Improvement -- similar looking unicode characters).

Já ajustei ambas as configurações. O gargalo é que está levando muito tempo para excluir o usuário e as postagens.

1 curtida

Eu me pergunto: limitar as opções de cadastro ou exigir autenticação de dois fatores (2FA) para os usuários pode ser útil no seu caso?

1 curtida

Há algo profundamente e gravemente errado na sua configuração, pois novos usuários com nível de confiança 0

  • não podem postar muito, pois estão severamente limitados em frequência por motivos de segurança

  • não estão protegidos contra exclusão de conteúdo quando sinalizados

Excluir um spammer é uma operação de um clique com as configurações padrão do Discourse. Sempre foi.

2 curtidas

Respeitosamente, não acho que haja nada de errado com minha configuração em termos de limitação de taxa para novos usuários. São principalmente configurações padrão, com algumas alterações para serem mais restritivas que o padrão.

As únicas limitações de taxa para novos usuários (apenas para postar tópicos e respostas) que observei são:

  • máximo de tópicos no primeiro dia: o padrão é 3 tópicos – Spammers só precisam esperar 24 horas após o primeiro post
  • máximo de respostas no primeiro dia: o padrão é 10 respostas – Spammers só precisam esperar 24 horas após o primeiro post
  • limite de taxa para novos usuários criarem tópicos: padrão é 120 segundos entre posts / 720 tópicos por dia / 30 por hora
  • limite de taxa para novos usuários criarem posts: padrão é 30 segundos entre posts / 2880 posts por dia / 120 por hora

Por favor, me avise se estou deixando algo passar. Espero que sim. Detalhes seriam muito bem-vindos.

não estão protegidos contra exclusão de conteúdo quando sinalizados

Não tive problemas com isso, pois modifiquei delete_user_max_post_age e delete_all_posts_max.

Excluir um spammer é uma operação de um clique com as configurações padrão do Discourse. Sempre foi.

A qual opção de exclusão você está se referindo? Tenho usado principalmente a disponível na página administrativa do usuário, na qual é necessário excluir todos os posts antes de excluir o usuário.

Evitei usar a opção de exclusão de usuário do Akismet na fila de revisão, já que foi confirmado pela equipe que ela não exclui os posts do usuário (Discourse Akismet - #10)

O botão de exclusão na página do perfil do usuário me exibe este erro após um longo atraso (se houver posts/conteúdo): “Ocorreu um erro ao excluir esse usuário. Certifique-se de que todos os posts foram excluídos antes de tentar excluir o usuário.”

A flag > é spam > excluir spammer me dá o mesmo erro: “Ocorreu um erro ao excluir esse usuário. Certifique-se de que todos os posts foram excluídos antes de tentar excluir o usuário.” É um pouco irregular: falhou em um spammer com ~500 posts, mas funcionou em um spammer com ~150 posts (mesmo exibindo a mensagem de erro). Funciona corretamente em contas com apenas alguns posts.

Como diabos um spammer pode chegar a 500 posts?! Isso implica que você modificou bastante as configurações padrão do Discourse, pois um novo usuário tem limite de taxa de postagem como TL0 e, além disso, tem um limite de posts no primeiro dia.

Vou precisar ouvir muitos mais detalhes, com datas e horários. Parece-me que esses são usuários que se cadastraram e participaram mais ou menos normalmente, e você decidiu que eram spammers semanas depois? Você pode fornecer 10 exemplos de posts desses usuários para analisarmos?

3 curtidas

@codinghorror

Agradeceria que não colocasse palavras na minha boca reescrevendo completamente o título do meu tópico de forma objetivamente imprecisa.

  1. Sim, os spammers não fazem spam apenas no primeiro dia. É a manobra mais antiga do livro de spam de fóruns: postar apresentações ou outras mensagens curtas e que parecem inofensivas no dia 1 para aquecer a conta para spam posterior (geralmente para contornar aprovações manuais). Ou simplesmente ainda não foram detectados nas primeiras 24 horas.

  2. Novos usuários TL0 (24 horas após o primeiro post) são limitados a 2880 posts e 720 tópicos por dia por padrão, por favor me esclareça se estou enganado.

  3. Eles usam spinners para tornar cada post único e contornar a configuração de ‘mínimo de posts únicos’, por exemplo, adicionando emojis aleatórios, caracteres, números etc.

  4. Palavras monitoradas são facilmente contornadas usando diferentes conjuntos de caracteres Unicode: Watched Words Improvement -- similar looking unicode characters

  5. Silenciamento automático de digitação rápida no primeiro post — facilmente contornado e aplica-se apenas aos primeiros posts.

  6. É muito fácil para spammers criarem contas em massa usando recursos mínimos com um grande pool de proxies. Usar o antigo truque do ponto do Gmail torna completamente impossível bloquear com uma instância padrão do Discourse (incluindo se o Akismet for usado). Basicamente, você fica à mercê de alguém motivado o suficiente para fazer spam no seu fórum. Veja: Protecting against gmail dot trick in Discourse e Suggestion: Wildcard Block Email Address

De qualquer forma, estou compartilhando essas percepções das trincheiras do spam com o objetivo de ajudar o Discourse a se tornar mais à prova de balas. Os recursos anti-spam têm sido realmente testados sob pressão aqui.

Os spammers têm duas opções principais: criar várias contas e fazer um pouco de spam em cada uma, ou criar menos contas e fazer muito spam em cada uma. Se ficarmos mais rígidos com os limites de taxa, eles simplesmente responderão criando mais contas, já que é tão fácil e impossível de bloquear criá-las usando o truque do ponto do Gmail.

Eles também podem usar um domínio personalizado com e-mail catchall para ter endereços de e-mail ilimitados para registro, mas isso só funciona até que eu liste o domínio de e-mail deles na blacklist, o que é uma defesa eficaz. Seria realmente útil poder excluir todas as contas que usam um domínio de e-mail específico para bani-las retroativamente de forma rápida e fácil. Ainda melhor se isso fosse possível com o Gmail (e todas as variações do endereço).

O que tenho discutido é a capacidade de limpar a bagunça mais rápida e eficientemente em segundo plano. Excluindo os spammers que passam pelas defesas. Além disso, para funcionar como pretendido, como a opção de excluir spammer funcionando para spammers com quantidades decentes de posts.

Sinceramente, seu site parece patológico. Não há como eu já ter visto um spammer real atingir 500 posts no Discourse, muito menos 150… ao longo de milhares de sites hospedados nos últimos 5 anos, incluindo vários que eu mesmo administro e gerencio. A única coisa que me vem à mente é o spam bamwar, que você pode pesquisar se estiver curioso.

Pode compartilhar os detalhes específicos mencionados anteriormente? Caso contrário, não tenho certeza de que alguém aqui possa te ajudar:

Quero dizer, você administra um site blackhat para spammers? :thinking:

3 curtidas

Vi esse tópico há algum tempo. Parece um problema bastante grave que ainda está em andamento e é estressante. Não sei se isso ajudaria (pode ajudar com posts, mas não com registros), mas você já tentou isso?

admin/site_settings/category/posting?filter=Approve

  • quantidade de aprovação de posts (A quantidade de posts de um usuário novo ou básico que precisa ser aprovada)

  • aprovar a menos que nível de confiança (Posts de usuários abaixo deste nível de confiança precisam ser aprovados)

  • aprovar novos tópicos a menos que nível de confiança (Novos tópicos de usuários abaixo deste nível de confiança precisam ser aprovados)

4 curtidas