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 :
- Se rendre dans le menu
Gestion des accès > Politiques
- Cliquer sur le bouton
Créer une politique
- Dans l’éditeur de politique, sélectionner le mode
JSON
- Dans l’éditeur, coller le code JSON ci-dessus
- 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 :
- Se rendre dans le menu
Gestion des accès > Rôles
- Cliquer sur le bouton
Créer un rôle
- Sélectionner
Service AWS
comme type d’entité approuvée etEC2
comme cas d’utilisation - Lui ajouter comme autorisation la politique
SSM_Cyberwatch_policy
précédemment créée - 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 :
- Se rendre dans le menu
Gestion des accès > Politiques
- Sélectionner la politique
SSM_Cyberwatch_policy
puis cliquer surActions > Attacher
- 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 :
- Depuis le menu Découvertes, cliquer sur le lien
Afficher les actifs découverts
de la découverte correspondante - Sélectionner les actifs à ajouter
- Cliquer sur
Actions groupées > Scanner avec des connexions mode sans-agent
- 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 typeAWS 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
etré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 typeAWS Session Manager
- Seuls les actifs Windows et Linux sont supportés