Après mon article précédent sur la résilience DDoS d’AWS, j’ai décidé de prendre en charge certains des services AWS qui devraient faire partie de toute architecture d’entreprise. Ces services aideront les utilisateurs à améliorer la position de la sécurité globale et à répondre aux exigences fondamentales de sécurité et de conformité.
AWS a déjà mentionné la sécurité comme l’un des piliers de son cadre d’architecture et, pour prendre en charge cela, AWS fournit une large gamme de fonctionnalités et de services. En tant que consommateur et propriétaire d’entreprise, nous devons comprendre qu’il s’agit davantage d’un modèle partagé où AWS contribue en développant de nouvelles fonctionnalités basées sur leur riche expérience et l’exposition de plusieurs domaines, et c’est à nous de déterminer comment nous pouvons renforcer notre cadre de sécurité en utilisant ces capacités.
AWS GuardDuty
Vous avez peut-être remarqué les nouvelles d’incidences de détournement de ressources, d’extraction de bitcoins ou de création non autorisée de nouvelles entités IAM, etc., dans les comptes AWS. La cybercriminalité est en augmentation depuis des années et ne montre aucun signe de ralentissement. Pour ne rien arranger, l’arrivée de la pandémie de COVID-19 en 2020 vient de catalyser la situation.
Pour les entreprises, il devient impératif d’améliorer leurs techniques de surveillance et de remédiation. AWS GuardDuty est l’un de ces outils.
Permettez-moi de le décrire comme « garde toujours en service ». Il s’agit essentiellement d’un service de détection des menaces qui utilise l’IA/ML et des informations externes sur les menaces en coulisses pour identifier les comportements ambigus ou toute activité anormale autour des services pris en charge. Il utilise l’IA/ML pour observer et apprendre automatiquement le modèle habituel, et sur cette base, il crée un modèle pour identifier les écarts ou les anomalies. En fonction de la charge de travail, il faut un certain temps initial pour apprendre le modèle et créer une base de référence.
Il peut être intégré à des services tels que ASW S3, Cloudtrail, VPC Flow Logs et DNS Logs. Certains des éléments qu’il peut surveiller comprennent :
- Hits API inhabituels
- Compromis d’instance ou de compte
- Seau compromis
- Connexions échouées
- Trafic suspect ou pics de trafic provenant de VPN, etc.
L’une des fonctionnalités très puissantes de ce service est qu’il peut s’intégrer à Cloudwatch Eventbridge. Avec l’aide de cela, vous pouvez convertir ce service de détection uniquement en un système réactif qui peut effectuer des actions automatiques en votre nom, comme bloquer les adresses IP à l’aide de NACL.
De plus, il peut également être intégré à des services tiers tels que Splunk, QRadar et Crowdwatch, et il peut fournir une gestion centralisée de la détection des menaces sur plusieurs comptes AWS.
Configuration AWS
En plus d’AWS GuardDuty, AWS Config est un autre outil de la même catégorie qui aide à auditer et à évaluer l’état souhaité de votre configuration de ressources. Il peut être considéré comme un tracker, qui surveille chaque ressource dans l’AWS et capture chaque action liée à la configuration des ressources AWS. Par exemple, une configuration de groupe de sécurité est modifiée afin que les ports SSH soient ouverts pour tout le monde (0.0.0.0/0). AWS Config peut le suivre et, si nécessaire, il peut envoyer des notifications à l’équipe cloud.
À chaque modification, il crée un élément à ce moment-là et le stocke dans un compartiment S3 avec les attributs suivants
- Détails des modifications
- Qui l’a fait
- Relation avec d’autres ressources AWS
- Quand ça a changé
Il fournit un instantané de la configuration globale de vos ressources AWS, ce qui en fait un outil de choix qui peut être largement utilisé lorsque vous avez des exigences d’audit et de conformité. Ceci est utile car il fournit l’état général de la configuration de vos ressources. De plus, cela peut être intégré à l’outil CMDB à l’aide d’autres services AWS et cela peut contribuer à fournir une image globale de votre infrastructure (qui peut être déployée sur plusieurs clouds).
Il devient plus puissant avec un ensemble de règles de configuration, grâce auquel les utilisateurs peuvent configurer des règles pour définir l’état souhaité de l’infrastructure. AWS Config surveille les modifications et les évalue par rapport à ces règles. Il existe deux types de règles :
- Règles gérées par AWS — AWS fournit des règles prédéfinies qui sont également gérées par eux. Les utilisateurs peuvent choisir parmi ces règles pour commencer.
- Règles gérées par le client — Il s’agit de l’ensemble de règles configuré et défini par le client selon ses besoins. AWS Lambda peut être appelé pour exécuter la logique requise pour les règles gérées personnalisées.
De plus, cela peut être intégré à d’autres services AWS pour corriger les modifications involontaires, pour envoyer des notifications ou pour l’intégrer à des services externes comme votre CMDB (Configuration Management Database). Voici quelques-uns des services AWS qui peuvent être intégrés à AWS Config pour fournir un cadre de correction.
- AWS Lambda
- AWS SSM
- Pont d’événements AWS
AWS Config Dashboard peut également être utilisé pour voir les modifications non conformes. Le tableau de bord est également livré avec des agrégateurs (agrégat à partir de plusieurs comptes, plusieurs régions) et une fonctionnalité de requête avancée pour en faire un outil complet en soi.
Inspecteur AWS
Il s’agit d’un service principalement axé sur les instances EC2, le système d’exploitation qui s’exécute dessus et son réseau. L’objectif principal de ce service est d’effectuer des évaluations de vulnérabilité et des tests de sécurité sur ces instances par rapport aux meilleures pratiques CVE (Common Vulnerability and Exposure), CIS (Centre for Internet Security) et Amazon Security. Il fournit un ordre de rapport détaillé par priorité à la fin de l’évaluation. Les rapports sont accessibles via la console AWS ou les API Inspector.
Avant de l’exécuter, la configuration de l’évaluation doit être effectuée où l’utilisateur sélectionne le type d’évaluation qui comprend « Évaluation du réseau » et « Évaluation de l’hôte ». Ensuite, l’utilisateur peut créer des modèles qui sont principalement composés des packages de règles, de la cible et de la durée de l’exécution. L’évaluation peut être de durée variable allant de 3 minutes à une journée. Il peut s’agir d’une évaluation sans agent ou basée sur un agent. Une exécution basée sur un agent fournit une inspection détaillée par rapport à une exécution sans agent. Mais les évaluations de réseau peuvent être effectuées sans installer d’agents. Pour les évaluations d’hôte ou les évaluations de réseau plus riches, l’installation de l’agent sera requise. AWS recommande de l’exécuter chaque semaine.
Conseiller de confiance
Son paysage comprend cinq grandes catégories :
- Optimisations des coûts
- Performance
- Sécurité
- Tolérance aux pannes
- Limites de service
Il dispose également d’une version de base et d’une version développeur gratuite et comprend sept vérifications de base :
- Autorisation de compartiment S3
- Groupes de sécurité — ports spécifiques sans restriction
- Utilisation de l’IAM
- MFA sur le compte root
- Instantanés publics EBS
- Instantanés publics RDS
- Contrôles des limites de service (50)
Les versions commerciales ou d’entreprise sont livrées avec des fonctionnalités beaucoup plus améliorées et un accès à l’API de support AWS. Les utilisateurs recevront tous les 115 contrôles (14 optimisation des coûts, 17 sécurité, 24 tolérance aux pannes, 10 performances et 50 limites de service) et des recommandations. Pour une liste complète des vérifications et des descriptions, explorez les meilleures pratiques de Trusted Advisor.
CloudHSM
Traitez HSM comme le casier avec détection d’effraction et mécanisme de réponse où vous placez les bijoux les plus chers et les plus précieux (dans notre cas, il s’agira de matériel cryptographique). Il permet aux clients de générer, stocker et gérer en toute sécurité les clés cryptographiques utilisées pour chiffrer leurs données et les clés ne seront accessibles que par eux. En fait, AWS a également une accessibilité limitée sur ce service pour effectuer des tâches spécifiques :
- Surveiller et maintenir la santé et la disponibilité du HSM
- Faire des sauvegardes chiffrées
- Extraction et publication des journaux d’audit dans les journaux Cloudwatch.
Le revers de la médaille est que CloudHSM n’a aucune intégration native avec aucun des services AWS. Il s’agit d’un matériel spécifique à l’industrie qui a été spécialement conçu pour gérer le matériel cryptographique. Il suit la norme fédérale de traitement de l’information (norme FIPS-140-2 de niveau 3).
Une autre chose importante à retenir est que le VPC est un must pour se procurer AWS CloudHSM. En règle générale, HSM est acheté dans un VPC différent (HSM VPC) que le VPC qui contient le reste de vos services pour l’isolation et vous n’avez aucune visibilité sur ce VPC géré par AWS. Les ENI sont provisionnées dans le VPC client pour la connectivité réseau avec le CloudHSM. De plus, pour la haute disponibilité, les clients doivent se procurer au moins deux HSM dans différentes zones de disponibilité, et les clients HSM peuvent gérer automatiquement les basculements, ce qui signifie par défaut qu’il ne fournit pas de haute disponibilité.
CloudHSM est utilisé lorsque vous avez une exigence spécifique d’avoir un seul locataire ou un appareil isolé pour conserver vos clés. C’est également un facteur important qui le différencie du KMS, qui est davantage un service partagé. Certains des cas d’utilisation incluent le déchargement du traitement SSL/TLS, TDE pour la base de données Oracle, etc.
AWS KMS
Avant d’entrer dans KMS, je souhaite introduire un terme appelé « cryptage d’enveloppe », car c’est quelque chose qui constitue la base de KMS, quel que soit le fournisseur de cloud. Le cryptage d’enveloppe est le processus d’utilisation de plusieurs couches de clés pour crypter les données. Il peut être vu comme une structure hiérarchique de clés où la clé de couche supérieure crypte la clé de deuxième couche, la deuxième clé de couche chiffrera la clé de troisième couche, et ainsi de suite.
La clé de couche inférieure sera utilisée pour crypter les données réelles.
AWS KMS fournit des fonctionnalités pour créer, gérer et supprimer les clés utilisées pour le chiffrement des données. Il est conforme à la norme FIPS-140-2 de niveau 2 et possède certaines des fonctionnalités qui prennent également en charge le niveau 3, mais la plupart du temps, il peut être considéré comme conforme au niveau 2.
Il s’agit davantage d’un service partagé entièrement géré par AWS au niveau du backend. Cela présente l’avantage de prendre en charge l’intégration avec de nombreux services AWS comme S3 de manière native. KMS fournit à la fois un chiffrement symétrique et asymétrique. Les utilisateurs peuvent créer des politiques afin d’avoir un contrôle granulaire sur l’accès et l’utilisation de ces clés.
Il prend également en charge les clés multirégionales où les données peuvent être chiffrées dans une région et déchiffrées dans une autre.
Dans le cas d’AWS KMS, considérez la clé de couche supérieure comme des « clés racine », la clé de couche 2 comme CMK (clés principales client) et la couche 3 sera considérée comme DEK (clés de chiffrement de données). Ceci est uniquement dans le but de comprendre – en interne, la hiérarchie est beaucoup plus longue, mais nous nous intéressons à CMK et DEK car c’est la partie que le client gère.
Clés CMK ou AWS KMS
Il peut être « géré par AWS », « détenu par AWS » et « géré par le client ». Considérez-le comme une représentation logique de la clé cryptographique physique. Dans le cas d’une gestion par le client, le client sera responsable de la fourniture et de la gestion complète de celle-ci ; fondamentalement, il offre plus de flexibilité. Les clés gérées par AWS auront la politique de rotation obligatoire (tous les 3 ans) alors que dans le cas des clés gérées par le client, elle est facultative et nous ne couvrons pas les clés appartenant à AWS dans cet article.
La meilleure partie de CMK est qu’elle ne laisse jamais KMS non chiffré, ce qui signifie que si vous souhaitez chiffrer des données avec CMK, vous devez envoyer la chaîne de données et l’ARN de la clé KMS qui sera utilisée pour le chiffrer. En sortie, le texte chiffré sera reçu avec le texte brut.
La seule limitation de CMK est que vous ne pouvez pas crypter des données de plus de 4 Ko. Je ne sais pas si je dois dire que c’est une limitation ou une partie de la fonctionnalité. En plus du chiffrement et du déchiffrement, les clés CMK seront également responsables de la génération des DEK, et elles produisent à la fois la version chiffrée et la version en clair de la DEK. Les clés CMK peuvent être symétriques et asymétriques.
Noter: AWS KMS remplace le terme clé principale client (CMK) par Clé AWS KMS.
DEK (clés de cryptage des données)
Ce sont les clés qui servent à…