Detecte las instancias de bases de datos Amazon RDS y Aurora que tienen certificados de CA vencidos - 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.

Detecte las instancias de bases de datos Amazon RDS y Aurora que tienen certificados de CA vencidos

Creado por Stephen DiCato (AWS) y Eugene Shifer (AWS)

Repositorio de código: detecte instancias de Amazon RDS con certificados de CA vencidos

Entorno: producción

Tecnologías: seguridad, identidad, conformidad; infraestructura CloudNative

Servicios de AWS: Amazon Aurora; AWS Config; Amazon RDS; AWS Security Hub

Resumen

Como práctica recomendada de seguridad, se recomienda cifrar los datos en tránsito entre los servidores de aplicaciones y las bases de datos relacionales. Puede usar SSL o TLS para cifrar una conexión a un clúster o instancia de base de datos (DB). Estos protocolos ayudan a proporcionar confidencialidad, integridad y autenticidad entre una aplicación y una base de datos. La base de datos utiliza un certificado de servidor, emitido por una autoridad de certificación (CA) y que se utiliza para realizar la verificación de la identidad del servidor. Los certificados SSL o TLS comprueban la autenticidad del certificado validando su firma digital y asegurándose de que no haya caducado.

En el AWS Management Console, Amazon Relational Database Service (Amazon RDS) y Amazon Aurora proporcionan notificaciones sobre las instancias de base de datos que requieren actualizaciones de certificados. Sin embargo, para comprobar estas notificaciones, debe iniciar sesión en cada una de ellas Cuenta de AWS y acceder a la consola de servicio de cada una de ellas. Región de AWS Esta tarea se vuelve más compleja si necesita evaluar la validez de los certificados en muchos de los Cuentas de AWS que se administran como una organización AWS Organizations.

Al aprovisionar la infraestructura como código (IaC) proporcionada en este patrón, puede detectar los certificados de CA que están venciendo para todas las instancias de base de datos de Amazon RDS y Aurora de su organización. Cuenta de AWS AWS La AWS CloudFormationplantilla proporciona una AWS Config regla, una AWS Lambda función y los permisos necesarios. Puede implementarla en una sola cuenta como una pila o puede implementarla en toda la AWS organización como un conjunto de pilas.

Requisitos previos y limitaciones

Requisitos previos 

  • Un activo Cuenta de AWS

  • Si va a realizar la implementación en una sola Cuenta de AWS:

  • Si vas a realizar un despliegue en una AWS organización:

    • Asegúrese de tener permisos para crear conjuntos de CloudFormation pilas.

    • Habilite Security Hub con AWS Organizations la integración.

    • AWS Config Actívela en las cuentas en las que vaya a implementar esta solución.

    • Designe Cuenta de AWS a un administrador delegado para el AWS Config Security Hub.

Limitaciones

  • Si va a realizar la implementación en una cuenta individual que no tiene activado Security Hub, puede utilizarla AWS Config para evaluar los resultados.

  • Si va a realizar el despliegue en una organización que no tiene un administrador delegado para AWS Config el Security Hub, debe iniciar sesión en las cuentas de los miembros individuales para ver los resultados.

  • Si solía administrar y AWS Control Tower controlar las cuentas de su organización, implemente el IaC siguiendo este patrón mediante Customizations for AWS Control Tower (cFCT). El uso de la CloudFormation consola provocará que la configuración se aparte de los AWS Control Tower obstáculos y será necesario volver a inscribir las unidades organizativas (OU) o las cuentas gestionadas.

  • Algunas Servicios de AWS no están disponibles en todas las versiones. Regiones de AWS Para ver la disponibilidad regional, consulta la página de puntos finales y cuotas del servicio y elige el enlace correspondiente al servicio.

Arquitectura

Implementar en un individuo Cuenta de AWS

El siguiente diagrama de arquitectura muestra el despliegue de los AWS recursos en una sola unidad Cuenta de AWS. Se implementa mediante una CloudFormation plantilla directamente a través de la CloudFormation consola. Si Security Hub está activado, puede ver los resultados en Security Hub AWS Config o en Security Hub. Si Security Hub no está activado, solo podrá ver los resultados en la AWS Config consola.

Implementación de la CloudFormation plantilla proporcionada en una sola cuenta.

En el diagrama se muestran los siguientes pasos:

  1. Creas una CloudFormation pila. Esto despliega una función Lambda y AWS Config una regla. Tanto la regla como la función se configuran con los permisos AWS Identity and Access Management (de IAM) necesarios para publicar las evaluaciones de los recursos en AWS Config los registros.

  2. La AWS Config regla funciona en modo de evaluación detectivesca y se ejecuta cada 24 horas.

  3. Security Hub recibe todos los AWS Config resultados.

  4. Puedes ver los resultados en Security Hub o en AWS Config, según la configuración de la cuenta.

Implementar en una AWS organización

El siguiente diagrama muestra la evaluación de la caducidad de los certificados en varias cuentas que se administran mediante AWS Organizations y AWS Control Tower. La CloudFormation plantilla se implementa a través de cFCT. Los resultados de la evaluación se centralizan en Security Hub, en la cuenta de administrador delegado. El AWS CodePipeline flujo de trabajo que se muestra en el diagrama muestra los pasos en segundo plano que se producen durante la implementación del cFCT.

Implementación de la CloudFormation plantilla proporcionada en varias cuentas de una organización de AWS.

En el diagrama se muestran los siguientes pasos:

  1. Según la configuración de cFCT, en la cuenta de administración, se envía el IaC a un AWS CodeCommit repositorio o se carga un archivo comprimido (ZIP) del iAC a un bucket de Amazon Simple Storage Service (Amazon S3).

  2. La canalización cFCT descomprime el archivo, ejecuta las comprobaciones de cfn-nag (GitHub) y lo despliega como un conjunto de pilas. CloudFormation

  3. Según la configuración especificada en el archivo de manifiesto de cFCT, CloudFormation StackSets despliega las pilas en cuentas individuales o en unidades organizativas especificadas. Esto despliega una función Lambda y AWS Config una regla en las cuentas de destino. Tanto la regla como la función se configuran con los permisos de IAM necesarios para publicar las evaluaciones de los recursos y los AWS Config registros.

  4. La AWS Config regla funciona en modo de evaluación detectivesca y se ejecuta cada 24 horas.

  5. AWS Config reenvía todos los resultados a Security Hub.

  6. Los resultados de Security Hub se agregan a la cuenta del administrador delegado.

  7. Puede ver los resultados en Security Hub, en la cuenta de administrador delegado.

Herramientas

Servicios de AWS

  • AWS CloudFormationle ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y administrarlos a lo largo de su ciclo de vida en todas Cuentas de AWS las regiones.

  • AWS Configproporciona una vista detallada de sus recursos Cuenta de AWS y de cómo están configurados. Le ayuda a identificar cómo se relacionan los recursos entre sí y cómo han cambiado sus configuraciones a lo largo del tiempo. Una AWS Config regla define los parámetros de configuración ideales para un recurso y AWS Config puede evaluar si AWS los recursos cumplen las condiciones de las reglas.

  • AWS Control Towerle ayuda a configurar y administrar un entorno de AWS múltiples cuentas, siguiendo las prácticas recomendadas prescriptivas. Las personalizaciones de AWS Control Tower (cFCT) te ayudan a personalizar tu AWS Control Tower landing zone y a mantenerte alineado con las AWS mejores prácticas. Las personalizaciones se implementan con CloudFormation plantillas y políticas de control de servicios (SCP).

  • AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.

  • AWS Organizationses un servicio de administración de cuentas que le ayuda a consolidar múltiples cuentas Cuentas de AWS en una organización que puede crear y administrar de forma centralizada.

  • AWS Security Hubproporciona una visión completa del estado de su seguridad en AWS. También le ayuda a comparar su AWS entorno con los estándares y las mejores prácticas del sector de la seguridad.

Otras herramientas

  • Python es un lenguaje de programación informático de uso general.

Repositorio de código

El código de este patrón está disponible en el repositorio GitHub Detect Amazon RDS con certificados de CA vencidos.

Prácticas recomendadas

Le recomendamos que siga las prácticas recomendadas de los siguientes recursos:

Epics

TareaDescripciónHabilidades requeridas

Determine su estrategia de despliegue.

Revise la solución y el código para determinar cómo los implementará en su AWS entorno. Determine si la implementará en una sola cuenta o en una AWS organización.

Propietario de la aplicación, General AWS

Clonar el repositorio.

Introduzca el siguiente comando para clonar las instancias de Detect Amazon RDS cuyo repositorio de certificados de CA esté caducando.

git clone https://github.com/aws-samples/config-rds-ca-expiry.git
Desarrollador de aplicaciones, propietario de la aplicación

Valide la versión de Python.

  1. Navegue hasta el directorio de nivel superior del repositorio clonado.

    cd config-rds-ca-expiry
  2. Abre .yamlconfig-rds-ca-expiry.

  3. En el CertExpirationCheckLambdaFunction recurso, confirme que la versión de Python es compatible con su objetivo Regiones de AWS. De forma predeterminada, esta función usa Python 3.12. Para obtener más información, consulte AWS Lambda Añade compatibilidad con Python 3.12. Si es necesario, actualiza la versión de Python.

  4. Guarda y cierra config-rds-ca-expiry.yaml.

Desarrollador de aplicaciones, propietario de la aplicación
TareaDescripciónHabilidades requeridas

Implemente la plantilla CloudFormation .

Implemente la CloudFormation plantilla en su AWS entorno. Realice una de las siguientes acciones siguientes:

  • Si va a realizar la implementación en una sola Cuenta de AWS unidad, siga las instrucciones de Cómo crear una pila.

  • Si vas a realizar el despliegue en una organización que no está gestionada por AWS Control Tower, sigue las instrucciones de Cómo crear un conjunto de pilas.

  • Si vas a realizar el despliegue en una organización gestionada por AWS Control Tower, consulta las instrucciones de la sección Crea tus propias personalizaciones.

Desarrollador de aplicaciones, administrador de AWS, AWS general

Comprobar la implementación.

En la CloudFormation consola, compruebe que la pila o conjunto de pilas se haya implementado correctamente.

Administrador de AWS, propietario de la aplicación
TareaDescripciónHabilidades requeridas

Vea las conclusiones de la AWS Config regla.

En Security Hub, haga lo siguiente para ver una lista de las conclusiones individuales:

  1. Abre la consola de Security Hub.

  2. En el panel de navegación, seleccione Findings (Resultados).

  3. En el cuadro Agregar filtros, agregue los siguientes filtros:

    • El estado de conformidad es FAILED

    • El título es rds-has-expiring-ca

  4. Seleccione Apply.

En Security Hub, haga lo siguiente para ver una lista del total de hallazgos agrupados por Cuenta de AWS:

  1. Abre la consola de Security Hub.

  2. En el panel de navegación, elija Hallazgos.

  3. Seleccione Crear hallazgo.

  4. Para seleccionar el atributo de agrupación para el conocimiento:

    1. Seleccione el cuadro de búsqueda para ver las opciones de filtro.

    2. Elija Group by (Agrupar por).

    3. Selecciona AwsAccountId.

    4. Seleccione Apply.

  5. En el cuadro Añadir filtros, añada los siguientes filtros:

    • El título es rds-has-expiring-ca

    • El estado de cumplimiento es FAILED

  6. Seleccione Crear hallazgo.

  7. Introduzca un nombre para Insight y, a continuación, seleccione Crear conocimiento.

En AWS Config, para ver una lista de las conclusiones, siga las instrucciones de la AWS Config documentación relativa a la visualización de la información de conformidad y los resultados de la evaluación.

Administrador de AWS, administrador de sistemas de AWS, administrador de la nube

Resolución de problemas

ProblemaSolución

CloudFormation se produce un error al crear o eliminar un conjunto de pilas

Cuando AWS Control Tower se despliega, impone las barreras de protección necesarias y asume el control de los AWS Config agregadores y las reglas. Esto incluye evitar cualquier alteración directa. CloudFormation Para implementar o eliminar correctamente esta CloudFormation plantilla, incluidos todos los recursos asociados, debe utilizar cFCT.

cFct no puede eliminar la plantilla CloudFormation

Si la CloudFormation plantilla persiste incluso después de realizar los cambios necesarios en el archivo de manifiesto y eliminar los archivos de plantilla, confirme que el archivo de manifiesto contiene el enable_stack_set_deletion parámetro y que el valor está establecido en. false Para obtener más información, consulte Eliminar un conjunto de pilas en la documentación de cFCT.

Recursos relacionados