

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á.

# Pilha de instâncias do EC2 \| Colete informações do Log4j
<a name="management-advanced-ec2-instance-stack-gather-log4j-information"></a>

Gera um relatório identificando ocorrências do Log4j2 nas instâncias EC2 especificadas. Este é o melhor relatório e algumas ocorrências podem passar despercebidas no relatório.

**Classificação completa:** Gerenciamento \| Componentes avançados da pilha \| Pilha de instâncias do EC2 \| Colete informações do log4j

## Detalhes do tipo de alteração
<a name="ct-19f40lfm5umy8-MAEg-table"></a>


****  

|  |  | 
| --- |--- |
| ID do tipo de alteração | ct-19f40lfm5umy8 | 
| Versão atual | 2,0 | 
| Duração esperada da execução | 360 minutos | 
| Aprovação da AWS | Obrigatório | 
| Aprovação do cliente | Não obrigatório | 
| Modo de execução | Automatizado | 

## Informações adicionais
<a name="management-advanced-ec2-instance-stack-gather-log4j-information-info"></a>

### Atualizar outro outro CTs
<a name="ex-ec2-gather-log4j-info-2-col"></a>

#### Reúna informações do Log4j em várias instâncias do EC2 com o console
<a name="ec2-gather-log4j-info-2-con"></a>

O seguinte mostra esse tipo de alteração no console AMS.

![](http://docs.aws.amazon.com/pt_br/managedservices/latest/ctref/images/guiEc2GatherLog4jInfo-2CT.png)


Como funciona:

1. Navegue até a página **Criar RFC**: No painel de navegação esquerdo do console AMS, clique **RFCs**para abrir a página da RFCs lista e, em seguida, clique em **Criar** RFC.

1. Escolha um tipo de alteração popular (CT) na visualização padrão **Procurar tipos de alteração** ou selecione uma CT na visualização **Escolher por categoria**.
   + **Navegar por tipo de alteração**: você pode clicar em um CT popular na área de **criação rápida** para abrir imediatamente a página **Executar RFC**. Observe que você não pode escolher uma versão mais antiga do CT com a criação rápida.

     Para classificar CTs, use a área **Todos os tipos de alteração** na exibição **Cartão** ou **Tabela**. Em qualquer exibição, selecione uma CT e clique em **Criar RFC** para abrir a página **Executar RFC**. Se aplicável, a opção **Criar com versão mais antiga** aparece ao lado do botão **Criar RFC**.
   + **Escolha por categoria**: selecione uma categoria, subcategoria, item e operação e a caixa de detalhes do CT será aberta com a opção **Criar com uma versão mais antiga**, se aplicável. Clique em **Criar RFC** para abrir a página **Executar RFC**.

1. Na página **Executar RFC**, abra a área do nome do CT para ver a caixa de detalhes do CT. É necessário um **Assunto** (preenchido se você escolher seu CT na visualização **Procurar tipos de alteração**). Abra a área **Configuração adicional** para adicionar informações sobre o RFC.

   Na área **Configuração de execução**, use as listas suspensas disponíveis ou insira valores para os parâmetros necessários. Para configurar parâmetros de execução opcionais, abra a área **Configuração adicional**.

1. Ao terminar, clique em **Executar**. Se não houver erros, a página **RFC criada com sucesso** será exibida com os detalhes da RFC enviada e a saída inicial de **execução**. 

1. Abra a área **Parâmetros de execução** para ver as configurações que você enviou. Atualize a página para atualizar o status de execução do RFC. Opcionalmente, cancele a RFC ou crie uma cópia dela com as opções na parte superior da página.

#### Reúna informações do Log4j em várias instâncias do EC2 com a CLI
<a name="ec2-gather-log4j-info-2-instance-cli"></a>

Como funciona:

1. Use o Inline Create (você emite um `create-rfc` comando com todos os parâmetros de RFC e execução incluídos) ou o Template Create (você cria dois arquivos JSON, um para os parâmetros RFC e outro para os parâmetros de execução) e emita o `create-rfc` comando com os dois arquivos como entrada. Ambos os métodos são descritos aqui.

1. Envie o `aws amscm submit-rfc --rfc-id {{ID}}` comando RFC: com o ID RFC retornado.

   Monitore o `aws amscm get-rfc --rfc-id {{ID}}` comando RFC:.

Para verificar a versão do tipo de alteração, use este comando:

```
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value={{CT_ID}}
```
**nota**  
Você pode usar qualquer `CreateRfc` parâmetro com qualquer RFC, independentemente de eles fazerem parte do esquema para o tipo de alteração. Por exemplo, para receber notificações quando o status da RFC mudar, adicione essa linha `--notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"` à parte dos parâmetros da RFC da solicitação (não aos parâmetros de execução). Para obter uma lista de todos os CreateRfc parâmetros, consulte a [Referência da API de gerenciamento de alterações do AMS](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html).

*CRIAÇÃO EM LINHA*:

Execute o comando create RFC com os parâmetros de execução fornecidos em linha (aspas de escape ao fornecer parâmetros de execução em linha) e, em seguida, envie a ID de RFC retornada. Por exemplo, você pode substituir o conteúdo por algo assim:

**Versão 2.0**:

Examine todas as instâncias:

```
aws amscm create-rfc --change-type-id "ct-19f40lfm5umy8" --change-type-version "2.0" --title "{{Log4j Investigation}}" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-GatherLog4jInformation\",\"Region\":\"{{us-east-1}}\",\"Parameters\":{\"S3Bucket\":[\"s3://{{BUCKET_NAME}}\"]},\"TargetParameterName\": \"InstanceId\",\"Targets\": [{\"Key\": \"{{AWS::EC2::Instance}}\",\"Values\": [\"*\"]}],\"MaxConcurrency\": \"{{10}}\",\"MaxErrors\": \"{{100%}}\"}"
```

Examine uma lista de instâncias:

```
aws amscm create-rfc --change-type-id "ct-19f40lfm5umy8" --change-type-version "2.0" --title "{{Log4j Investigation}}" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-GatherLog4jInformation\",\"Region\":\"{{us-east-1}}\",\"Parameters\":{\"S3Bucket\":[\"s3://{{BUCKET_NAME}}\"]},\"TargetParameterName\": \"InstanceId\",\"Targets\": [{\"Key\": \"{{ParameterValues}}\",\"Values\": [\"{{INSTANCE_ID_1}}\",\"{{INSTANCE_ID_2}}\",\"{{INSTANCE_ID_3}}\",\"{{INSTANCE_ID_4}}\",\"{{INSTANCE_ID_5}}\"]}],\"MaxConcurrency\": \"{{10}}\",\"MaxErrors\": \"{{100%}}\"}"
```

*CRIAÇÃO DE MODELO*:

1. Exiba os parâmetros de execução desse tipo de alteração em um arquivo JSON; este exemplo o chama de GatherLog 4 jInfoParams .json:

   ```
   aws amscm get-change-type-version --change-type-id "ct-19f40lfm5umy8" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > GatherLog4jInfoParams.json
   ```

1. Modifique e salve o jInfoParams arquivo GatherLog 4, mantendo somente os parâmetros que você deseja alterar. Por exemplo, você pode substituir o conteúdo por algo assim:

   **Versão 2.0**:

   Examine todas as instâncias:

   ```
   {
     "DocumentName": "AWSManagedServices-GatherLog4jInformation",
     "Region": "{{us-east-1}}",
     "Parameters": {
       "S3Bucket": [
         "s3://{{BUCKET_NAME}}"
       ]
     },
     "TargetParameterName": "InstanceId",
     "Targets": [
       {
         "Key": "{{AWS::EC2::Instance}}",
         "Values": [
           "*"
         ]
       }
     ],
     "MaxConcurrency": "{{10}}",
     "MaxErrors": "{{100%}}"
   }
   ```

   Examine uma lista de instâncias:

   ```
   {
     "DocumentName": "AWSManagedServices-GatherLog4jInformation",
     "Region": "{{us-east-1}}",
     "Parameters": {
       "S3Bucket": [
         "s3://{{{{BUCKET_NAME}}}}"
       ]
     },
     "TargetParameterName": "InstanceId",
     "Targets": [
       {
         "Key": "{{ParameterValues}}",
         "Values": [
           "{{INSTANCE_ID_1}}",
           "{{INSTANCE_ID_2}}",
           "{{INSTANCE_ID_3}}",
           "{{INSTANCE_ID_4}}",
           "{{INSTANCE_ID_5}}"
         ]
       }
     ],
     "MaxConcurrency": "{{10}}",
     "MaxErrors": "100%"
   }
   ```

1. Envie o modelo RFC para um arquivo em sua pasta atual; este exemplo o chama de GatherLog 4 jInfoRfc .json:

   ```
   aws amscm create-rfc --generate-cli-skeleton > GatherLog4jInfoRfc.json
   ```

1. Modifique e salve o jInfoRfc arquivo GatherLog 4 .json. Por exemplo, você pode substituir o conteúdo por algo assim:

   ```
   {
   "ChangeTypeVersion":    "{{2.0}}",
   "ChangeTypeId":         "ct-19f40lfm5umy8",
   "Title":                "{{Log4j Investigation}}"
   }
   ```

1. Crie o RFC, especificando o jInfoRfc arquivo GatherLog 4 e o arquivo GatherLog 4: jInfoParams 

   ```
   aws amscm create-rfc --cli-input-json file://GatherLog4jInfoRfc.json  --execution-parameters file://GatherLog4jInfoParams.json
   ```

#### Dicas
<a name="ex-other-other-update-tip"></a>

Esse tipo de alteração verifica a instância EC2 especificada em busca de pacotes contendo uma versão afetada da classe Java Apache Log4j. Essa funcionalidade produz um relatório de melhor esforço; algumas ocorrências podem não ser detectadas ou identificadas erroneamente.

 CloudShell A AWS é um shell baseado em navegador que facilita o gerenciamento, a exploração e a interação com segurança com seus recursos da AWS. CloudShell A AWS é pré-autenticada com suas credenciais do console quando você faz login. As ferramentas comuns de desenvolvimento e operações são pré-instaladas, portanto, nenhuma instalação ou configuração local é necessária. Com a AWS CloudShell, você pode executar scripts rapidamente com a AWS Command Line Interface (AWS CLI), experimentar o APIs serviço da AWS usando a SDKs AWS ou usar uma variedade de outras ferramentas para ser produtivo. Você pode usar a AWS CloudShell diretamente do seu navegador sem custo adicional.

**nota**  
Você pode usar o console da CloudShell AWS de qualquer outra região da AWS, ou da mais próxima, onde ele está disponível, para realizar a agregação. Por exemplo, para realizar a agregação de dados armazenados na região da Virgínia, abra um CloudShell na região da AWS “Leste dos EUA (Virgínia) us-east-1" no Console da AWS e siga as instruções fornecidas a seguir.

Os dados do relatório incluem informações sobre arquivos Java (arquivos JAR), encontrados no ambiente especificado que contém a JndiLookup classe vulnerável. O AMS recomenda atualizar as bibliotecas afetadas para a versão mais recente disponível, que pode ser baixada diretamente do Apache em [Download Apache Log4j 2](https://logging.apache.org/log4j/2.x/download.html). Além disso, verificamos arquivos Web Application Resource (WAR), Enterprise Archive (EAR), Jupiter Encrypted XML (JPI), Hemera Technologies (HPI) e ZIP.

Para agregar todos os arquivos CSV gerados e criar um único relatório com a AWS: CloudShell

1. Em qualquer página ou região da AWS no Console de Gerenciamento da AWS, abra a AWS CloudShell para executar o script mostrado a seguir. Certifique-se de estar conectado ao AWS Management Console com a AWSManaged ServicesReadOnlyRole função.

   ```
   # Specify the S3 bucket and AWS region that contains the individual CSV files:
   BUCKET_NAME="YOUR BUCKET HERE"
   BUCKET_REGION="THE BUCKET REGION HERE"
   
   # Aggregate the CSV files:
   mkdir -p log4j-report
   aws s3 cp s3://$BUCKET_NAME/ams/log4j-scan/ ./log4j-report --recursive --include "*.csv"
   echo "aws_account_id,region,scan_time,instance_id,scan_type,location" > log4j-report/report.csv
   for i in `find log4j-report -type f \( -iname "*.csv" ! -iname "report.csv" \)`; do awk 'FNR > 1' $i >> log4j-report/report.csv; done
   
   # Upload the report to the same S3 bucket:
   file_name="report_$(date -d "today" +"%Y%m%d%H%M").csv"
   aws s3 cp log4j-report/report.csv s3://$BUCKET_NAME/ams/log4j-reports/$file_name
   
   # Open the following URL and select \"Download\" to download the report:
   echo "Report uploaded to: https://s3.console.aws.amazon.com/s3/object/$BUCKET_NAME?region=$BUCKET_REGION&prefix=ams/log4j-reports/$file_name"
   ```

   O script gera a URL do S3 para baixar o relatório. 

1. Copie e abra o URL e escolha Baixar

**Zona de aterrissagem com conta única: usando o relatório**

Se você estiver trabalhando em uma landing zone de conta única, o CloudShell serviço da AWS não está disponível. No entanto, você ainda pode aproveitar a AWS CLI para realizar as etapas necessárias. Siga esta documentação: [Como concedo aos meus usuários do Active Directory acesso à API ou à AWS CLI com o AD FS](https://aws.amazon.com/premiumsupport/knowledge-center/adfs-grant-ad-access-api-cli/)? , para configurar o acesso à API CLI por meio dos Serviços de Federação do Active Directory (ADFS) usando funções do IAM. Para implementações de provedores de identidade (IDP) que não sejam do ADFS, visite [Como implementar uma solução geral para acesso federado API/CLI usando o SAML](https://aws.amazon.com/blogs/security/how-to-implement-a-general-solution-for-federated-apicli-access-using-saml-2-0/) 2.0. Usando as opções acima, obtenha credenciais de CLI para a função desejada, a função padrão recomendada é a. `Customer_ReadOnly_Role` Em seguida, execute o script na Etapa 1 para gerar o relatório CSV necessário.

**Como ler o relatório**

O relatório contém as seguintes colunas:
+ **scan\_time: a hora** em que a verificação da instância foi executada
+ **instance\_id: O ID da** instância EC2
+ **scan\_type**: o tipo de verificação que foi realizada. Por exemplo, se o escaneamento for examinado nas informações da memória, o tipo de digitalização será MEMORY. Se o sistema de arquivos foi verificado, o scan\_type será FILESYSTEM
+ **localização**: O caminho para a partida

## Parâmetros de entrada de execução
<a name="management-advanced-ec2-instance-stack-gather-log4j-information-input"></a>

Para obter informações detalhadas sobre os parâmetros de entrada de execução, consulte[Esquema para o tipo de alteração ct-19f40lfm5umy8](schemas.md#ct-19f40lfm5umy8-schema-section).

## Exemplo: parâmetros obrigatórios
<a name="management-advanced-ec2-instance-stack-gather-log4j-information-ex-min"></a>

```
Example not available.
```

## Exemplo: Todos os parâmetros
<a name="management-advanced-ec2-instance-stack-gather-log4j-information-ex-max"></a>

```
{
  "DocumentName": "AWSManagedServices-GatherLog4jInformation",
  "Region": "us-east-1",
  "Parameters": {
    "S3Bucket": [
      "s3://test"
    ]
  },
  "TargetParameterName": "InstanceId",
  "Targets": [
    {
      "Key": "ParameterValues",
      "Values": [
        "i-1234567890abcdef0",
        "i-1234567890abcdef1",
        "i-1234567890abcdef2",
        "i-1234567890abcdef3",
        "i-1234567890abcdef4"
      ]
    }
  ],
  "MaxConcurrency": "10",
  "MaxErrors": "100%"
}
```