Enregistrement des interactions et mesures d'atténuation - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Enregistrement des interactions et mesures d'atténuation

Une URL présignée contient une signature et peut être utilisée, pendant la période précédant son expiration, pour effectuer l'opération d'API spécifique pour laquelle elle a été signée. Il doit être traité comme un identifiant d'accès temporaire. La signature doit rester confidentielle uniquement pour les parties qui ont besoin de la connaître. Dans la plupart des environnements, il s'agit du client qui envoie la demande et du serveur qui la reçoit. L'envoi de la signature dans le cadre d'une session HTTPS directe conserve son caractère privé, car seul un participant à la session HTTPS a une visibilité sur l'URI qui transmet la signature.

Dans le cas d'une signature présignée URLs, la signature est transmise en tant que paramètre de chaîne de X-Amz-Signature requête. Les paramètres de chaîne de requête font partie d'un URI. Le risque est que les clients puissent enregistrer l'URI et la signature avec celui-ci. Les clients ont accès à l'intégralité de la requête HTTP et peuvent enregistrer n'importe quelle partie de la demande, des données et des en-têtes (y compris les en-têtes d'authentification). Cependant, cela est par convention moins courant. La journalisation des URI est plus courante et est requise dans des cas tels que la journalisation des accès. Les clients doivent utiliser la rédaction ou le masquage pour supprimer la signature avant de se connecter. URIs

Dans certains environnements, les utilisateurs autorisent les intermédiaires (proxies) à obtenir de la visibilité sur leurs sessions HTTPS. L'activation des proxys nécessite un niveau élevé d'accès privilégié aux systèmes clients, car ils nécessitent une configuration et des certificats fiables. L'installation de la configuration du proxy et de certificats sécurisés, dans le contexte local de l'environnement intermédiaire du client, permet un niveau de privilège très élevé. C'est pourquoi l'accès à ces intermédiaires doit être étroitement contrôlé.

Le but d'un intermédiaire est généralement de bloquer les sorties indésirables et de suivre les autres sorties. Il est donc courant que ces intermédiaires enregistrent les demandes. Bien que les intermédiaires puissent, comme les clients, enregistrer le contenu, les en-têtes et les données (qui sont tous très sensibles), il est plus courant qu'ils enregistrent URIs, comme ceux qui incluent le paramètre de chaîne de X-Amz-Signature requête.

Atténuations

Nous recommandons que la journalisation des URI supprime le paramètre de la chaîne de X-Amz-Signature requête, supprime l'intégralité de la chaîne de requête ou traite les informations de manière hautement confidentielle, comme dans le cas d'un accès direct au serveur intermédiaire. Bien que ces protections soient fortement recommandées, le fait que l' URLs expiration soit présignée atténue les risques d'exposition aux logs, à condition que l'exposition soit retardée suffisamment longtemps pour que les signatures expirent.

Amazon S3 voit également les signatures et doit les gérer de manière appropriée. Les journaux d'accès au serveur Amazon S3 incluent l'URI de la demande, mais le biffentX-Amz-Signature, comme recommandé. Il en va de même lorsque CloudTrail des événements de données sont enregistrés pour Amazon S3. Vous pouvez configurer Amazon CloudWatch Logs pour masquer les données à l'aide d'identifiants de données personnalisés.

L'expression régulière suivante correspond à X-Amz-Signature celle qui apparaît dans un URI :

X-Amz-Signature=[a-f0-9]{64}

L'expression régulière suivante ajoute des modèles de regroupement pour identifier plus spécifiquement le texte à remplacer :

(?:X-Amz-Signature=)([a-f0-9]{64})

Si vous avez une entrée du journal d'accès telle que la suivante :

X-Amz-Signature=733255ef022bec3f2a8701cd61d4b371f3f28c9f193a1f02279211d48d5193d7

La première expression régulière traduit l'entrée du journal d'accès en :

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

La deuxième expression régulière, sur les systèmes qui prennent en charge les groupes non capturants, traduit l'entrée du journal d'accès en :

X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX