Skip to main content
Appliquez ce référentiel à chaque profil de stockage de production et validez-le dans l’environnement client.

Stockage externe et identité

  • Utilisez uniquement des buckets ou conteneurs externes précréés, appartenant au client.
  • Refusez l’accès public et l’administration à l’échelle du compte.
  • Utilisez les chaînes d’identité de charge de travail/identifiants par défaut avec les permissions de bucket/conteneur et de préfixe les plus étroites requises par le web et le worker.
  • Séparez l’administration, l’attestation preflight, les opérations objet d’exécution, la migration et les responsabilités de rétention lorsque la plateforme le permet.
  • Stockez les secrets dans le gestionnaire de secrets de la plateforme. Ne les placez jamais dans le code source, les ConfigMaps, les images, les arguments/l’historique de shell, les journaux, la télémétrie, les lots de support ou les preuves de certification.
  • Conservez la vérification TLS activée. Montez les fichiers CA privés en lecture seule et effectuez leur rotation avec une procédure de chevauchement.
Les adaptateurs d’exécution n’effectuent que des opérations de plan de données. Ils ne doivent pas créer, supprimer ni configurer d’emplacements de stockage.

Trois profils d’usage

  • quarantine : tous les téléversements contrôlés par l’utilisateur entrent ici.
  • records : seuls les téléversements utilisateur approuvés par le scanner et les exports de serveur de confiance étroitement définis deviennent disponibles ici.
  • ephemeral : canaries profonds et données de courte durée avec un cycle de vie borné.
Utilisez des buckets/conteneurs différents lorsque la séparation de politique est requise. N’accordez pas aux utilisateurs finaux un accès direct au magasin d’objets.

L’analyse de malware échoue en mode fermé

La production exige un clamd externe via CLAMD_SOCKET_PATH ou CLAMD_HOST. Le TLS du scanner distant utilise CLAMD_TLS=true et CLAMD_CA_FILE ; une exception en clair sur réseau privé est une exception de risque explicite, pas le défaut. CaseBender calcule le SHA-256, écrit une intention de téléversement, relit l’objet exact et met en file la vérification. Si le scanner est indisponible, expire, renvoie une sortie malformée ou ne peut pas analyser la taille configurée, l’objet reste en quarantaine. Les tentatives sont durables ; l’épuisement devient une lettre morte. Seul un verdict terminal CLEAN autorise la copie vers records. Un résultat INFECTED reste en quarantaine et crée un événement d’audit de sécurité sensible. Ne téléchargez jamais un échantillon de malware vivant pour le dépannage.

Échantillons de malware intentionnels

Les tests autorisés peuvent stocker un échantillon avec une confiance de contenu MALWARE_SAMPLE et quarantineOnly. Il reste en quarantaine, n’est jamais promu et a l’état d’analyse SKIPPED. Utilisez des fixtures inertes équivalentes à EICAR lorsque c’est possible. Exigez une autorisation écrite, une manipulation isolée, une rétention/destruction approuvée et aucune pièce jointe de ticket de support. N’affaiblissez pas la politique d’analyse pour faire passer un test.

Intégrité et versions exactes

  • Persistez le SHA-256 applicatif, la taille, la somme de contrôle du fournisseur et la version/génération du fournisseur lorsqu’elles sont disponibles.
  • Vérifiez les octets téléchargés après téléversement, promotion, migration, sauvegarde et restauration.
  • Traitez les ETags comme opaques ; les ETags multipartie/chiffrés peuvent ne pas être MD5.
  • Utilisez la création conditionnelle pour empêcher les courses d’écrasement.
  • Adressez la rétention, la conservation légale, la restauration et la migration par version exacte d’objet — pas un objet latest flottant.
  • Alertez sur storage.checksum_mismatch, les objets attendus manquants et les orphelins confirmés.

Chiffrement, WORM et conservation légale

Exigez TLS et le chiffrement côté serveur géré par le fournisseur. Utilisez des clés gérées par le client lorsque c’est mandaté et vérifiez la rotation/reprise des clés séparément. Pour les records réglementés, définissez requireWorm: true et STORAGE_REQUIRE_WORM=true, puis qualifiez le versioning du fournisseur, la rétention/immuabilité des objets et la conservation légale. La readiness échoue avec la catégorie capability lorsque ces contrôles sont absents. CaseBender ne contourne pas par défaut la rétention de gouvernance, et la rétention de conformité bloque intentionnellement la suppression anticipée. Une capacité WORM dans un SDK ne prouve pas que le bucket/conteneur a été créé avec les paramètres immuables requis.

Pas d’URL signées

Les adaptateurs de stockage CaseBender ne génèrent pas d’URL S3 pré-signées, d’URL signées GCS ni d’URL SAS Azure. Les téléchargements doivent passer par l’authentification CaseBender, l’autorisation, les contrôles de locataire, les contrôles de cycle de vie, l’approbation du scanner et les frontières d’audit.

Santé

  • /api/health/live est uniquement processus et n’a aucune dépendance externe.
  • /api/health/ready vérifie les fournisseurs configurés et exige un canary profond write/read/copy/delete frais sur ephemeral.
  • La réponse n’expose que des catégories assainies : configuration, authentication, tls, storage, capability ou canary_stale.
N’incluez jamais d’identifiants de point de terminaison, de clés d’objets, de noms de buckets, de noms de clients ou de messages d’exception fournisseur dans une réponse de santé publique.

Télémétrie et confidentialité

Surveillez les métriques agrégées de fournisseur, d’opération, de résultat, de latence, d’octets, de scanner, de quarantaine, d’outbox, de migration, de réconciliation et de readiness. Appliquez des contrôles de moindre accès et une rétention aux données d’observabilité. Les journaux et les libellés de métriques peuvent inclure un fournisseur canonique et une opération. Ils ne doivent pas inclure d’identifiants, de jetons, d’URL signées, de chaînes de connexion, de clés privées, de contenus de fichiers, de noms d’objets client ou de clés d’objets sensibles. Assainissez les erreurs avant la persistance et l’export de support. Voir Santé et dépannage du stockage et Sauvegarde et restauration.