Je souhaite ajouter des en-têtes de sécurité HTTP aux réponses Amazon CloudFront. Comment procéder ?
Brève description
Les en-têtes HTTP Security améliorent la confidentialité et la sécurité d'une application Web et la protègent contre les vulnérabilités côté client. Les en-têtes de sécurité HTTP les plus courants sont les suivants :
Les stratégies d'en-tête de réponse CloudFront vous permettent d'ajouter un ou plusieurs en-têtes de sécurité HTTP à une réponse de CloudFront.
Solution
Vous pouvez utiliser la stratégie de réponse des en-têtes de sécurité gérés qui inclut des valeurs prédéfinies pour les en-têtes de sécurité HTTP les plus courants. Vous pouvez également créer une stratégie d'en-tête de réponse personnalisée avec des en-têtes de sécurité personnalisés et des valeurs qui peuvent être ajoutées au comportement CloudFront requis.
Création d'une stratégie d'en-têtes de réponse personnalisée depuis la console AWS
- Ouvrez la console CloudFront.
- Dans le menu de navigation, sélectionnez Stratégies. Choisissez ensuite En-têtes de réponse.
- ChoisissezCréer une stratégie d'en-têtes de réponse.
- Sous En-têtes de sécurité, sélectionnez chacun des en-têtes de sécurité que vous souhaitez ajouter à la stratégie. Ajoutez ou sélectionnez les valeurs requises pour chaque en-tête.
- Sous En-têtes personnalisés, ajoutez les en-têtes et les valeurs de sécurité personnalisés que vous souhaitez que CloudFront ajoute aux réponses.
- Remplissez les autres champs nécessaires. Ensuite, sélectionnez Créer.
Attacher une stratégie d'en-têtes de réponse à un comportement de cache
Après avoir créé une stratégie d'en-têtes de réponse, associez-la à un comportement de cache dans une distribution CloudFront. Pour associer une stratégie de réponse d'en-têtes de sécurité gérée ou personnalisée à une distribution CloudFront existante :
- Ouvrez la console CloudFront.
- Choisissez la distribution que vous souhaitez mettre à jour.
- Sous l'onglet Comportements, sélectionnez le comportement du cache que vous souhaitez modifier. Ensuite, choisissez Modifier.
- Pour Stratégie d’en-têtes de réponse, choisissez Stratégie de réponse d'en-têtes de sécurité ou choisissez la stratégie personnalisée que vous avez créée.
- Choisissez Enregistrer les modifications.
Voici un exemple de réponse CloudFront avec des en-têtes de réponse de sécurité HTTP :
curl -I https://dxxxxxxxbai33q.cloudfront.net
HTTP/2 200
content-type: text/html
content-length: 9850
vary: Accept-Encoding
date: xxxxxxxxx
last-modified: xxxxxxx
etag: "c59c5ef71f3350489xxxxxxxxxx"
x-amz-server-side-encryption: AES256
cache-control: no-store, no-cache, private
x-amz-version-id: null
accept-ranges: bytes
server: AmazonS3
x-xss-protection: 1; mode=block
x-frame-options: SAMEORIGIN
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=31536000
x-cache: Miss from cloudfront
via: 1.1 12142717248e0e7148a5c1a9151ab918.cloudfront.net (CloudFront)
x-amz-cf-pop: BOS50-C3
x-amz-cf-id: nHNANTZYdkQkE5BmsqlisPTiodFhVCK-Sf9Zp4iJzNs04eWi1_hEig==