

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Correção de exposições para funções do Lambda
<a name="exposure-lambda-function"></a>

AWS O Security Hub pode gerar descobertas de exposição para AWS Lambda funções (Lambda).

No console do Security Hub, a função do Lambda envolvida em uma descoberta de exposição e suas informações de identificação estão listadas na seção **Recursos** dos detalhes da descoberta. Programaticamente, você pode recuperar detalhes do recurso com a [https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindingsV2.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_GetFindingsV2.html)operação da API CSPM do Security Hub.

Depois de identificar o recurso envolvido em uma descoberta de exposição, é possível excluir o recurso se não precisar dele. A exclusão de um recurso não essencial pode reduzir seu perfil de exposição e AWS seus custos. Se o recurso for essencial, siga estas etapas de correção recomendadas para ajudar a mitigar o risco. Os tópicos de correção são divididos com base no tipo de característica. 

Uma única descoberta de exposição contém problemas identificados em vários tópicos de correção. Por outro lado, é possível abordar uma descoberta de exposição e reduzir seu nível de gravidade abordando apenas um tópico de correção. Sua abordagem para a correção de riscos depende de seus requisitos organizacionais e workloads.

**nota**  
 A orientação de remediação fornecida neste tópico pode exigir consultas adicionais em outros AWS recursos. 

**Contents**
+ [Características de configuração incorreta para funções do Lambda](#lambda-function-misconfiguration)
  + [A função do Lambda é implantada fora de uma Amazon VPC](#deployed-outside-vpc)
  + [O perfil do IAM associado à função do Lambda tem uma política de acesso administrativa.](#administrative-access-policy)
  + [A função do IAM associada à função Lambda tem uma política com acesso administrativo a um serviço. AWS](#service-admin-policy)
  + [A função Lambda pode ser acessada por meio do API Gateway sem autorização](#api-gateway-no-authorization)
+ [Características de acessibilidade para funções do Lambda](#lambda-function-reachability)
  + [A função do Lambda pode ser invocada publicamente](#publicly-invocable)
+ [Características de vulnerabilidade para funções do Lambda](#lambda-function-vulnerability)
  + [A função do Lambda tem vulnerabilidades de software que podem ser exploradas pela rede](#high-priority-vulnerability)
  + [A função Lambda tem vulnerabilidades de software](#low-priority-vulnerability)
  + [A função Lambda tem pacotes de software maliciosos](#malicious-package)
  + [A função Lambda tem vulnerabilidades de código](#code-vulnerability)

## Características de configuração incorreta para funções do Lambda
<a name="lambda-function-misconfiguration"></a>

Aqui estão as características de configuração incorreta para funções do Lambda e as etapas de correção sugeridas.

### A função do Lambda é implantada fora de uma Amazon VPC
<a name="deployed-outside-vpc"></a>

 Por padrão, as funções do Lambda são implantadas com acesso à Internet pública. Essa configuração padrão dá às funções do Lambda a capacidade de alcançar pontos finais AWS de serviço e externos APIs, mas também as expõe a possíveis riscos de segurança. Funções com acesso à Internet podem ser usadas para exfiltrar dados, comunicar-se com servidores não autorizados ou se tornar pontos de entrada para agentes externos, se comprometidas. A Amazon VPC fornece isolamento de rede ao restringir suas funções do Lambda para se comunicarem somente com recursos dentro de sua rede privada definida. Seguindo os princípios de segurança padrão, sugerimos a implantação de funções do Lambda em uma VPC para melhorar a segurança por meio do isolamento da rede. 

**Anexação da função à VPC**  
 Na descoberta de exposição, abra o recurso com o hiperlink. Isso abrirá a janela da função do Lambda. Para proteger sua função do Lambda restringindo o acesso à rede, conecte-a a uma VPC que tenha os controles de rede apropriados. Antes de anexar sua função a uma VPC, planeje AWS qualquer acesso de serviço necessário, pois funções em sub-redes privadas sem gateways NAT ou endpoints de VPC não conseguirão acessar o serviço. AWS APIs Para obter informações sobre como anexar uma função do Lambda a uma Amazon VPC em sua conta, consulte [Anexação de funções do Lambda a uma Amazon VPC na sua Conta da AWS](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#configuration-vpc-attaching). Considere usar VPC endpoints para conectividade de serviços sem acesso à Internet se sua função precisar acessar AWS serviços de dentro de uma sub-rede privada. Configure um gateway de NAT se você precisar de conectividade de saída com a Internet a partir de sub-redes privadas. 

### O perfil do IAM associado à função do Lambda tem uma política de acesso administrativa.
<a name="administrative-access-policy"></a>

 As políticas de acesso administrativo fornecem às funções do Lambda amplas permissões para AWS serviços e recursos. Essas políticas geralmente incluem permissões que não são necessárias para a funcionalidade. Fornecer uma identidade do IAM com uma política de acesso administrativa em uma função do Lambda, em vez do conjunto mínimo de permissões que o perfil de execução precisa, pode aumentar o escopo de um ataque se a função for comprometida. Seguindo os princípios de segurança padrão, a AWS sugere que você conceda privilégios mínimos, o que significa conceder somente as permissões necessárias para executar uma tarefa. 

1.  **Analisar e identificar políticas administrativas** 

    Na descoberta de exposição, identifique o nome do perfil. Acesse o painel do IAM e localize o perfil com o nome do perfil identificado anteriormente. Analise a política da permissão anexada ao perfil do IAM. Se a política for AWS gerenciada, procure `AdministratorAccess` ou`IAMFullAccess`. Caso contrário, no documento de política, procure declarações que contenham as declarações `"Effect": "Allow", "Action": "*"` e `"Resource": "*"` juntas. 

1.  **Implemente o acesso de privilégio mínimo** 

    Substitua as políticas administrativas por aquelas que concedam somente as permissões específicas necessárias para a operação da função. Para obter mais informações sobre as práticas recomendadas de segurança para perfis do IAM, consulte [Aplicação de permissões de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) no *Guia do usuário do AWS Identity and Access Management *. Para identificar permissões desnecessárias, é possível usar o IAM Access Analyzer para entender como modificar sua política com base no histórico de acesso. Para obter mais informações, consulte [Descobertas para acesso externo e não utilizado](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-findings.html) no *Guia do usuário do AWS Identity and Access Management *. Também é possível criar um novo perfil do IAM para evitar o impacto de outras funções do Lambda que estejam usando o perfil existente. Neste cenário, crie um novo perfil do IAM. Em seguida, associe o novo perfil à instância. Para obter informações sobre como substituir um perfil do IAM por uma função, consulte [Atualizção do perfil de execução de uma função](https://docs.aws.amazon.com/lambda/latest/dg/permissions-executionrole-update.html#update-execution-role) no *Guia do desenvolvedor do AWS Lambda *. 

1.  **Considerações sobre configuração segura** 

    Se forem necessárias permissões de acesso administrativas para a instância, considere implementar estes controles de segurança adicionais para reduzir os riscos: 
   +  **Autenticação multifator (MFA)**: a MFA adiciona uma camada de segurança adicional ao exigir uma forma adicional de autenticação. Isso ajuda a impedir acesso não autorizado mesmo que as credenciais estejam comprometidas. Para obter mais informações, consulte [Exigência de autenticação multifator (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#enable-mfa-for-privileged-users) no *Guia do usuário do AWS Identity and Access Management *. 
   +  **Condições do IAM**: a configuração de elementos condicionais permite restringir quando e como as permissões administrativas podem ser usadas com base em fatores como IP de origem ou idade da MFA. Para obter mais informações, consulte [Uso de condições nas políticas do IAM para restrição de acesso adicional](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#use-policy-conditions) no *Guia do usuário do IAM*. 
   +  **Limites de permissão**: os limites de permissão estabelecem o máximo de permissões que um perfil pode ter, fornecendo proteções para perfis com acesso administrativo. Para obter mais informações, consulte [Uso de limites de permissões para delegar o gerenciamento de permissões em uma conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-permissions-boundaries) no *Guia do usuário do AWS Identity and Access Management *. 

### A função do IAM associada à função Lambda tem uma política com acesso administrativo a um serviço. AWS
<a name="service-admin-policy"></a>

 As políticas de administração de serviços permitem que as funções do Lambda executem todas as ações em um serviço específico AWS . Essas políticas normalmente concedem mais permissões do que o necessário para a operação de uma função. Se uma função Lambda com uma política de administração de serviços for comprometida, um invasor poderá usar essas permissões para potencialmente acessar ou modificar dados ou serviços confidenciais em seu ambiente. AWS Seguindo os princípios de segurança padrão, recomendamos que você conceda privilégios mínimos, o que significa conceder somente as permissões necessárias para executar uma tarefa. 

1.  **Analisar e identificar políticas administrativas** 

    Na descoberta de exposição, identifique o nome do perfil no ARN. Acesse o painel do IAM e encontre o nome do perfil. Analise a política da permissão anexada ao perfil. Se a política for AWS gerenciada, procure `AdministratorAccess` ou`IAMFullAccess`. Caso contrário, no documento de política, procure declarações que contenham as declarações `"Effect": "Allow", "Action": "*"` e `"Resource": "*"`. 

1.  **Implemente o acesso de privilégio mínimo** 

    Substitua as políticas administrativas por aquelas que concedam somente as permissões específicas necessárias para a operação da função. Para obter mais informações, consulte [Aplique permissões de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege), no *Guia do usuário do AWS Identity and Access Management *. Para identificar permissões desnecessárias, é possível usar o IAM Access Analyzer para entender como modificar sua política com base no histórico de acesso. Para obter mais informações, consulte [Descobertas para acesso externo e não utilizado](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-findings.html) no *Guia do usuário do AWS Identity and Access Management *. Também é possível criar um novo perfil do IAM para evitar o impacto de outras funções do Lambda que estejam usando o perfil existente. Nesse cenário, crie um novo perfil do IAM e associe-o à instância. Para obter instruções sobre como substituir um perfil do IAM por uma função, consulte [Atualizção do perfil de execução de uma função](https://docs.aws.amazon.com/lambda/latest/dg/permissions-executionrole-update.html#update-execution-role) no *Guia do desenvolvedor do AWS Lambda *. 

1.  **Considerações sobre configuração segura** 

    Se forem necessárias permissões administrativas em nível de serviço para a instância, considere implementar estes controles de segurança adicionais para reduzir os riscos: 
   +  **Autenticação multifator (MFA)**: a MFA adiciona uma camada de segurança adicional ao exigir uma forma adicional de autenticação. Isso ajuda a impedir acesso não autorizado mesmo que as credenciais estejam comprometidas. Para obter mais informações, consulte [Exigência de autenticação multifator (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#enable-mfa-for-privileged-users) no *Guia do usuário do AWS Identity and Access Management *. 
   +  **Condições do IAM**: a configuração de elementos condicionais permite restringir quando e como as permissões administrativas podem ser usadas com base em fatores como IP de origem ou idade da MFA. Para obter mais informações, consulte [Uso de condições nas políticas do IAM para restrição de acesso adicional](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#use-policy-conditions) no *Guia do usuário do AWS Identity and Access Management *. 
   +  **Limites de permissões**: os limites de permissões estabelecem o máximo de permissões que um perfil pode ter, fornecendo proteções para perfis com acesso administrativo. Para obter mais informações, consulte [Use de limite de permissões para o gerenciamento da delegação de permissões](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-permissions-boundaries) no *Guia do usuário do AWS Identity and Access Management *. 

### A função Lambda pode ser acessada por meio do API Gateway sem autorização
<a name="api-gateway-no-authorization"></a>

 Os métodos do API Gateway sem autorização permitem que qualquer chamador com acesso ao API Gateway invoque a função Lambda integrada sem verificação de identidade. Essa configuração cria riscos de segurança, pois os chamadores podem invocar a função Lambda sem a devida autorização, o que pode levar ao abuso dos recursos da função, ao consumo de recursos, ao acesso a dados confidenciais ou a operações não autorizadas. Embora o API Gateway possa ter controles de acesso no nível da rede, a falta de autorização no nível do método pode permitir a invocação gratuita da função por qualquer chamador com acesso de rede ao API Gateway. Seguindo as melhores práticas de segurança, AWS recomenda a implementação de mecanismos de autorização apropriados para os métodos do API Gateway que se integram às funções do Lambda. 

**Configurar a autenticação do API Gateway**  
 Na guia **Recursos** da exposição, clique no hiperlink **Abrir recurso** para acessar o método API Gateway. Revise a configuração de autorização atual e implemente os mecanismos de autenticação apropriados. O API Gateway oferece suporte a várias opções de autenticação, incluindo AWS IAM, grupos de usuários do Amazon Cognito, autorizadores Lambda e chaves de API. Escolha o método de autenticação mais adequado aos seus requisitos de segurança e ao seu caso de uso. Para obter instruções detalhadas sobre como configurar a autenticação, consulte [Controle e gerenciamento do acesso a uma API REST no API Gateway no](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-to-api.html) *Guia do desenvolvedor do API Gateway*. 

## Características de acessibilidade para funções do Lambda
<a name="lambda-function-reachability"></a>

Aqui estão as características de acessibilidade para funções do Lambda e as etapas de correção sugeridas.

### A função do Lambda pode ser invocada publicamente
<a name="publicly-invocable"></a>

 As políticas baseadas em recursos do Lambda determinam quem pode invocar suas funções. Uma função com uma política de recursos que inclui “\*” como principal (ou nenhum principal) permite que qualquer AWS usuário autenticado a invoque. Isso cria um risco significativo, especialmente para funções que processem dados sensíveis, modifiquem recursos ou tenham permissões elevadas. Usuários não autorizados podem explorar essa configuração para realizar operações indesejadas, potencialmente expondo dados, manipulando recursos ou abusando dos recursos da função. Seguindo as práticas recomendadas de segurança, sugerimos restringir o acesso à função do Lambda somente às entidades principais autorizadas. 

**Modificação da política baseada em recursos da função**  
 Na guia **Recursos** da exposição, abra o recurso com o hiperlink. Isso abrirá a janela da função do Lambda. Restrinja o acesso à sua função Lambda especificando somente uma AWS conta autorizada IDs ou diretores específicos do IAM (usuários, funções ou serviços) na política baseada em recursos. Só é possível modificar políticas baseadas em recursos de forma programática. 

## Características de vulnerabilidade para funções do Lambda
<a name="lambda-function-vulnerability"></a>

Aqui estão as características de vulnerabilidade para as funções do Lambda e as etapas de correção sugeridas.

### A função do Lambda tem vulnerabilidades de software que podem ser exploradas pela rede
<a name="high-priority-vulnerability"></a>

 Os pacotes de software usados no código da função Lambda podem conter vulnerabilidades e exposições comuns (CVEs) que têm uma grande chance de serem exploradas. Os críticos CVEs representam riscos de segurança significativos para seu AWS ambiente. Os invasores podem explorar essas vulnerabilidades sem correção e comprometer a confidencialidade, a integridade ou a disponibilidade dos dados, ou para acessar outros sistemas. Vulnerabilidades críticas com alta probabilidade de exploração representam ameaças imediatas à segurança, pois o código de exploração pode já estar disponível publicamente e ser usado ativamente por invasores ou por ferramentas de verificação automatizadas. Seguindo as práticas recomendadas de segurança, sugerimos corrigir essas vulnerabilidades com patches para proteger sua função contra ataques. 

**Atualização das funções afetadas**  
 Analise a seção **Referências** na guia **Vulnerabilidade** da característica. A documentação do fornecedor pode incluir orientações específicas de correção. Atualize as bibliotecas vulneráveis para suas versões seguras mais recentes seguindo os procedimentos recomendados pelos fornecedores. Normalmente, o fluxo de trabalho de correção depende de você ter implantado o pacote Lambda fazendo o upload a partir de um arquivo zip ou criando uma função do Lambda com uma imagem de contêiner. Depois de atualizar as bibliotecas, atualize o código da função do Lambda para usar a versão fixa. Depois disso, implante a versão atualizada. 

### A função Lambda tem vulnerabilidades de software
<a name="low-priority-vulnerability"></a>

 As funções Lambda geralmente usam bibliotecas e dependências de terceiros que podem conter vulnerabilidades de segurança com menor gravidade ou capacidade de exploração em comparação com as críticas. CVEs Embora essas vulnerabilidades não críticas possam não ser imediatamente exploráveis, elas ainda representam pontos fracos de segurança que podem ser encadeados a outras vulnerabilidades para comprometer sua função. Ao longo do tempo, também podem surgir novas técnicas de exploração que aumentem o risco dessas vulnerabilidades. Seguindo os princípios de segurança padrão, sugerimos corrigir essas vulnerabilidades para manter um ambiente seguro. 

****  
 Analise a seção **Referências** na guia **Vulnerabilidade** da característica. A documentação do fornecedor pode incluir orientações específicas de correção. Atualize as bibliotecas vulneráveis para suas versões seguras mais recentes seguindo os procedimentos recomendados pelos fornecedores. Normalmente, o fluxo de trabalho de correção depende de você ter implantado o pacote Lambda fazendo o upload a partir de um arquivo zip ou criando uma função do Lambda com uma imagem de contêiner. Depois de atualizar as bibliotecas, atualize o código da função do Lambda para usar a versão fixa. Depois disso, implante a versão atualizada. 

### A função Lambda tem pacotes de software maliciosos
<a name="malicious-package"></a>

 Pacotes maliciosos são componentes de software que contêm códigos nocivos projetados para comprometer a confidencialidade, a integridade e a disponibilidade de seus sistemas e dados. Pacotes maliciosos representam uma ameaça ativa e crítica à sua função Lambda, pois os invasores podem executar códigos maliciosos automaticamente sem explorar uma vulnerabilidade. Seguindo as melhores práticas de segurança, AWS recomenda remover pacotes maliciosos para proteger sua função Lambda de possíveis ataques. 

**Remover pacotes maliciosos**  
 Examine os detalhes do pacote malicioso na seção **Referências** da guia **Vulnerabilidade** da característica para entender a ameaça. Remova os pacotes maliciosos identificados do seu código de função e dependências. Para funções que usam camadas, verifique se os pacotes maliciosos estão instalados em alguma camada e remova-os. Atualize seu pacote de implantação ou imagem de contêiner para excluir os pacotes maliciosos e, em seguida, implante a versão atualizada. Para obter instruções, consulte [Implantação de funções do Lambda como arquivamentos de arquivos.zip](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-zip.html) para arquivos.zip ou [Criar uma função Lambda usando uma imagem](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html) de contêiner para imagens de contêiner. 

### A função Lambda tem vulnerabilidades de código
<a name="code-vulnerability"></a>

 O código do aplicativo da função Lambda contém vulnerabilidades de segurança que podem ser exploradas por agentes de ameaças. As vulnerabilidades do código incluem vazamentos de dados, falhas de injeção, criptografia ausente e criptografia fraca, identificadas por meio de análise automatizada de código. Essas vulnerabilidades representam riscos de segurança para seu AWS ambiente, pois os invasores podem explorá-las para comprometer a confidencialidade, a integridade ou a disponibilidade dos dados ou para acessar outros sistemas. As vulnerabilidades do código representam pontos fracos de segurança que podem ser encadeados a outros vetores de ataque para comprometer sua função. Seguindo as melhores práticas de segurança, AWS recomenda abordar essas vulnerabilidades de código para proteger sua função contra ataques. 

**Atualização das funções afetadas**  
 Analise a seção **Referências** na guia **Vulnerabilidade** da característica. As descobertas do Amazon Inspector podem incluir orientações específicas de remediação e trechos de código mostrando as localizações vulneráveis do código. Resolva os problemas de segurança identificados em seu código de função usando os blocos de plug-and-play código fornecidos ou implementando práticas de codificação segura. Sempre analise as sugestões de correção de código antes de adotá-las, pois talvez seja necessário editá-las para garantir que seu código funcione conforme o esperado. Depois de corrigir as vulnerabilidades, atualize o código da função Lambda para usar a versão corrigida. Para obter instruções, consulte [Atualização do código da função](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-zip.html#configuration-function-update) no *Guia do AWS Lambda desenvolvedor*. Depois disso, implante a versão atualizada. Para obter instruções, consulte [Implantação de funções do Lambda como arquivamentos de arquivos.zip](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-zip.html) para arquivos.zip ou [Criar uma função Lambda usando uma imagem](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html) de contêiner para imagens de contêiner. *Para obter mais informações sobre a digitalização de código do Amazon Inspector, consulte Escaneamento de código do Amazon [Inspector Lambda no](https://docs.aws.amazon.com/inspector/latest/user/scanning_resources_lambda_code.html) Guia do Usuário do Amazon Inspector.* 