1. Livres & vidéos
  2. AWS
  3. La sécurité et la surveillance sur AWS
Extrait - AWS Préparation à la certification Solutions Architect - Associate
Extraits du livre
AWS Préparation à la certification Solutions Architect - Associate Revenir à la page d'achat du livre

La sécurité et la surveillance sur AWS

Prérequis et objectifs

1. Prérequis

Pour tirer le meilleur parti de ce chapitre, il est recommandé de disposer :

D’un compte AWS.

Des connaissances en lignes de commandes pour le cas pratique.

2. Objectifs

L’objectif est de se familiariser avec les concepts clés de la sécurité et de la surveillance sur AWS : authentification, autorisation, gestion d’identités en environnement multicomptes, protection et chiffrement des données, surveillance et audit continu de l’infrastructure, ainsi que mise en place de mécanismes pour sécuriser les applications web et atténuer les menaces externes.

Ce chapitre explore les capacités de sécurité et de surveillance dans AWS, en couvrant les mécanismes d’authentification et d’autorisation, la gestion multicomptes, le chiffrement et la protection des données, ainsi que les outils de monitoring, d’audit et de conformité. Vous apprendrez à concevoir et à mettre en place des stratégies de sécurité robustes, adaptées aux besoins métier, tout en respectant les bonnes pratiques du modèle de responsabilité partagée d’AWS. Ce chapitre met également l’accent sur la surveillance proactive et l’alerte en temps réel, pour garantir la résilience et la conformité de vos applications...

Authentification et autorisation

1. IAM

a. Présentation d’IAM

images/06CE01.png

Amazon IAM (Identity and Access Management) est un service central d’AWS permettant de gérer de manière sécurisée les accès aux ressources cloud. Il offre un contrôle précis des permissions en définissant des stratégies pour les utilisateurs, groupes, rôles et services. Grâce à IAM, les entreprises peuvent restreindre l’accès aux ressources selon des conditions spécifiques et renforcer leur posture de sécurité avec des fonctionnalités comme l’authentification multifacteurs (MFA) et la gestion des rôles attribués aux services.

IAM prend en charge la fédération avec des fournisseurs d’identité externes, facilitant l’intégration avec des systèmes d’authentification tiers. Il s’adapte aussi bien aux environnements monocompte qu’aux architectures multicomptes complexes, en assurant une gouvernance efficace et centralisée des accès.

Essentiel pour sécuriser les applications et infrastructures hébergées sur AWS, IAM permet d’attribuer des accès temporaires, d’appliquer des stratégies basées sur les ressources et de gérer les identités de manière fine, garantissant ainsi une administration sécurisée et flexible du cloud AWS.

b. Utilisateurs et groupes

Utilisateurs IAM

Les utilisateurs font partie des éléments fondamentaux de la gestion des identités dans AWS. Un utilisateur IAM représente une entité individuelle, comme un employé, un administrateur ou une application, qui nécessite des identifiants pour interagir avec les ressources AWS. Les informations d’identification d’un utilisateur incluent un mot de passe pour accéder à la console AWS et des clés d’accès pour utiliser les API AWS.

Pour accéder aux ressources AWS, les utilisateurs disposent de trois principales options :

  • AWS Management Console : accessible via un mot de passe, protégé par le MFA pour un accès encore plus sécurisé.

  • AWS Command Line Interface (CLI) : permet d’exécuter des commandes pour interagir avec AWS. L’accès est protégé...

Sécurité et chiffrement

1. Introduction au chiffrement

Le chiffrement est un mécanisme essentiel pour protéger les données contre les accès non autorisés. Il consiste à transformer des informations en texte clair en une version illisible (texte chiffré) grâce à des clés et des algorithmes. Le chiffrement joue un rôle crucial dans la sécurisation des données, que celles-ci soient en transit, au repos ou gérées côté client. Voici les trois principaux types de chiffrement utilisés dans les systèmes modernes.

a. Le chiffrement en transit (In flight)

Le chiffrement en transit vise à protéger les données lorsqu’elles circulent entre différents points, comme entre un client et un serveur, ou entre deux services. L’objectif est d’empêcher toute interception ou modification des données pendant leur transmission.

Par exemple, lorsqu’un utilisateur se connecte à une application via HTTPS, les données échangées entre le navigateur et le serveur sont chiffrées grâce à TLS (Transport Layer Security).

Les technologies utilisées pour le chiffrement des données en transit jouent un rôle clé dans la sécurisation des communications entre systèmes et nous l’utilisons au quotidien. TLS/SSL est la solution standard pour chiffrer les protocoles comme HTTPS, FTPS ou SMTPS, garantissant que les données échangées entre un client et un serveur restent confidentielles et protégées contre les attaques comme l’interception ou la manipulation. Les VPN offrent également une autre solution pour sécuriser les connexions réseau en créant des tunnels chiffrés entre des points distants (cf. chapitre Le réseau sur Amazon - Site-to-Site VPN). Enfin, SSH permet d’établir des connexions sécurisées aux systèmes distants, en chiffrant à la fois les données transmises et les commandes envoyées, tout en assurant l’authentification des utilisateurs.

images/06CE22.png

Ce schéma illustre un cas où les informations échangées entre un client et un serveur ne sont pas chiffrées. Le nom d’utilisateur et le mot de passe circulent...

Surveillance, Audit et Conformité

1. AWS Cloudwatch

a. Présentation d’AWS Cloudwatch

images/06CE39.png

AWS CloudWatch est un service entièrement managé conçu pour surveiller et collecter des données sur les ressources AWS et les applications hébergées sur le cloud. Il permet de recueillir des métriques en temps réel, d’analyser les performances des systèmes, de définir des alarmes pour des événements critiques, et de visualiser les données à travers des tableaux de bord personnalisés. Ce service aide les organisations à améliorer la fiabilité, l’efficacité et la visibilité globale de leurs systèmes tout en simplifiant le diagnostic des problèmes de performance.

CloudWatch s’intègre avec la majorité des services AWS tels qu’EC2, RDS, S3, et Lambda, ainsi qu’avec des applications on-premises ou tierces. Que ce soit pour surveiller les ressources utilisées, les logs applicatifs ou les événements système, CloudWatch offre une vue centralisée des performances et des opérations.

b. Les métriques

AWS CloudWatch fournit des métriques pour chaque service AWS, permettant une surveillance détaillée des ressources et des applications. Une métrique représente une variable mesurable à surveiller, telle que CPUUtilization (utilisation CPU), NetworkIn (trafic entrant), ou d’autres données spécifiques aux services.

images/06CE40.png

Ce graphique tiré d’AWS CloudWatch illustre l’évolution de la métrique CPUUtilization (utilisation du processeur) pour une instance RDS nommée database-1 sur une période de temps donnée. Les variations en pourcentage sont tracées sur l’axe vertical tandis que l’axe horizontal représente les heures de la journée. Ce suivi permet de visualiser les fluctuations de l’utilisation CPU, avec des pics et des creux tout au long de la journée.

Les métriques dans CloudWatch appartiennent à des namespaces, qui regroupent les données selon leur origine (par exemple, AWS/EC2 pour les métriques des instances EC2). Il n’existe pas de namespace par défaut et on doit spécifier un namespace quand on crée une métrique....

Protection des applications web

1. AWS WAF

a. Présentation d’AWS WAF

images/06CE86.png

AWS WAF (Web Application Firewall) est un service géré qui protège les applications web contre les menaces courantes au niveau de la couche applicative (couche 7 du modèle OSI). Il permet de surveiller, filtrer et contrôler les requêtes HTTP(S) entrant et sortant, en fonction de règles de sécurité définies. AWS WAF est conçu pour bloquer les tentatives d’attaques, comme les injections SQL ou les scripts intersites (XSS), tout en offrant une grande flexibilité pour répondre aux besoins spécifiques des applications.

AWS WAF fonctionne avec des services AWS comme Amazon CloudFront, Application Load Balancer (ALB), et API Gateway pour protéger les applications distribuées sur Internet. Il utilise un système de règles personnalisables et prédéfinies pour détecter et bloquer les modèles de trafic malveillant.

b. Configuration

La configuration d’AWS WAF repose sur la définition de règles et leur association à des ressources AWS comme un CloudFront ou un ALB. Voici les étapes principales :

  • Création d’un Web ACL (Access Control List) : un Web ACL est un ensemble de règles qui détermine comment AWS WAF gère les requêtes entrantes. On peut définir des actions comme : ALLOW (autoriser), BLOCK (bloquer), COUNT (compter sans bloquer), CAPTCHA (permet de bloquer le trafic de robots indésirables en demandant aux utilisateurs de résoudre des défis interactifs) et CHALLENGE (effectue un défi silencieux qui exige que la session client vérifie qu’il s’agit bien d’un navigateur et non d’un bot, sans intervention de l’utilisateur final).

    Les Web ACL sont régionaux, sauf lorsqu’ils sont associés à Amazon CloudFront, qui applique une gestion globale.

  • Ajout de règles :

  • Règles managées : AWS WAF propose des règles managées qui peuvent être utilisées pour protéger les applications web contre des menaces courantes. Ces règles sont fournies par AWS ou des tiers via le AWS Marketplace. Certaines règles managées sont gratuites, tandis que d’autres impliquent...

Validation des acquis : questions/réponses

Si l’état de vos connaissances sur ce chapitre vous semble suffisant, répondez aux questions ci-après.

1. Questions

1 Dans un scénario où un bucket Amazon S3 contient des informations sensibles, comme les détails des employés, comment pouvez-vous concevoir une politique de contrôle d’accès qui limite l’accès strictement aux membres autorisés de l’équipe RH tout en minimisant le travail administratif ? Expliquez les étapes nécessaires pour configurer cette politique et pourquoi vous choisiriez cette approche parmi d’autres options possibles.

2 Lors d’un audit, une entreprise découvre que ses développeurs utilisent des clés d’accès permanentes pour leurs scripts sur EC2. Quels sont les risques de cette pratique et comment migrer vers une solution plus sécurisée ?

3 Lorsqu’un nouvel employé intègre un groupe IAM, mais nécessite un accès temporaire à des ressources spécifiques en dehors des permissions du groupe, comment configurer cet accès temporaire tout en maintenant une gestion sécurisée des permissions ?

4 Comment concevoir une stratégie de gestion des permissions dans AWS pour séparer clairement les responsabilités entre les équipes Développement, Ops et Finance, tout en centralisant et simplifiant l’administration des accès ?

5 Comment concevoir une policy IAM pour limiter l’accès à un bucket S3 uniquement aux adresses IP internes de l’entreprise, afin de sécuriser les données tout en permettant une accessibilité contrôlée ?

6 Voici une policy IAM attachée à un utilisateur. Analysez cette policy et expliquez les actions qu’elle autorise ou interdit à l’utilisateur, ainsi que les conditions spécifiques appliquées :

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
        { 
            "Effect": "Allow", 
            "Action":...