スパムメールにおけるアップロード画像利用スパマー。解決方法のアドバイスは?

Discourseのインストールをしており、非常に満足しています。最近、スパマーが組み込みのスパム対策を回避する方法を見つけました。問題は、スパマーが投稿に画像を投稿し、その画像を数千人に送信するスパムメールにすぐに埋め込んでいることです。投稿を削除しても、これらの画像はかなりの時間利用可能なようです。

これにより、ホスティング業者からスパムの悪用に関する苦情がいくつか寄せられました。

現在、新規ユーザーの画像アップロードを無効にしていますが、サポートフォーラムであるため、これはあまり良い解決策ではありません。ユーザーはしばしば、最初の投稿にスクリーンショットなどを追加する必要があります。

この問題に対する実行可能な解決策を見つけた人はいますか?

^/uploads の valid_referers コマンドのコメントを解除してみましたが、何も効果がないようです。画像は引き続き埋め込むことができます。

   location ~ ^/uploads/ {

      # 注:ヘッダーをトップレベルで定義して継承できないのは非常に迷惑です。
      #
      # proxy_set_header は設計上継承されないため、繰り返す必要があります。
      # そうしないと、ヘッダーが正しく設定されません。
      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;

      ## オプションのアップロードホットリンク防止ルール
      valid_referers folivora.ai *.folivora.ai *.llo.ai;
      if ($invalid_referer) { return 403; }

      # カスタムCSS
      location ~ /stylesheet-cache/ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }
      # これによりRailsをバイパスできます
      location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff|ico||avif)$ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }
      # SVGには追加のヘッダーが必要です
      location ~* \.(svg)$ {
      }
      # サムネイルと最適化された画像
      location ~ /_?optimized/ {
          add_header Access-Control-Allow-Origin *;
          try_files $uri =404;
      }

      proxy_pass http://discourse;
      break;
    }
「いいね!」 2

うーん。それは難しいですね。:thinking:

投稿を編集して、投稿の最新バージョン(削除されたかどうかにかかわらず)に含まれないように画像を除外し、さらに clean orphan uploads grace period hours を最小の1時間に設定すると、削除が速まるかもしれません。

ただし、これは使いやすさや即効性のどちらの点でも、この問題に対する理想的な解決策ではありません。

「いいね!」 1

1時間で設定済みですが、スパムメールの送信が非常に速いです…

アップロードに自分のサーバーではなくS3を使用することで問題が解決するかどうかご存知ですか?アップロードされた画像をログインユーザーのみに表示させる方法はありますか?

「いいね!」 1

セキュアアップロード機能が役立つかもしれません。

ただし、これは高度な設定であり、私はあまり詳しくありません。


もう一度読み直したところ、これは適切ではないかもしれません。

「いいね!」 3

では、機能リクエストとして投稿した方が良いかもしれません。

基本的に、以下の2つの機能が必要だと考えています。

  • ユーザーが削除された場合に、画像(プロフィール画像を含む)を即座に削除できる機能
  • レビュー対象としてフラグが立てられた場合に、画像を即座に削除または保護できる機能

画像を簡単に、そして素早く完全に削除するには、こちらをご利用ください。

「いいね!」 1

ありがとうございます。試してみます。画像も完全に削除されるということでよろしいでしょうか。

投稿が削除され、アップロードは上記の clean orphan uploads grace period hours を使用する方法と同様の方法で処理されると思います。

また、同じ管理者によるソフト削除と完全削除の間には5分間の組み込み遅延があります(ただし、2番目の管理者は同じ待機時間なし)。

試す価値はあります。:crossed_fingers:

「いいね!」 1

はい。そして、上記の他の人も言ったように。5分待つ必要があります。別の管理者アカウントを使用すると、すぐに実行できます。画像は完全に削除されます。

NGINX の設定に何か問題がある ように思われます。フォーラムの画像を新しいタブで開こうとすると、リファラーを渡していないのに、問題なく読み込まれます :thinking: \n\nこれが機能すれば、ほとんどのスパム問題が解決するはずです。なぜなら、スパム送信者はフォーラムの画像にホットリンクできなくなるからです。

「いいね!」 3