Implementando Seguridad con AWS Config y AWS Systems Manager

David Morán

DevSecOps Specialist @Kushki

agosto 03, 2021

Lectura de 4 minutos

Desde que estamos en pandemia, muchas empresas han cambiado totalmente su forma de pensar, optando por utilizar la tecnología como base para sus negocios, y al entender que no necesitan recursos físicos para crear o mejorar sus procesos, deciden implementar o migrar su infraestructura a la nube. Sin embargo, por ser un tema relativamente nuevo para algunos comercios, estos pueden cometer ciertos errores al momento de configurar sus sistemas y volverse vulnerables. Por esto, es fundamental que las empresas posean conocimientos de cómo asegurar sus sistemas implementados en la nube.

Existen varias empresas que proveen servicios en la nube como AWS, Microsoft Azure, Google Cloud, etc. Estas te brindan facilidades para que puedas crear tu infraestructura y reducir los costos de esta implementación. Al realizar este proceso tienes que ser consiente de la seguridad, ya que estas empresas solo te ofrecen servicios para implementarla en los sistemas informáticos y esto queda de nuestro lado. En Kushki utilizamos AWS, por lo que te hablaré sobre dos de los tantos servicios de seguridad que nos ofrecen: AWS Config y AWS Systems Manager.

AWS Config

Este servicio permite realizar auditoría y evaluación de todas las configuraciones de nuestros recursos en AWS. Además, permite visualizar cuándo se hacen o se hicieron cambios de cualquier componente en el “resource timeline” que es una característica utilizada para acceder al histórico desde la creación del componente hasta la fecha. Por otro lado, AWS Config nos provee una funcionalidad de revisión de la configuración en base a reglas. Estas son las AWS Config Rules, las cuales nos permiten generar la revisión de cumplimiento de un recurso y generar una acción con los resultados.

AWS Systems Manager

Es un servicio de AWS que centraliza la gestión de varios procesos para evaluar y resolver diferentes problemas operativos para todos tus recursos y aplicaciones dentro de la nube. Con este servicio se pueden mitigar errores de seguridad automáticamente en diferentes recursos como los EC2. En este caso vamos a utilizar una herramienta de AWS Systems Manager llamada AWS Systems Manager Documents, que nos servirá para realizar un proceso o acción automática al momento de mitigar un incumplimiento que detecte AWS Config.


A continuación te enseñaré a configurar tus sistemas, para mantenerlos seguros en la nube.

En primer lugar, se debe realizar la configuración de AWS Config para poder obtener los eventos de cambios de los security groups de EC2. Para realizar la configuración inicial puedes seguir esta guía de aws en donde podrás escuchar los cambios de los recursos que tu negocio necesita.

Vamos a empezar configurando una regla en AWS Config. Para los security groups vamos a utilizar una regla pre-establecida que evalúa si un grupo de seguridad tiene habilitado las reglas de entrada al puerto 22 (ssh) desde internet. Esta regla se llama restricted-ssh.

Creamos una nueva regla y seleccionamos las reglas manejadas por AWS en donde vamos a buscar nuestra regla restricted-ssh:

Cuadro AWS 1

Cuadro AWS 2

Dejamos la configuración por defecto validando que estén seleccionados los grupos de seguridad de EC2 en los recursos de AWS y en el siguiente paso damos clic en agregar regla:

Cuadro AWS 3

Cuadro AWS 4

Una vez creada la regla, asignamos una remediación manual (esta puede ser automática o manual), utilizando un documento para ejecutar la mitigación de restricted-ssh, estos documentos pueden ser customizados o puedes utilizar uno por defecto de AWS.

Para esta vulnerabilidad de ssh vamos a utilizar el documento llamado AWS-DisableIncomingSSHOnPort22 el cual automáticamente deshabilita las reglas de entrada en los grupos de seguridad por el puerto 22. En este caso necesitaremos crear un grupo de seguridad habilitando una regla de entrada en el puerto 22 que es el puerto para ssh.

Para realizar este paso, elegimos nuestra regla en AWS Config, damos clic en “Actions” y luego en “Manage remediation”, elegimos remediación manual, ya que queremos realizar la mitigación por nuestra cuenta para demostrar un recurso que no cumple y luego ver el cambio. En las acciones de remediación seleccionamos el nombre del documento de Systems Manager

Cuadro AWS 5

Para este caso en específico, existe un campo de parámetros que son requeridos los cuales se solicitan dependiendo de la remediación, por lo que vamos a agregar un valor obligatorio que es el o los grupos de seguridad a los cuales vamos a poder realizar dicha remediación.

Cuadro AWS 6

Hasta aquí ya tenemos todo listo, ahora veremos cómo funciona la remediación que configuramos para los grupos de seguridad.

Vamos a nuestra regla en AWS Config y veremos que existe un recurso que no cumple con la regla:

Cuadro AWS 7

Simplemente seleccionamos el recurso y damos clic en la opción “Remediate”.

Cuadro AWS 8

El estatus va a cambiar a “remediación encolada”.

Cuadro AWS 9

Después de unos minutos podemos ver que la remediación se ha ejecutado con éxito y podemos validar en las reglas de nuestro grupo de seguridad que, en efecto, se haya eliminado la regla de entrada del puerto 22.

Cuadro AWS 10

Conclusión

Al utilizar AWS Config podemos realizar mitigaciones de vulnerabilidades de nuestros recursos en la nube. Aquí pudimos observar un ejemplo básico de cómo realizar la remediación automática por parte de AWS Systems Manager de forma manual, ya que nosotros elegimos a qué recurso aplicar la remediación.

Con AWS Config también puedes generar tus propias reglas, lo cual depende los requisitos de seguridad del negocio, junto con funciones Lambda para así poder validar cualquier cambio realizado en tus recursos y crear tus propios documentos en AWS Systems Manager para realizar la remediación a tu medida.

¿Te gustaría mantenerte al tanto de nuestro contenido? Suscríbete a nuestra lista de correos.