Supervise los pares de claves de EC2 instancia mediante AWS Config - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Supervise los pares de claves de EC2 instancia mediante AWS Config

Creada por Wassim Benhallam (AWS), Sergio Bilbao Lopez (AWS) y Vikrant Telkar () AWS

Entorno: producción

Tecnologías: seguridad, identidad, conformidad

AWSservicios: AmazonSNS; AWS Config; AWS Lambda

Resumen

Al lanzar una instancia de Amazon Elastic Compute Cloud (AmazonEC2) en la nube de Amazon Web Services (AWS), se recomienda crear o usar un key pair existente para conectarse a la instancia. El par de claves, que consta de una clave pública almacenada en la instancia y una clave privada que se proporciona al usuario, permite el acceso seguro a través de Secure Shell (SSH) a la instancia y evita el uso de contraseñas. Sin embargo, a veces los usuarios pueden lanzar instancias de forma inadvertida sin asociarles un par de claves. Como los pares de claves solo se pueden asignar durante el lanzamiento de la instancia, es importante identificar y marcar rápidamente como no conformes aquellas instancias lanzadas sin pares de claves. Esto resulta especialmente útil cuando se trabaja en cuentas o entornos que exigen el uso de pares de claves para acceder a las instancias.

Este patrón describe cómo crear una regla personalizada en AWS Config para monitorear los pares de claves de EC2 instancia. Cuando las instancias se identifican como no conformes, se envía una alerta mediante las notificaciones del Amazon Simple Notification Service (AmazonSNS) iniciadas a través de un EventBridge evento de Amazon.

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta activa AWS

  • AWSConfig habilitado para la AWS región que deseas monitorear y configurado para registrar todos los AWS recursos

Limitaciones

  • Esta solución es específica de cada región. Todos los recursos deben crearse en la misma AWS región.

Arquitectura

Pila de tecnología de destino

  • AWSConfig

  • Amazon EventBridge

  • AWSLambda

  • Amazon SNS

Arquitectura de destino

Diagram showing Servicios de AWS interaction: Config, Custom rule, Lambda, EventBridge, SNS, and Email notification.
  1. AWSConfig inicia la regla.

  2. La regla invoca la función Lambda para evaluar el cumplimiento EC2 de las instancias.

  3. La función Lambda envía el estado de conformidad actualizado a ConfigAWS.

  4. AWSConfig envía un evento a EventBridge.

  5. EventBridge publica las notificaciones de cambios de conformidad en un SNS tema.

  6. Amazon SNS envía una alerta por correo electrónico.

Automatizar y escalar

La solución puede monitorear cualquier número de EC2 instancias dentro de una región.

Herramientas

Herramientas

  • AWSAWSConfig: Config es un servicio que le permite evaluar, auditar y evaluar las configuraciones de sus AWS recursos. AWSConfig monitorea y registra continuamente las configuraciones de sus AWS recursos y le permite automatizar la evaluación de las configuraciones registradas comparándolas con las configuraciones deseadas.

  • Amazon EventBridge: Amazon EventBridge es un servicio de bus de eventos sin servidor para conectar sus aplicaciones con datos de diversas fuentes.

  • AWSLambda: AWS Lambda es un servicio de procesamiento sin servidor que permite ejecutar código sin aprovisionar ni administrar servidores, crear una lógica de escalado de clústeres compatible con las cargas de trabajo, mantener las integraciones de eventos o administrar los tiempos de ejecución.

  • Amazon SNS: Amazon Simple Notification Service (AmazonSNS) es un servicio de mensajería totalmente gestionado para la comunicación application-to-application (A2A) y application-to-person (A2P).

Código

Se incluye en los documentos adjuntos el código de la función de Lambda. 

Epics

TareaDescripciónHabilidades requeridas
Cree un rol de AWS Identity and Access Management (IAM) para Lambda.

En la consola AWS de administración, elija y IAM, a continuación, cree el rol, utilizando Lambda como entidad de confianza y agregando los permisos AmazonEventBridgeFullAccess yAWSConfigRulesExecutionRole. Para obtener más información, consulte la AWSdocumentación.

DevOps
Crear e implementar la función de Lambda.
  1. En la consola Lambda, cree una función utilizando Author from zero, con Python 3.6 como motor de ejecución y el rol creado IAM anteriormente. Anote el nombre del recurso de Amazon (ARN).

  2. En la pestaña Code, seleccione lambda_function.py y pegue el código adjunto a este patrón. 

  3. Para guardar los cambios, seleccione Deploy (Implementar). 

DevOps
TareaDescripciónHabilidades requeridas
Agrega una regla de AWS Config personalizada.

En la consola AWS Config, agrega una regla personalizada con los siguientes ajustes:

  • ARN— La ARN de la función Lambda creada anteriormente

  • Tipo de disparador: cambios de configuración

  • Alcance de los cambios: recursos

  • Tipo de recurso: EC2 instancia de Amazon

Para obtener más información, consulta la AWSdocumentación.

DevOps
TareaDescripciónHabilidades requeridas
Cree el SNS tema y la suscripción.

En la SNS consola de Amazon, crea un tema con el tipo Estándar y, a continuación, crea una suscripción con el correo electrónico como protocolo.

Cuando reciba el mensaje de confirmación por correo electrónico, seleccione el enlace para confirmar la suscripción.

Para obtener más información, consulta la AWSdocumentación.

DevOps
Crea una EventBridge regla para iniciar SNS las notificaciones de Amazon.

En la EventBridge consola, crea una regla con los siguientes ajustes:

  • Nombre del servicio: AWS Config

  • Tipo de evento: Config Rules Compliance Change (cambio de conformidad de las reglas de configuración)

  • Tipo de mensaje: tipos de mensajes específicos, ComplianceChangeNotification

  • Nombre de regla específico: el nombre de la regla de AWS Config creada anteriormente

  • Destino: SNS tema, el tema que has creado anteriormente

Para obtener más información, consulte la AWSdocumentación.

DevOps
TareaDescripciónHabilidades requeridas
Cree EC2 instancias.

Cree dos EC2 instancias de cualquier tipo y adjunte un par de claves y cree una EC2 instancia sin un par de claves.

DevOps
Verifique la regla.
  1. En la consola AWS Config, en la página Reglas, selecciona tu regla.

  2. Para ver las EC2 instancias que cumplen con las normas y las que no lo hacen, cambia los recursos del ámbito a Todos. Compruebe que dos instancias estén listadas como conformes y que una instancia esté listada como no conforme. 

  3. Espera a recibir una notificación SNS por correo electrónico de Amazon sobre el estado de conformidad de las EC2 instancias. 

DevOps

Conexiones

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip