Spammers usando imagens carregadas em e-mails de spam. Algum conselho sobre como resolver?

Tenho uma instalação do Discourse e estou muito feliz com ela. Recentemente, spammers encontraram maneiras de contornar a proteção contra spam integrada. O problema é que eles postam imagens em suas postagens e, em seguida, incorporam imediatamente essas imagens em e-mails de spam que enviam para milhares de pessoas. Mesmo que eu exclua as postagens, essas imagens parecem permanecer disponíveis por um bom tempo.
Isso levou a algumas reclamações de abuso de spam do meu provedor.

Atualmente, desativei o upload de imagens para novos usuários, mas, como é um fórum de suporte, essa não é uma solução muito agradável. As pessoas geralmente precisam adicionar capturas de tela, etc., às suas primeiras postagens.

Alguém encontrou uma solução viável para este problema?

Já tentei descomentar o comando valid_referers para ^/uploads, mas ele não parece fazer nada. As imagens ainda podem ser incorporadas:

   location ~ ^/uploads/ {

      # NOTA: é muito chato que não possamos apenas definir cabeçalhos
      # no nível superior e herdar.
      #
      # proxy_set_header NÃO herda, por design, devemos repeti-lo,
      # caso contrário, os cabeçalhos não são definidos corretamente
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Request-Start "t=${msec}";
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $thescheme;
      proxy_set_header X-Sendfile-Type X-Accel-Redirect;
      proxy_set_header X-Accel-Mapping $public/=/downloads/;
      expires 1y;
      add_header Cache-Control public,immutable;

      ## regras opcionais de anti-hotlinking de upload
      valid_referers folivora.ai *.folivora.ai *.llo.ai;
      if ($invalid_referer) { return 403; }

      # CSS personalizado
      location ~ /stylesheet-cache/ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }
      # isso nos permite contornar o rails
      location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff|ico||avif)$ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }
      # SVG precisa de um cabeçalho extra anexado
      location ~* \.(svg)$ {
      }
      # miniaturas e imagens otimizadas
      location ~ /_?optimized/ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }

      proxy_pass http://discourse;
      break;
    }
2 curtidas

Hmmm. Esse é um complicado. :thinking:

Acho que se você editar a postagem para remover a imagem, para que ela não seja incluída na versão mais recente de uma postagem (excluída ou não), e também definir clean orphan uploads grace period hours para o mínimo de 1 hora, isso pode acelerar a remoção.

No entanto, não é uma solução ideal para isso, nem em termos de facilidade de uso nem de imediatismo.

1 curtida

Já defini para uma hora, mas eles são muito rápidos em enviar seus e-mails de spam…

Você sabe se usar o S3 em vez do meu próprio servidor para uploads resolveria o problema? Existe talvez alguma maneira de permitir a visualização de imagens carregadas apenas para usuários logados?

1 curtida

Existe o recurso de Uploads Seguros que pode ser útil:

Embora seja uma configuração avançada e não uma com a qual eu esteja muito familiarizado.


Na verdade, relendo, pode não ser adequado para isso, afinal:

3 curtidas

Talvez eu devesse postar isso como uma solicitação de recurso então.

Basicamente, acredito que precisaria de duas coisas:

  • capacidade de remover imediatamente imagens se um usuário for excluído (incluindo a foto de perfil)
  • capacidade de remover ou proteger imediatamente imagens se um usuário for sinalizado para revisão

Use isto, você pode excluir imagens permanentemente com facilidade e rapidez

1 curtida

Obrigado, vou tentar isso. Você tem certeza de que também excluirá permanentemente as imagens?

Eu acho que ele exclui as postagens e os uploads são tratados de forma semelhante ao método acima usando clean orphan uploads grace period hours.

Há também um atraso embutido de 5 minutos entre a exclusão lógica e a exclusão permanente pelo mesmo administrador (embora um segundo administrador não enfrente a mesma espera).

Vale a pena tentar. :crossed_fingers:

1 curtida

Sim. E como o outro colega acima disse. É preciso esperar 5 minutos. Basta usar outra conta de administrador para fazer isso instantaneamente. Isso excluirá permanentemente a imagem.

Eu acho que há algo errado com sua configuração do NGINX. Quando tento abrir uma imagem do seu fórum em uma nova aba, ela carrega normalmente, embora não devesse, já que não passei nenhum referer :thinking:
Se você conseguir fazer funcionar, isso resolverá a maioria dos seus problemas com spam, pois eles não poderão fazer hotlink para nenhuma das imagens do seu fórum.

3 curtidas