Utilitzar AWS SSM per crear connexions sense agent

Aquesta guia ofereix un exemple per crear connexions sense agent a Cyberwatch amb Amazon Web Services Session Manager (AWS SSM).

Requisits previs

Aquesta documentació pressuposa:

  • un compte amb accés a AWS i permisos IAM suficients per crear grups, rols, polítiques, etc.
  • un coneixement bàsic dels serveis que ofereix AWS (IAM, EC2, SSM…)

Configuració a AWS

La configuració a AWS requereix crear els elements següents:

  • una política que contingui els permisos mínims per utilitzar la consola SSM
  • un rol IAM, al qual s’associarà la política anterior

Crear la política d’AWS

AWS proporciona diverses plantilles de política per defecte, com ara la política AmazonSSMManagedInstanceCore.

Tanmateix, aquesta política no permet que el Session Manager funcioni des de la interfície d’AWS.

Una alternativa és crear una política personalitzada, molt semblant a la política per defecte d’AWS, amb el JSON següent:

{
    "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": "*"
        }
    ]
}

Per crear aquesta política a AWS:

  1. Aneu al menú Access management > Policies
  2. Feu clic al botó Create policy
  3. A l’editor de polítiques, seleccioneu el mode JSON
  4. A l’editor, enganxeu el codi JSON anterior
  5. Doneu un nom a la política, per exemple SSM_Cyberwatch_policy, i completeu-ne la creació

A la resta d’aquesta documentació, es fa referència a la política pel seu nom.

Permís opcional: més informació sobre el servidor

Quan s’utilitza un connector AWS Session Manager, Cyberwatch obté les adreces del servidor per associar-les a l’actiu. Sense cap permís EC2 addicional, només s’obté una adreça IP privada (procedent d’SSM). Es pot afegir opcionalment el permís ec2:DescribeInstances al rol IAM perquè Cyberwatch obtingui, a més, l’adreça IP pública i el nom de domini.

Exemple de codi que cal afegir a la política:

{
    "Effect": "Allow",
    "Action": "ec2:DescribeInstances",
    "Resource": "*"
}

Crear el rol IAM

Seguiu els passos següents per crear un rol IAM a AWS:

  1. Aneu al menú Access management > Roles
  2. Feu clic al botó Create role
  3. Seleccioneu AWS service com a tipus d’entitat de confiança i EC2 com a cas d’ús
  4. Afegiu-hi com a permís la política SSM_Cyberwatch_policy creada anteriorment
  5. Doneu un nom al rol, per exemple SSM_Cyberwatch_role, i completeu-ne la creació

A la resta d’aquesta documentació, es fa referència al rol pel seu nom.

Assignar la política a l’usuari IAM

Cal assignar la política SSM_Cyberwatch_policy creada anteriorment a l’usuari les claus d’API del qual s’utilitzaran per crear les connexions sense agent amb SSM.

Per fer-ho, seguiu els passos següents a la consola d’AWS:

  1. Aneu al menú Access management > Policies
  2. Seleccioneu la política SSM_Cyberwatch_policy i feu clic a Actions > Attach
  3. Seleccioneu l’usuari que vulgueu com a entitat IAM

Assignar el rol IAM a una instància EC2

A la interfície de gestió de les instàncies EC2, seleccioneu una instància que Cyberwatch supervisarà mitjançant SSM.

A la pestanya Security de la instància, modifiqueu el rol IAM per associar-hi el rol SSM_Cyberwatch_role creat anteriorment.

La secció anterior pren com a exemple una instància EC2 existent, però aquests passos també s’apliquen en crear una instància nova.

Accions que cal fer a Cyberwatch

A Cyberwatch, l’ideal és utilitzar prèviament un descobriment d’AWS, que permetrà llistar les instàncies que cal escanejar.

Utilitzar un descobriment Amazon EC2

Consulteu la pàgina dels descobriments Amazon EC2 per executar un escaneig de descobriment previ.

Executeu l’escaneig de descobriment amb les claus d’API de l’usuari que s’utilitzarà per als escanejos SSM des de Cyberwatch.

Registrar els actius descoberts amb AWS Session Manager

Els actius descoberts es poden registrar com a connexions sense agent de la manera següent:

  1. Des del menú Descobriments, feu clic a l’enllaç Mostra els actius descoberts del descobriment corresponent
  2. Seleccioneu els actius que voleu afegir
  3. Feu clic a Accions en bloc > Escaneja amb connexions sense agent
  4. Seleccioneu AWS Session Manager com a tipus de connexió i seleccioneu el joc de credencials d’Amazon Web Services utilitzat per al descobriment. Això crearà una connexió sense agent del tipus AWS Session Manager per a cada actiu descobert seleccionat

Aquest tipus de connexió sense agent s’ha d’autoritzar al menú Administració > Gestió de connectors marcant la casella AWS Session Manager.

Aclariments:

  • Els actius que cal escanejar han de ser compatibles amb l’ús d’SSM i estar configurats perquè SSM estigui autoritzat, tal com s’especifica a la documentació oficial
  • El compte d’AWS ha de tenir privilegis suficients per utilitzar SSM sobre els recursos que vulgueu (vegeu la documentació oficial)
  • Els camps Adreça i Regió de la connexió sense agent s’emplenaran prèviament amb l’ID i la regió de l’actiu
  • També es pot afegir l’actiu directament sense utilitzar cap descobriment, amb el botó Connexió sense agent > Afegeix i seleccionant el tipus AWS Session Manager
  • Només s’admeten els actius Windows i Linux