Le bucket S3 est l’un des services les plus utilisés sur AWS, mais aussi l’un des plus mal configurés. Chaque année, des fuites de données massives sont dues à des buckets S3 mal sécurisés. Voici les bonnes pratiques à appliquer.
1. Désactiver l’accès public par défaut
La première ligne de défense : bloquer tout accès public au niveau du compte.
aws s3control put-public-access-block \
--public-access-block-configuration BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true \
--account-id VOTRE_ID
2. Appliquer le principe du moindre privilège (IAM)
N’accordez que les permissions strictement nécessaires. Évitez les politiques trop larges comme s3:* ou Effect: Allow sur *.
Exemple de politique trop permissive :
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
3. Activer le chiffrement
Activez le chiffrement côté serveur (SSE-S3, SSE-KMS ou SSE-C) pour protéger les données au repos.
aws s3api put-bucket-encryption \
--bucket mon-bucket \
--server-side-encryption-configuration '{
"Rules": [
{
"ApplyServerSideEncryptionByDefault": {
"SSEAlgorithm": "AES256"
}
}
]
}'
4. Activer le versioning et MFA Delete
Le versioning permet de restaurer des fichiers supprimés accidentellement. MFA Delete ajoute une couche de sécurité supplémentaire.
5. Configurer les logs d’accès
Activez les logs d’accès (CloudTrail) et les logs de requêtes (S3 Server Access Logs) pour surveiller les activités suspectes.
6. Utiliser des points de terminaison privés (VPC Endpoints)
Évitez de faire transiter les données par Internet public. Utilisez les VPC Endpoints Gateway ou Interface.
7. Auditer régulièrement avec AWS Config et Security Hub
AWS Config peut détecter automatiquement les buckets publics et déclencher des alertes.
- ☑️ Accès public bloqué par défaut
- ☑️ Politiques IAM restrictives
- ☑️ Chiffrement activé
- ☑️ Versioning + MFA Delete
- ☑️ Logs activés
- ☑️ VPC Endpoints
- ☑️ Audits réguliers (Config, Security Hub)
En appliquant ces bonnes pratiques, vous réduirez considérablement les risques d’exposition accidentelle de vos données sur AWS S3.