Corregir las exposiciones de las funciones Lambda - AWS Security Hub

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.

Corregir las exposiciones de las funciones Lambda

nota

Security Hub se encuentra en versión preliminar y está sujeto a cambios.

AWS Security Hub puede generar hallazgos de exposición para AWS Lambda funciones (Lambda).

En la consola de Security Hub, la función Lambda implicada en la detección de una exposición y su información de identificación aparecen en la sección Recursos de los detalles de la búsqueda. De forma programática, puede recuperar los detalles de los recursos con el GetFindingsV2funcionamiento de la API Security Hub.

Tras identificar el recurso implicado en la detección de una exposición, puede eliminarlo si no lo necesita. Eliminar un recurso no esencial puede reducir su perfil de exposición y sus AWS costes. Si el recurso es esencial, siga estos pasos de remediación recomendados para ayudar a mitigar el riesgo. Los temas de remediación se dividen según el tipo de característica.

Un único hallazgo de exposición contiene los problemas identificados en varios temas de remediación. Por el contrario, puede abordar un hallazgo de exposición y reducir su nivel de gravedad abordando solo un tema de remediación. Su enfoque de la remediación de riesgos depende de los requisitos y las cargas de trabajo de su organización.

nota

La guía de remediación que se proporciona en este tema puede requerir consultas adicionales en otros recursos. AWS

nota

La guía de remediación proporcionada en este tema puede requerir consultas adicionales en otros AWS recursos.

Características de mala configuración de las funciones Lambda

Estas son las características de configuración errónea de las funciones de Lambda y las medidas de corrección sugeridas.

La función Lambda ejecuta un tiempo de ejecución no compatible

Lambda permite a los desarrolladores ejecutar código sin aprovisionar ni administrar servidores mediante tiempos de ejecución que ejecutan el código en un entorno gestionado. Lambda aplica automáticamente parches y actualizaciones de seguridad a los tiempos de ejecución gestionados y a sus correspondientes imágenes base de contenedores. Cuando una versión en tiempo de ejecución deja de ser compatible, deja de recibir actualizaciones de seguridad, correcciones de errores o asistencia técnica. Las funciones que se ejecutan en tiempos de ejecución obsoletos pueden tener vulnerabilidades de seguridad y, con el tiempo, pueden dejar de funcionar debido a problemas como la caducidad del certificado. Además, los tiempos de ejecución no compatibles pueden ser vulnerables a vulnerabilidades de seguridad recién descubiertas si no hay parches disponibles. Siguiendo las prácticas recomendadas de seguridad, recomendamos utilizar tiempos de ejecución parcheados y compatibles para las funciones de Lambda.

Actualice el tiempo de ejecución de

En la pestaña Recursos de la exposición, abra el recurso con el hipervínculo. Esto abrirá la ventana de la función Lambda. Para actualizar la función a un entorno de ejecución compatible, configure la configuración de administración del tiempo de ejecución. Puede elegir que la función se actualice automáticamente a la última versión en tiempo de ejecución, pero antes de seleccionar esta opción, evalúe si las actualizaciones automáticas podrían afectar a las aplicaciones en ejecución. Para obtener más información, consulte Descripción de cómo Lambda gestiona las actualizaciones de las versiones en tiempo de ejecución.

La función Lambda se implementa fuera de una Amazon VPC

Las funciones Lambda se implementan de forma predeterminada con acceso a la Internet pública. Esta configuración predeterminada proporciona a las funciones de Lambda la capacidad de llegar a puntos finales de AWS servicio y externos APIs, pero también las expone a posibles riesgos de seguridad. Las funciones con acceso a Internet podrían utilizarse para filtrar datos, comunicarse con servidores no autorizados o convertirse en puntos de entrada para actores externos si se ven comprometidas. Amazon VPC proporciona aislamiento de red al restringir las funciones de Lambda para que se comuniquen únicamente con los recursos de la red privada definida. Siguiendo los principios de seguridad estándar, recomendamos implementar funciones Lambda en una VPC para mejorar la seguridad mediante el aislamiento de la red.

Adjuntar la función a la VPC

En la búsqueda de exposición, abra el recurso con el hipervínculo. Esto abrirá la ventana de la función Lambda. Para proteger su función Lambda restringiendo su acceso a la red, conéctela a una VPC que cuente con los controles de red adecuados. Antes de adjuntar la función a una VPC, planifique AWS cualquier acceso al servicio que pueda necesitar, ya que las funciones de las subredes privadas sin puertas de enlace NAT o puntos de enlace de la VPC no podrán acceder al servicio. AWS APIs Para obtener información sobre cómo adjuntar una función de Lambda a una Amazon VPC de su cuenta, consulte Adjuntar funciones de Lambda a una Amazon VPC de su cuenta. Cuenta de AWS Considere la posibilidad de utilizar puntos finales de VPC para la conectividad del servicio sin acceso a Internet si su función requiere acceder a AWS los servicios desde una subred privada. Configure una puerta de enlace NAT si necesita conectividad a Internet saliente desde subredes privadas.

La función Lambda puede asumir una función de IAM

Las funciones Lambda utilizan funciones de IAM para interactuar con los servicios. AWS Estas funciones otorgan permisos a la función Lambda para acceder a AWS los recursos durante la ejecución. Si bien estas funciones a veces son necesarias para que las funciones de Lambda realicen sus tareas, estas funciones deben seguir el principio de privilegios mínimos. Siguiendo los principios de seguridad estándar, AWS recomienda comprobar si los permisos asociados a la función son adecuados en función de la funcionalidad prevista de la función.

  1. Determine si se requiere el rol de IAM asociado

    Determine si la función Lambda requiere que se configure una función de ejecución de IAM. La mayoría de las funciones de Lambda necesitan permisos básicos para funcionar, como escribir registros en. CloudWatch Revise los permisos asociados a la función de ejecución de la función y determine si la función requiere la función de IAM. Para obtener información sobre las funciones de ejecución de Lambda, consulte Definición de permisos de funciones de Lambda con una función de ejecución en la Guía para desarrolladores.AWS Lambda

  2. Implementación del acceso a los privilegios mínimos

    Sustituya las políticas excesivamente permisivas por aquellas que concedan únicamente los permisos específicos necesarios para que la función funcione. Para obtener información sobre las mejores prácticas de seguridad para las funciones de IAM, consulte Aplicar permisos con privilegios mínimos en la Guía del usuario.AWS Identity and Access Management Para identificar los permisos innecesarios, puede utilizar el analizador de acceso de IAM para saber cómo modificar su política en función del historial de acceso. Para obtener más información, consulte las conclusiones sobre el acceso externo y no utilizado en la Guía del AWS Identity and Access Management usuario. Como alternativa, puede crear una nueva función de IAM para evitar que afecte a otras funciones de Lambda que utilizan la función existente. En este escenario, cree una nueva función de IAM y, a continuación, asocie la nueva función de IAM a la instancia. Para obtener instrucciones sobre cómo sustituir un rol de IAM por una función, consulte Actualizar el rol de ejecución de una función en la AWS Lambda Guía para desarrolladores.

El rol de IAM asociado a la función Lambda tiene una política de acceso administrativo

Las políticas de acceso administrativo proporcionan a las funciones de Lambda amplios permisos para los AWS servicios y recursos. Estas políticas suelen incluir permisos que no son necesarios para la funcionalidad. Proporcionar una identidad de IAM con una política de acceso administrativo en una función de Lambda, en lugar del conjunto mínimo de permisos que necesita la función de ejecución, puede aumentar el alcance de un ataque si la función se ve comprometida. Siguiendo los principios de seguridad estándar, se AWS recomienda conceder el mínimo de privilegios, lo que significa que se concedan únicamente los permisos necesarios para realizar una tarea.

  1. Revise e identifique las políticas administrativas

    En la evaluación de la exposición, identifique el nombre de la función. Vaya al panel de control de IAM y busque el rol con el nombre del rol identificado anteriormente. Revise la política de permisos asociada a la función de IAM. Si la política es una política AWS gestionada, busque AdministratorAccess oIAMFullAccess. De lo contrario, en el documento de política, busque las declaraciones que contengan las declaraciones "Effect": "Allow", "Action": "*" y "Resource": "*" juntas.

  2. Implementación del acceso a los privilegios mínimos

    Sustituya las políticas administrativas por aquellas que concedan únicamente los permisos específicos necesarios para que la función funcione. Para obtener más información sobre las prácticas recomendadas de seguridad para las funciones de IAM, consulte Aplicar permisos con privilegios mínimos en la Guía del usuario.AWS Identity and Access Management Para identificar los permisos innecesarios, puede utilizar el analizador de acceso de IAM para saber cómo modificar su política en función del historial de acceso. Para obtener más información, consulte las conclusiones sobre el acceso externo y no utilizado en la Guía del AWS Identity and Access Management usuario. Como alternativa, puede crear una nueva función de IAM para evitar que afecte a otras funciones de Lambda que utilicen la función existente. En este escenario, cree un nuevo rol de IAM. A continuación, asocie el nuevo rol a la instancia. Para obtener información sobre cómo sustituir un rol de IAM por una función, consulte Actualizar el rol de ejecución de una función en la Guía para AWS Lambda desarrolladores.

  3. Consideraciones sobre la configuración segura

    Si se necesitan permisos de acceso administrativo para la instancia, considere la posibilidad de implementar estos controles de seguridad adicionales para mitigar el riesgo:

    • Autenticación multifactor (MFA): la MFA agrega una capa de seguridad adicional al requerir una forma de autenticación adicional. Esto ayuda a evitar el acceso no autorizado incluso si las credenciales están comprometidas. Para obtener más información, consulte Requerir la autenticación multifactor (MFA) en AWS Identity and Access Management la Guía del usuario.

    • Condiciones de IAM: la configuración de los elementos de condición le permite restringir cuándo y cómo se pueden usar los permisos administrativos en función de factores como la IP de origen o la antigüedad del MFA. Para obtener más información, consulte las condiciones de uso en las políticas de IAM para restringir aún más el acceso en la Guía del usuario de IAM.

    • Límites de permisos: los límites de permisos establecen el número máximo de permisos que puede tener un rol y proporcionan barreras a los roles con acceso administrativo. Para obtener más información, consulte Usar los límites de permisos para delegar la administración de permisos dentro de una cuenta en la Guía del AWS Identity and Access Management usuario.

El rol de IAM asociado a la función Lambda tiene una política con acceso administrativo a un servicio AWS

Las políticas de administración de servicios permiten a las funciones de Lambda realizar todas las acciones dentro de un servicio específico AWS . Estas políticas suelen conceder más permisos de los necesarios para el funcionamiento de una función. Si una función de Lambda con una política de administración de servicios se ve comprometida, un atacante podría usar esos permisos para acceder o modificar datos o servicios confidenciales de su AWS entorno. Siguiendo los principios de seguridad estándar, le recomendamos que conceda los privilegios mínimos, es decir, que conceda únicamente los permisos necesarios para realizar una tarea.

  1. Revise e identifique las políticas administrativas

    En el hallazgo de exposición, identifique el nombre de la función en el ARN. Ve al panel de control de IAM y busca el nombre del rol. Revise la política de permisos adjunta al rol. Si la política es una política AWS administrada, busque AdministratorAccess oIAMFullAccess. De lo contrario, en el documento de política, busque las declaraciones que contengan las declaraciones "Effect": "Allow", "Action": "*" y"Resource": "*".

  2. Implementación del acceso a los privilegios mínimos

    Sustituya las políticas administrativas por aquellas que concedan únicamente los permisos específicos necesarios para que la función funcione. Para obtener más información, consulte Aplicar permisos de privilegio mínimo en la Guía del usuario de AWS Identity and Access Management . Para identificar los permisos innecesarios, puede utilizar el analizador de acceso de IAM para saber cómo modificar su política en función del historial de acceso. Para obtener más información, consulte las conclusiones sobre el acceso externo y no utilizado en la Guía del AWS Identity and Access Management usuario. Como alternativa, puede crear una nueva función de IAM para evitar que afecte a otras funciones de Lambda que utilizan la función existente. En este escenario, cree una nueva función de IAM y, a continuación, asocie la nueva función de IAM a la instancia. Para obtener instrucciones sobre cómo sustituir un rol de IAM por una función, consulte Actualizar el rol de ejecución de una función en la AWS Lambda Guía para desarrolladores.

  3. Consideraciones sobre la configuración segura

    Si se necesitan permisos administrativos de nivel de servicio para la instancia, considere la posibilidad de implementar estos controles de seguridad adicionales para mitigar el riesgo:

    • Autenticación multifactor (MFA): la MFA agrega una capa de seguridad adicional al requerir una forma de autenticación adicional. Esto ayuda a evitar el acceso no autorizado incluso si las credenciales están comprometidas. Para obtener más información, consulte Requerir la autenticación multifactor (MFA) en AWS Identity and Access Management la Guía del usuario.

    • Condiciones de IAM: la configuración de los elementos de condición le permite restringir cuándo y cómo se pueden usar los permisos administrativos en función de factores como la IP de origen o la antigüedad del MFA. Para obtener más información, consulte las condiciones de uso en las políticas de IAM para restringir aún más el acceso en la Guía del AWS Identity and Access Management usuario.

    • Límites de permisos: los límites de los permisos establecen el número máximo de permisos que puede tener un rol y proporcionan barreras a los roles con acceso administrativo. Para obtener más información, consulte Usar los límites de permisos para delegar la administración de permisos en la Guía del AWS Identity and Access Management usuario.

Características de accesibilidad de las funciones Lambda

Estas son las características de accesibilidad de las funciones Lambda y las medidas de corrección sugeridas.

La función Lambda se puede invocar públicamente

Las políticas de Lambda basadas en recursos determinan quién puede invocar sus funciones. Una función con una política de recursos que incluya «*» como elemento principal (o ningún elemento principal) permite que cualquier usuario autenticado AWS la invoque. Esto supone un riesgo importante, especialmente para las funciones que procesan datos confidenciales, modifican recursos o tienen permisos elevados. Los usuarios no autorizados podrían aprovechar esta configuración para realizar operaciones no deseadas, lo que podría exponer datos, manipular recursos o abusar de las capacidades de las funciones. Siguiendo las mejores prácticas de seguridad, recomendamos restringir el acceso a las funciones Lambda únicamente a los directores autorizados.

Modifique la política basada en los recursos de la función

En la pestaña Recursos de la exposición, abra el recurso con el hipervínculo. Esto abrirá la ventana de la función Lambda. Restrinja el acceso a su función Lambda especificando solo la AWS cuenta autorizada IDs o los principales de IAM específicos (usuarios, funciones o servicios) en la política basada en recursos. Solo puede modificar las políticas basadas en recursos mediante programación.

Características de vulnerabilidad de las funciones Lambda

Estos son los rasgos de vulnerabilidad de las funciones Lambda y las medidas de corrección sugeridas.

La función Lambda tiene vulnerabilidades de software que pueden explotarse en la red

Los paquetes de software utilizados en el código de función Lambda pueden contener vulnerabilidades y exposiciones comunes (CVEs) que tienen una alta probabilidad de ser explotadas. Las críticas CVEs representan riesgos de seguridad importantes para su entorno. AWS Los atacantes pueden aprovechar las vulnerabilidades no parcheadas y poner en riesgo la confidencialidad, integridad o disponibilidad de los datos, así como acceder a otros sistemas. Las vulnerabilidades críticas con una alta probabilidad de explotación representan amenazas inmediatas para la seguridad, ya que es posible que el código de vulnerabilidad ya esté disponible públicamente y los atacantes o las herramientas de escaneo automatizadas lo utilicen activamente. Siguiendo las mejores prácticas de seguridad, te recomendamos corregir estas vulnerabilidades para proteger tu función de los ataques.

Actualiza las funciones afectadas

Consulta la sección Referencias de la pestaña Vulnerabilidad para ver la característica. La documentación del proveedor puede incluir una guía de remediación específica. Actualice las bibliotecas vulnerables a sus últimas versiones seguras siguiendo los procedimientos recomendados por el proveedor. Por lo general, el flujo de trabajo de corrección depende de si implementó el paquete Lambda cargando un archivo zip o creando una función Lambda con una imagen de contenedor. Tras actualizar las bibliotecas, actualice el código de la función Lambda para utilizar la versión fija. Después, implemente la versión actualizada.

La función Lambda tiene vulnerabilidades de software

Las funciones Lambda suelen utilizar bibliotecas y dependencias de terceros que pueden contener vulnerabilidades de seguridad con menor gravedad o capacidad de explotación en comparación con las críticas. CVEs Si bien es posible que estas vulnerabilidades no críticas no se puedan explotar de forma tan inmediata, siguen representando debilidades de seguridad que podrían combinarse con otras vulnerabilidades y comprometer su funcionamiento. Con el tiempo, también podrían surgir nuevas técnicas de explotación que aumenten el riesgo de estas vulnerabilidades. Siguiendo los principios de seguridad estándar, recomendamos parchear estas vulnerabilidades para mantener un entorno seguro.

Consulte la sección de referencias de la pestaña Vulnerabilidad para ver la característica. La documentación del proveedor puede incluir una guía de remediación específica. Actualice las bibliotecas vulnerables a sus últimas versiones seguras siguiendo los procedimientos recomendados por el proveedor. Por lo general, el flujo de trabajo de corrección depende de si implementó el paquete Lambda cargando un archivo zip o creando una función Lambda con una imagen de contenedor. Tras actualizar las bibliotecas, actualice el código de la función Lambda para utilizar la versión fija. Después, implemente la versión actualizada.