Fermer

mai 7, 2024

Bonnes pratiques – Points de contrôle d’audit IAM pour une sécurité optimale sur AWS

Bonnes pratiques – Points de contrôle d’audit IAM pour une sécurité optimale sur AWS


Introduction

Alors que les organisations exploitent la puissance du cloud, il devient primordial de garantir des mesures de sécurité robustes. Au cœur de ce cadre de sécurité se trouve la gestion des identités et des accès (IAM), un élément essentiel de la protection des actifs et des données numériques.

Ce blog vise à plonger au cœur de la sécurité AWS en explorant les meilleures pratiques associées à l’IAM, en se concentrant spécifiquement sur les points de contrôle d’audit et la conformité avec un coût minimum ou gratuit.

Section 1 : Comprendre IAM sur AWS

Fondamentaux de l’IAM

IAM, ou Identity and Access Management, est le fondement de la sécurité dans AWS, composé de composants clés :

  • Utilisateurs: Individus ou systèmes interagissant avec les services AWS, chacun disposant d’informations d’authentification uniques.
  • Groupes: Les unités organisationnelles rationalisent la gestion des accès en appliquant simultanément des politiques à plusieurs utilisateurs.
  • Les rôles: Les autorisations définies pour effectuer des demandes de service AWS ne sont pas liées à des utilisateurs ou à des groupes spécifiques, mais sont assumées par des entités de confiance.
  • Stratégies: Les documents JSON indiquent explicitement les autorisations et dictent les actions autorisées ou refusées sur les ressources AWS.
  • Autorisations : Le cœur de l’IAM, méticuleusement configuré pour adhérer au principe du moindre privilège, garantissant un accès minimal aux tâches nécessaires.

Cas d’utilisation de l’IAM

IAM facilite l’accès sécurisé aux ressources AWS en permettant aux organisations de :

  • Contrôler l’accès : Définissez qui peut accéder aux ressources AWS et quelles actions ils peuvent effectuer.
  • Accorder des autorisations : Attribuez des autorisations aux utilisateurs, groupes ou rôles en fonction de leurs responsabilités.
  • Activer l’authentification multifacteur (MFA) : Ajoutez une couche de sécurité supplémentaire en exigeant que les utilisateurs fournissent au moins deux facteurs d’authentification.
  • Gérer les autorisations au niveau des ressources : Affinez les contrôles d’accès à un niveau granulaire, garantissant une autorisation précise pour des ressources spécifiques.


Section 2 : Bonnes pratiques pour l’IAM sur AWS

Principe du moindre privilège : Accordez le niveau minimum d’autorisations nécessaire aux utilisateurs et aux processus pour effectuer leurs tâches. Cela réduit le risque d’utilisation abusive accidentelle ou intentionnelle des privilèges.

Politiques de mot de passe fortes : Appliquez des politiques de mot de passe robustes pour améliorer la sécurité de l’authentification. Cela inclut la définition d’exigences en matière de complexité des mots de passe, de périodes d’expiration et l’utilisation de l’authentification multifacteur (MFA).

Contrôle d’accès basé sur les rôles (RBAC) : Tirez parti des rôles pour définir et gérer les autorisations de manière dynamique. Attribuez des rôles en fonction des responsabilités professionnelles, permettant aux utilisateurs d’assumer différents rôles selon leurs besoins.

Rotation régulière des informations d’identification : Effectuez régulièrement une rotation des clés d’accès, des clés secrètes et d’autres informations d’identification afin de limiter la fenêtre d’opportunité des menaces de sécurité potentielles.

Contrôle continu: Mettez en œuvre une surveillance continue des activités IAM à l’aide d’AWS CloudTrail. Examinez et analysez régulièrement les journaux pour détecter et répondre aux actions suspectes ou non autorisées.

Examens réguliers de l’accès des utilisateurs : Effectuer des examens périodiques de l’accès des utilisateurs pour garantir qu’il correspond aux rôles et responsabilités actuels. Supprimez ou ajustez les autorisations pour les utilisateurs qui n’ont plus besoin de certains accès.

Configuration MFA : Assurez-vous que l’authentification multifacteur est activée pour tous les utilisateurs, en particulier ceux disposant de privilèges élevés. Cette couche de sécurité supplémentaire réduit considérablement le risque d’accès non autorisé.

Journalisation et surveillance : Inspectez régulièrement les journaux AWS CloudTrail pour détecter les événements liés à IAM. Configurez des alertes pour les activités suspectes et les anomalies, permettant de réagir rapidement aux incidents de sécurité potentiels.

Application de la politique de mot de passe : Auditez et appliquez des politiques de mots de passe solides, y compris des exigences de complexité et des rotations régulières des mots de passe. Cela garantit une première ligne de défense robuste contre les accès non autorisés.


Section 3 : Solutions faciles à mettre en œuvre

Configurer une politique de mot de passe forte – Politiques IAM standard

Cela peut être fait selon les besoins du client et peut être modifié dans la section IAM. Veuillez vous référer à la capture d’écran ci-dessous –

Vous trouverez ci-dessous un exemple de politique de mot de passe forte.

Fiabilité du mot de passe

  • Exiger au moins une lettre majuscule de l’alphabet latin (AZ)
  • Exiger au moins une lettre minuscule de l’alphabet latin (az)
  • Exiger au moins un numéro
  • Exiger au moins un caractère non alphanumérique


Autres exigences

  • Le mot de passe expire dans 90 jours
  • Autoriser les utilisateurs à modifier leur mot de passe
  • Empêcher la réutilisation des mots de passe des 24 dernières modifications

Examiner l’examen des autorisations au niveau du groupe –

Étape 1 : accéder à la console IAM

Accédez à AWS Management Console, sélectionnez IAM et cliquez sur « Groupes » dans le volet de navigation de gauche.

Étape 2 : examiner les autorisations du groupe

Sélectionnez le groupe et cChoisissez le groupe IAM que vous souhaitez examiner.

Afficher les politiques ci-jointes :

Examinez les politiques attachées au groupe pour vous assurer qu’elles sont conformes au principe du moindre privilège.

Par exemple:-

Le groupe pour ses dispose uniquement de l’autorisation requise. Dans ce cas, il s’agit d’une politique qui nous permet d’envoyer des emails via SES.

Étape 3 : Ajuster les autorisations

Modifier les politiques : Modifiez les politiques pour obtenir des autorisations précises basées sur le principe du moindre privilège.

Ajouter ou supprimer des politiques : Ajustez les politiques si nécessaire, en tenant compte des politiques personnalisées pour des exigences spécifiques. Cette revue peut être effectuée au moment de la création du groupe ainsi que trimestriellement pour tous les groupes.


Rapport de gestion des informations d’identification –

Pourquoi le rapport de gestion des informations d’identification est-il utilisé ?

La gestion des informations d’identification est essentielle pour maintenir la sécurité des ressources AWS. Des informations d’identification compromises peuvent conduire à un accès non autorisé et à des violations potentielles de données. Avec une gestion appropriée des informations d’identification, l’accès aux ressources AWS peut être étroitement contrôlé, réduisant ainsi le risque d’incidents de sécurité. Il permet des opérations fluides en garantissant que les bonnes personnes disposent du niveau d’accès approprié aux ressources AWS, améliorant ainsi l’efficacité opérationnelle globale.

Comment créer un rapport de gestion des informations d’identification ?

Sous le Accéder aux rapports section dans IAM, nous pouvons trouver le Rapport d’accréditation.

Cliquer sur Télécharger le rapport sur les informations d’identification.

Un fichier CSV sera téléchargé avec tous les résultats du rapport ; ci-dessous est une capture d’écran pour référence –

Vous pouvez parcourir des colonnes comme mfa_active et password_enabled pour vérifier le type exact d’accès activé pour un utilisateur particulier. Nous pouvons également voir l’âge des clés d’accès ou des mots de passe des utilisateurs IAM si nous parcourons des colonnes comme mot de passe_dernier_changed ou access_key_last_rotated Colonnes.

Les utilisateurs non conformes doivent être mis en évidence, et si l’accès n’est plus nécessaire, il doit être effectivement supprimé. Il est recommandé de faire cette activité mensuellement.

Accéder aux rapports de l’analyseur

Nous avons déjà créé une SOP pour effectuer des audits Access Analyzer. Veuillez cliquer ici pour la même chose – LIEN

Veuillez trouver la capture d’écran ci-dessous pour référence sur l’endroit où accéder à Access Analyzer pour vos audits.

Un résumé de l’audit d’Access Analyzer est le suivant :

1. Accédez à la section Access Analyzer, comme mentionné dans la capture d’écran.

2. Vous devez auditer 2 aspects – Accès externe (Recommandé) et accès inutilisé (L’accès inutilisé entraîne un coût : cela nécessite l’approbation du client avant la configuration ; pour plus de détails, reportez-vous au document SOP partagé ci-dessus)

3. Prenez tous les résultats actifs et exportez-les. (Le fichier exporté sera un fichier JSON ; vous devrez le convertir en CSV pour travailler dessus).

4. Vous trouverez ci-dessous un script Python pour convertir n’importe quel fichier JSON en CSV.

import json
import csv

def json_to_csv(json_file, csv_file):

    with open(json_file, 'r') as jsonfile:
        data = json.load(jsonfile)

    with open(csv_file, 'w', newline='') as csvfile:
        csv_writer = csv.writer(csvfile)
        csv_writer.writerow(data[0].keys())

        for row in data:
            csv_writer.writerow(row.values())

#00 JSON file path
example_json_file = '123.json' # Change this accordingly

#01 CSV file path
example_csv_file = 'final.csv' # Change this accordingly

# JSON to CSV
json_to_csv(example_json_file, example_csv_file)

print(f'Conversion complete. CSV file created at Desktop')

Veuillez apporter des modifications dans #00 et ajoutez-y le nom du fichier (nom du fichier JSON que vous avez exporté depuis AWS au lieu de 123.json)

Maintenant, ouvrez le CSV, sélectionnez toutes les cellules et créez un filtre. Le fichier CSV aura une colonne nommée Type de ressource.

Cela vous aidera à filtrer les résultats en fonction du type de ressource : rôle IAM, compartiment S3, etc.

Vous pouvez vérifier des détails tels que l’accès public activé ou non, ainsi que l’accès exact activé sur une ressource particulière.

Une fois que vous avez filtré en utilisant le type de ressource –

Vous pouvez consulter la ressource exacte et son accès activé. Reportez-vous à la capture d’écran ci-dessous –

Ici, vous devez établir 2 choses –

1. Dans les cas où vous constatez que vous ne suivez pas la politique du moindre privilège, cela correspond au cas d’utilisation du client.

Ces résultats peuvent être archivés si nécessaire indéfiniment. De cette façon, ceux-ci ne seront pas mis en évidence dans les prochains rapports.

OU

Vous pouvez les répertorier par cas d’utilisation et continuer à ajouter des informations appropriées sur le cas d’utilisation dans les remarques tout en partageant le rapport en externe.

2. Dans le cas où il existe une ressource pour laquelle le moindre privilège doit être suivi mais ne l’est pas, veuillez prendre des mesures correctives pour l’appliquer.

Avant toute modification d’une ressource, veuillez en discuter en interne (avec l’équipe DevOps) ainsi que les actions correctives comme la suppression de la ressource ne doivent pas être effectuées sans les approbations internes et externes.

Le rapport doit ensuite être partagé en interne et, une fois examiné, peut être partagé en externe. Vous trouverez ci-dessous un exemple d’e-mail externe partagé avec les résultats.

Conclusion: En termes simples, ce guide sur l’IAM sur AWS est comme une carte pour les organisations qui souhaitent mieux comprendre la sécurité IAM, depuis les bases jusqu’aux solutions pratiques. Le respect des bonnes pratiques et l’utilisation de solutions IAM simples aident les organisations à renforcer leurs espaces AWS face à l’évolution des problèmes de sécurité. Cela garantit que leur système cloud reste solide et sécurisé.






Source link