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.
Remediación de exposiciones para funciones de Lambda
AWSSecurity Hub puede generar hallazgos de exposición para AWS Lambda funciones (Lambda).
En la consola de Security Hub, la función de Lambda involucrada en un resultado de exposición y su información de identificación aparecen en la sección Recursos de los detalles del resultado. De forma programática, puede recuperar los detalles de los recursos con el GetFindingsV2funcionamiento de la API CSPM de Security Hub.
Después de identificar el recurso involucrado en un resultado de exposición, puede eliminar el recurso si no lo necesita. Eliminar un recurso no esencial puede reducir su perfil de exposición y sus costes. AWS 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 condición.
Un único resultado de exposición puede incluir problemas identificados en varios temas de remediación. También es posible abordar un resultado de exposición y disminuir su nivel de gravedad con solo tratar uno de los temas de remediación. El enfoque de remediación adecuado depende de los requisitos y cargas de trabajo de la organización.
nota
La guía de remediación que se proporciona en este tema puede requerir consultas adicionales en otros AWS recursos.
Contenido
Condiciones de configuración incorrecta para funciones de Lambda
Aquí se presentan condiciones de configuración incorrecta para funciones de Lambda y pasos de remediación sugeridos.
La función de Lambda ejecuta un tiempo de ejecución que no es 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 administrado. Lambda aplica automáticamente parches y actualizaciones de seguridad a los tiempos de ejecución administrados y a sus imágenes base de contenedor correspondientes. Cuando una versión en tiempo de ejecución deja de ser compatible, ya no recibe actualizaciones de seguridad, correcciones de errores ni soporte técnico. Las funciones que se ejecutan en tiempos de ejecución obsoletos pueden presentar vulnerabilidades de seguridad y, eventualmente, dejar de funcionar debido a problemas como la expiración de certificados. Además, los tiempos de ejecución que no son compatibles pueden ser vulnerables a nuevas vulnerabilidades de seguridad sin parches disponibles. Según las prácticas recomendadas de seguridad, recomendamos utilizar tiempos de ejecución con parches aplicados y compatibles para las funciones de Lambda.
Actualización del tiempo de ejecución de la función
En la pestaña Recursos del resultado de exposición, abra el recurso mediante el hipervínculo. Esto abrirá la ventana de la función de Lambda. Para actualizar la función a un tiempo de ejecución compatible, configure la administración del tiempo de ejecución. Puede optar por que la función se actualice automáticamente a la versión más reciente del tiempo de ejecución, pero antes de seleccionar esta opción, evalúe si las actualizaciones automáticas podrían afectar la aplicaciones en ejecución. Para obtener más información, consulte Descripción de cómo Lambda administra las actualizaciones de versión del tiempo de ejecución.
La función de Lambda se implementa fuera de una Amazon VPC
Las funciones de Lambda, de forma predeterminada, se implementan con acceso a 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 se podrían utilizar para exfiltrar 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 que las funciones de Lambda se comuniquen únicamente con recursos dentro de la red privada definida. Según los principios estándar de seguridad, recomendamos implementar las funciones de Lambda dentro de una VPC para mejorar la seguridad mediante aislamiento de red.
Asociación de la función a la VPC
En el resultado de exposición, abra el recurso mediante el hipervínculo. Esto abrirá la ventana de la función de Lambda. Para proteger la función de Lambda mediante la limitación del acceso de red, asóciela a una VPC que tenga 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 asociar una función de Lambda a una Amazon VPC en la cuenta, consulte Asociación de funciones de Lambda a una Amazon VPC en la 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 de NAT si necesita conectividad de salida a Internet desde subredes privadas.
La función de Lambda puede asumir un rol 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 estos roles a veces son necesarios para que las funciones de Lambda realicen sus tareas, deben seguir el principio de privilegios mínimos. Siguiendo los principios de seguridad estándar, se AWS recomienda revisar si los permisos asociados a la función son adecuados en función de la funcionalidad prevista de la función.
-
Cómo determinar si el rol de IAM asociado es necesario
Determine si la función de Lambda requiere que se configure un rol 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 al rol de ejecución de la función y determine si el rol de IAM es necesario para la función. Para obtener información sobre los roles de ejecución de Lambda, consulte Definición de permisos de funciones de Lambda con un rol de ejecución en la Guía del desarrollador de AWS Lambda.
-
Implementación del acceso a los privilegios mínimos
Reemplace las políticas excesivamente permisivas por otras que otorguen únicamente los permisos específicos necesarios para que la función opere. Para obtener información sobre las prácticas recomendadas de seguridad para roles de IAM, consulte Aplicación de permisos de privilegios mínimos en la Guía del usuario de AWS Identity and Access Management. Para identificar permisos innecesarios, puede usar el Analizador de acceso de IAM y así entender cómo modificar la política en función del historial de acceso. Para obtener más información, consulte Resultados de acceso externo y no utilizado en la Guía del usuario de AWS Identity and Access Management. Como alternativa, puede crear un nuevo rol de IAM para evitar afectar a otras funciones de Lambda que utilicen el rol existente. En este caso, cree un nuevo rol de IAM y luego asócielo a la instancia. Para obtener instrucciones sobre cómo reemplazar un rol de IAM para una función, consulte Actualización del rol de ejecución de una función en la Guía del desarrollador de AWS Lambda.
El rol de IAM asociado a la función de 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 normalmente incluyen permisos que no son necesarios para la funcionalidad. Proporcionar a una identidad de IAM una política de acceso administrativo en una función de Lambda, en lugar del conjunto mínimo de permisos que requiere el rol de ejecución, puede aumentar el alcance de un ataque si la función se ve comprometida. De acuerdo con los principios estándar de seguridad, AWS recomienda conceder privilegios mínimos, lo que significa otorgar únicamente los permisos necesarios para realizar una tarea.
-
Revisión e identificación de políticas administrativas
En el resultado de exposición, identifique el nombre del rol. Vaya al panel de IAM y busque el rol con el nombre identificado previamente. Revise la política de permisos asociada al rol de IAM. Si la política es una política AWS gestionada, busque
AdministratorAccessoIAMFullAccess. De lo contrario, en el documento de la política, busque declaraciones que incluyan las declaraciones"Effect": "Allow", "Action": "*"y"Resource": "*"juntas. -
Implementación del acceso a los privilegios mínimos
Reemplace las políticas administrativas por aquellas que otorguen únicamente los permisos específicos necesarios para que la función opere. Para obtener más información sobre las prácticas recomendadas de seguridad para roles de IAM, consulte Aplicación de permisos de privilegios mínimos en la Guía del usuario de AWS Identity and Access Management. Para identificar permisos innecesarios, puede usar el Analizador de acceso de IAM y así entender cómo modificar la política en función del historial de acceso. Para obtener más información, consulte Resultados de acceso externo y no utilizado en la Guía del usuario de AWS Identity and Access Management. Como alternativa, puede crear un nuevo rol de IAM para evitar afectar a otras funciones de Lambda que utilicen el rol existente. En este caso, cree un nuevo rol de IAM. Luego asocie el nuevo rol a la instancia. Para obtener información sobre cómo reemplazar un rol de IAM para una función, consulte Actualización del rol de ejecución de una función en la Guía del desarrollador de AWS Lambda.
-
Consideraciones para configuraciones seguras
Si la instancia requiere permisos de acceso administrativos, considere implementar estos controles de seguridad adicionales para mitigar el riesgo:
-
Autenticación multifactor (MFA): MFA agrega una capa adicional de seguridad al requerir una forma adicional de autenticación. Esto ayuda a evitar accesos no autorizados incluso si las credenciales se ven comprometidas. Para obtener más información, consulte Requisito de autenticación multifactor (MFA) en la Guía del usuario de AWS Identity and Access Management.
-
Condiciones de IAM: la configuración de elementos de condición permite restringir cuándo y cómo se pueden usar permisos administrativos en función de factores como la dirección IP de origen o la antigüedad del MFA. Para obtener más información, consulte Uso de condiciones 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 los permisos máximos que un rol puede tener, con barreras de protección para roles con acceso administrativo. Para obtener más información, consulte Uso de límites de permisos para delegar la administración de permisos dentro de una cuenta en la Guía del usuario de AWS Identity and Access Management.
-
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íficoAWS. Estas políticas normalmente otorgan más permisos de los necesarios para la operación de la 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. Según principios estándar de seguridad, recomendamos conceder el menor privilegio, lo que significa otorgar únicamente los permisos necesarios para realizar una tarea.
-
Revisión e identificación de políticas administrativas
En el resultado de exposición, identifique el nombre del rol en el ARN. Vaya al panel de IAM y busque el nombre del rol. Revise la política de permisos asociada al rol. Si la política es una política AWS gestionada, busque
AdministratorAccessoIAMFullAccess. De lo contrario, en el documento de la política, busque declaraciones que incluyan las instrucciones"Effect": "Allow", "Action": "*"y"Resource": "*". -
Implementación del acceso a los privilegios mínimos
Reemplace las políticas administrativas por aquellas que otorguen únicamente los permisos específicos necesarios para que la función opere. 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 permisos innecesarios, puede usar el Analizador de acceso de IAM y así entender cómo modificar la política en función del historial de acceso. Para obtener más información, consulte Resultados de acceso externo y no utilizado en la Guía del usuario de AWS Identity and Access Management. Como alternativa, puede crear un nuevo rol de IAM para evitar afectar a otras funciones de Lambda que utilicen el rol existente. En este caso, cree un nuevo rol de IAM y luego asócielo a la instancia. Para obtener instrucciones sobre cómo reemplazar un rol de IAM para una función, consulte Actualización del rol de ejecución de una función en la Guía del desarrollador de AWS Lambda.
-
Consideraciones para configuraciones seguras
Si la instancia requiere permisos administrativos a nivel de servicio, considere implementar estos controles de seguridad adicionales para mitigar el riesgo:.
-
Autenticación multifactor (MFA): MFA agrega una capa adicional de seguridad al requerir una forma adicional de autenticación. Esto ayuda a evitar accesos no autorizados incluso si las credenciales se ven comprometidas. Para obtener más información, consulte Requisito de autenticación multifactor (MFA) en la Guía del usuario de AWS Identity and Access Management.
-
Condiciones de IAM: la configuración de elementos de condición permite restringir cuándo y cómo se pueden usar permisos administrativos en función de factores como la dirección IP de origen o la antigüedad del MFA. Para obtener más información, consulte Uso de condiciones en políticas de IAM para restringir el acceso en la Guía del usuario de AWS Identity and Access Management.
-
Límites de permisos: los límites de permisos establecen el máximo de permisos que un rol puede tener, con lo que se establece una barrera de protección para roles con acceso administrativo. Para obtener más información, consulte Uso de límites de permisos para delegar la administración de permisos en la Guía del usuario de AWS Identity and Access Management.
-
Condiciones de accesibilidad para funciones de Lambda
A continuación se describen las condiciones de accesibilidad para funciones de Lambda y los pasos de remediación recomendados.
La función de Lambda se puede invocar de forma pública
Las políticas basadas en recursos de Lambda determinan quién puede invocar las funciones. Una función con una política de recursos que incluya «*» como principal (o ningún principal) permite que cualquier AWS usuario autenticado la invoque. Esta configuración supone un riesgo considerable, especialmente para funciones que procesan información confidencial, modifican recursos o tienen permisos elevados. Los usuarios no autorizados podrían aprovechar esta configuración para realizar operaciones no deseadas, exponer datos, manipular recursos o abusar de las capacidades de la función. Según las prácticas recomendadas de seguridad, recomendamos restringir el acceso a la función de Lambda únicamente a las entidades principales autorizadas.
Modificación de la política basada en recursos de la función
En la pestaña Recursos del resultado de exposición, abra el recurso mediante el hipervínculo. Esto abrirá la ventana de la función de 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 políticas basadas en recursos mediante programación.
Condiciones de vulnerabilidad para funciones de Lambda
A continuación se presentan las condiciones de vulnerabilidad para funciones de Lambda y los pasos de remediación sugeridos.
La función de Lambda tiene vulnerabilidades de software explotables a través de 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 alta probabilidad de explotación representan amenazas de seguridad inmediatas, ya que el código de explotación puede estar disponible públicamente y ser utilizado activamente por atacantes o por herramientas automatizadas de detección. Según las prácticas recomendadas de seguridad, recomendamos aplicar parches a estas vulnerabilidades para proteger la función frente a ataques.
Actualización de las funciones afectadas
Revise la sección Referencias en la pestaña Vulnerabilidad correspondiente a esa condición. La documentación del proveedor puede incluir instrucciones específicas de remediación. Actualice las bibliotecas vulnerables a sus versiones seguras más recientes según los procedimientos recomendados por el proveedor. Normalmente, el flujo de trabajo de remediación depende de si implementó el paquete de Lambda mediante la carga de un archivo ZIP o la creación de una función de Lambda con una imagen de contenedor. Después de actualizar las bibliotecas, actualice el código de la función de Lambda para usar la versión corregida. Luego 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 inmediato, aún constituyen debilidades de seguridad que se podrían combinar con otras vulnerabilidades y poner en riesgo la función. Con el tiempo, pueden aparecer nuevas técnicas de explotación que aumenten el riesgo asociado a estas vulnerabilidades. Según las prácticas recomendadas de seguridad, recomendamos aplicar parches a estas vulnerabilidades para mantener un entorno seguro.
Revise la sección Referencias en la pestaña Vulnerabilidad correspondiente a esa condición. La documentación del proveedor puede incluir instrucciones específicas de remediación. Actualice las bibliotecas vulnerables a sus versiones seguras más recientes según los procedimientos recomendados por el proveedor. Normalmente, el flujo de trabajo de remediación depende de si implementó el paquete de Lambda mediante la carga de un archivo ZIP o la creación de una función de Lambda con una imagen de contenedor. Después de actualizar las bibliotecas, actualice el código de la función de Lambda para usar la versión corregida. Luego implemente la versión actualizada.
La función Lambda contiene paquetes de software maliciosos
Los paquetes maliciosos son componentes de software que contienen código dañino diseñado para comprometer la confidencialidad, integridad y disponibilidad de sus sistemas y datos. Los paquetes maliciosos representan una amenaza activa y crítica para su función Lambda, ya que los atacantes pueden ejecutar código malicioso automáticamente sin aprovechar una vulnerabilidad. Siguiendo las prácticas recomendadas de seguridad, AWS recomienda eliminar los paquetes maliciosos para proteger la función Lambda de posibles ataques.
Elimine los paquetes maliciosos
Revise los detalles de los paquetes maliciosos en la sección Referencias de la pestaña Vulnerabilidad de la característica para comprender la amenaza. Elimine los paquetes maliciosos identificados del código de función y de las dependencias. En el caso de las funciones que utilizan capas, compruebe si los paquetes maliciosos están instalados en alguna capa y elimínelos. Actualice el paquete de despliegue o la imagen del contenedor para excluir los paquetes maliciosos y, a continuación, implemente la versión actualizada. Para obtener instrucciones, consulte Implementación de funciones Lambda como archivos de archivos.zip para archivos de archivos.zip o Creación de una función Lambda mediante una imagen de contenedor para imágenes de contenedor.