Skip to main content
このベースラインをすべての本番ストレージプロファイルに適用し、顧客環境で 検証してください。

外部ストレージとアイデンティティ

  • 事前作成された顧客所有の外部バケットまたはコンテナのみを使用する。
  • 公開アクセスとアカウント全体の管理を拒否する。
  • Webとワーカーが必要とする最も狭い バケット/コンテナおよびプレフィックス権限で、ワークロードアイデンティティ/デフォルト資格情報チェーンを使用する。
  • プラットフォームが許す範囲で、管理、プリフライト証明、実行時オブジェクト操作、 移行、および保持の責任を分離する。
  • シークレットはプラットフォームのシークレットマネージャーに保管する。ソース、 ConfigMap、イメージ、シェル引数/履歴、ログ、テレメトリ、サポートバンドル、 または認定エビデンスに配置してはならない。
  • TLS検証を有効のままにする。プライベートCAファイルを読み取り専用でマウントし、 オーバーラップ手順でローテーションする。
実行時アダプターはデータプレーン操作のみを実行します。ストレージ場所の作成、 削除、または設定を行ってはなりません。

3つの用途プロファイル

  • quarantine: すべてのユーザー管理アップロードはここに入ります。
  • records: スキャナー承認済みのユーザーアップロードと、狭く定義された信頼済み サーバー生成エクスポートのみがここで利用可能になります。
  • ephemeral: 有界ライフサイクルを持つディープカナリアと短寿命データ。
ポリシー分離が必要な場合は、異なるバケット/コンテナを使用します。エンドユーザーに オブジェクトストアへの直接アクセスを付与しないでください。

マルウェアスキャンはフェイルクローズ

本番では、CLAMD_SOCKET_PATH または CLAMD_HOST 経由の外部 clamd が必要です。リモートスキャナーTLSは CLAMD_TLS=true および CLAMD_CA_FILE を使用します。平文のプライベートネットワーク例外は明示的なリスク 例外であり、デフォルトではありません。 CaseBenderはSHA-256を計算し、アップロードインテントを書き込み、正確なオブジェクトを 読み戻し、検証をキューに入れます。スキャナーが利用できない、タイムアウトする、 不正な出力を返す、または設定サイズをスキャンできない場合、オブジェクトは 隔離されたままです。再試行は永続的であり、枯渇するとデッドレターになります。最終的な CLEAN 判定のみが records へのコピーを許可します。 INFECTED の結果は隔離されたままで、機密のセキュリティ監査 イベントを作成します。トラブルシューティングのためにライブマルウェアサンプルをダウンロードしてはなりません。

意図的なマルウェアサンプル

承認済みテストでは、コンテンツ信頼 MALWARE_SAMPLE および quarantineOnly でサンプルを保存できます。隔離されたままで、プロモートされず、スキャン状態は SKIPPED です。可能な限り不活性なEICAR相当のフィクスチャを使用してください。書面による 認可、隔離された取り扱い、承認済みの保持/破棄、および サポートチケット添付の禁止を要求します。テストを通すためにスキャンポリシーを弱めてはなりません。

整合性と正確なバージョン

  • アプリケーションSHA-256、サイズ、プロバイダーチェックサム、および利用可能な場合のプロバイダー バージョン/世代を永続化する。
  • アップロード、プロモーション、移行、バックアップ、および リストア後にダウンロードしたバイトを検証する。
  • ETagは不透明として扱う。マルチパート/暗号化ETagはMD5ではない場合があります。
  • 条件付き作成を使用して上書き競合を防ぐ。
  • 保持、リーガルホールド、リストア、および移行は、浮動する最新オブジェクトではなく、 正確なオブジェクトバージョンでアドレス指定する。
  • storage.checksum_mismatch、期待されるオブジェクトの欠損、および確認済み 孤児に対してアラートする。

暗号化、WORM、およびリーガルホールド

TLSとプロバイダー管理のサーバーサイド暗号化を要求します。義務付けられている場合は顧客管理 キーを使用し、キーローテーション/復旧を別途検証します。 規制対象の records では、requireWorm: true および STORAGE_REQUIRE_WORM=true を設定し、プロバイダーのバージョニング、オブジェクト 保持/不変性、およびリーガルホールドを適格性確認します。これらの制御がない場合、レディネスはカテゴリ capability で失敗します。CaseBenderはデフォルトでガバナンス保持を 迂回せず、コンプライアンス保持は意図的に早期削除をブロックします。 SDK内のWORM能力は、バケット/コンテナが必要な不変設定で 作成されたことの証明にはなりません。

署名付きURLなし

CaseBenderストレージアダプターは、事前署名付きS3 URL、GCS署名付きURL、 またはAzure SAS URLを生成しません。ダウンロードは、CaseBenderの認証、 認可、テナントチェック、ライフサイクルチェック、スキャナー承認、および監査 境界を通過する必要があります。

ヘルス

  • /api/health/live はプロセスのみであり、外部依存はありません。
  • /api/health/ready は設定済みプロバイダーを確認し、ephemeral 上の新しいディープ 書き込み/読み取り/コピー/削除カナリアを要求します。
  • 応答は、サニタイズされたカテゴリのみを公開します。 configurationauthenticationtlsstoragecapability、または canary_stale
公開ヘルス応答に、エンドポイント資格情報、オブジェクトキー、バケット名、顧客名、 またはプロバイダー例外メッセージを含めてはなりません。

テレメトリとプライバシー

集約されたプロバイダー、操作、結果、レイテンシ、バイト、スキャナー、 隔離、アウトボックス、移行、リコンシリエーション、およびレディネスメトリクスを監視します。可観測性データに 最小アクセス制御と保持を適用します。 ログおよびメトリクスラベルには、正規プロバイダーと操作を含めても構いません。 資格情報、トークン、署名付きURL、接続文字列、秘密 鍵、ファイル内容、顧客オブジェクト名、または機密オブジェクトキーを含めてはなりません。永続化およびサポートエクスポートの前に エラーをサニタイズします。 ストレージヘルスとトラブルシューティング および バックアップとリストア を参照してください。