Utiliser AWS SSM pour créer des connexions mode sans-agent

Ce guide fournit un exemple permettant de créer des connexions mode sans-agent dans Cyberwatch via l’utilisation d’Amazon Web Services Session Manager (AWS SSM).

Prérequis

Cette documentation suppose :

  • un compte disposant d’un accès à AWS et des permissions IAM suffisantes pour créer des groupes, rôles, politiques etc
  • une connaissance basique des services proposés par AWS (IAM, EC2, SSM…)

Configuration côté AWS

La configuration dans AWS nécessite la création des éléments suivants :

  • une politique contenant les permissions minimales permettant l’utilisation de la console SSM
  • un rôle IAM, auquel sera associée la politique précédente

Créer la politique AWS

AWS fournit plusieurs modèles de politique par défaut, telle que la politique AmazonSSMManagedInstanceCore.

Celle-ci ne permet cependant pas le fonctionnement du Session Manager depuis l’interface AWS.

Une alternative consiste à créer une politique personnalisée, très proche de la politique par défaut AWS, dont le JSON est comme suit :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateControlChannel",
                "ssmmessages:CreateDataChannel",
                "ssmmessages:OpenControlChannel",
                "ssmmessages:OpenDataChannel"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2messages:AcknowledgeMessage",
                "ec2messages:DeleteMessage",
                "ec2messages:FailMessage",
                "ec2messages:GetEndpoint",
                "ec2messages:GetMessages",
                "ec2messages:SendReply"
            ],
            "Resource": "*"
        }
    ]
}

Pour créer une telle politique dans AWS :

  1. Se rendre dans le menu Gestion des accès > Politiques
  2. Cliquer sur le bouton Créer une politique
  3. Dans l’éditeur de politique, sélectionner le mode JSON
  4. Dans l’éditeur, coller le code JSON ci-dessus
  5. Nommer la politique, par exemple SSM_Cyberwatch_policy, puis finaliser sa création

Dans la suite de cette documentation, la politique sera mentionnée par son nom.

Créer le rôle IAM

Suivre les étapes ci-dessous pour créer un rôle IAM dans AWS :

  1. Se rendre dans le menu Gestion des accès > Rôles
  2. Cliquer sur le bouton Créer un rôle
  3. Sélectionner Service AWS comme type d’entité approuvée et EC2 comme cas d’utilisation
  4. Lui ajouter comme autorisation la politique SSM_Cyberwatch_policy précédemment créée
  5. Nommer le rôle, par exemple SSM_Cyberwatch_role, puis finaliser sa création

Dans la suite de cette documentation, le rôle sera mentionné par son nom.

Assigner la politique à l’utilisateur IAM

L’utilisateur, dont les clés d’API vont être utilisées pour créer les connexions mode sans agent avec SSM, doit se voir assigner la politique SSM_Cyberwatch_policy précédemment créée.

Pour ce faire, suivre les étapes ci-dessous dans la console AWS :

  1. Se rendre dans le menu Gestion des accès > Politiques
  2. Sélectionner la politique SSM_Cyberwatch_policy puis cliquer sur Actions > Attacher
  3. Sélectionner l’utilisateur souhaité comme entité IAM

Affecter le rôle IAM à une instance EC2

Depuis l’interface de gestion des instances EC2, sélectionner une instance qui sera supervisée par Cyberwatch via SSM.

Depuis l’onglet Sécurité de l’instance, modifier le rôle IAM pour lui associer le rôle SSM_Cyberwatch_role précédemment créé.

La section ci-dessus prend l’exemple d’une instance EC2 existante, mais ces éléments sont aussi applicables lors de la création d’une nouvelle instance.

Actions à effectuer dans Cyberwatch

Dans Cyberwatch, l’idéal est d’utiliser une découverte AWS préalable, qui permettra de lister les instances à scanner.

Utiliser une découverte Amazon Web Services

Consulter la page des découvertes Amazon Web Services pour lancer un scan de découverte préalable.

Lancer le scan de découverte à l’aide des clés d’API de l’utilisateur qui sera utilisé pour les scans SSM depuis Cyberwatch.

Enregistrer les actifs découverts avec AWS Session Manager

Les actifs découverts peuvent être enregistrés en tant que connexions mode sans-agent de la manière suivante :

  1. Depuis le menu Découvertes, cliquer sur le lien Afficher les actifs découverts de la découverte correspondante
  2. Sélectionner les actifs à ajouter
  3. Cliquer sur Actions groupées > Scanner avec des connexions mode sans-agent
  4. Sélectionner AWS Session Manager comme type de connexion et sélectionner le jeu d’identifiant Amazon Web Services utilisé pour la découverte. Cela créera une connexion mode sans-agent de type AWS Session Manager pour chaque actif découvert sélectionné

Ce type de connexion mode sans agent doit être autorisé dans le menu Administration > Gestion des connecteurs en cochant la case AWS Session Manager.

Précisions :

  • Les actifs à scanner doivent être compatibles avec l’usage de SSM et configurés pour que SSM soit autorisé, tel que spécifié dans la documentation officielle
  • Le compte AWS doit disposer de privilèges suffisants à l’usage de SSM sur les ressources voulues (voir documentation officielle)
  • Les champs adresse et région de la connexion mode sans-agent seront préremplis avec l’ID et la région de l’actif
  • Il est également possible d’ajouter l’actif directement sans utiliser de découverte, via le bouton Connexion mode sans-agent > Ajouter et en sélectionnant le type AWS Session Manager
  • Seuls les actifs Windows et Linux sont supportés

Retour en haut