O blog da AWS

Centralização de logs para Microsoft Workloads

Marcio Morales, Senior AWS Solutions Architect, Microsoft Tech

Nos dias atuais é indispensável para um administrador de sistemas uma ferramenta de centralização de logs, entender os padrões de uso do seu ambiente, se precavendo de futuros problemas ajuda a equipe de TI a ser muito mais produtiva. Porém manter ferramentais de centralização de logs On-premises requer uma gestão diária, como por exemplo backup, alta disponibilidade, hardening, atualização, criptografia em repouso e em trânsito, e gerenciamento de armazenamento.

Com este post será possível criar uma solução de centralização de logs em tempo real para instâncias Amazon EC2 que esteja executando Microsoft Windows Server se utilizando de serviços gerenciados pela AWS, sem custos relacionados ao licenciamento de software para este fim.

Passo a passo
Os passos para este procedimento incluem:

1.  Lançar um domínio do Amazon Elasticsearch Service.
2. Instalar e configurar o agente do Winlogbeat oferecido pela Elastic.co em uma instância Windows Amazon EC2 .
3. Customizar a visualização de logs no Kibana.

1. Lançar um domínio do Amazon Elasticsearch Service.

1. Abra a console do Elasticsearch Service Dashboard
2. Clique em “Create a new domain”.
3. Entre com o Domain Name e selecione a versão do Elasticsearch 6.0 or earlier.
4. Clique em Next.
5. Em Configure Cluster

Node Configuration
– Instance Count: 1
– Instance Type: m4.large.elasticsearch

Storage
– Storage Type: EBS
– EBS Volume Type: General Purpose (SSD)
– EBS Volume Size: 100 GB

Snapshot Configuration
– Automated snapshot start hour: 00:00 UTC (Default)

6. Clique em Next.
7. Em Network Configuration.
8. Selecione VPC Access (Recommended)

– Selecione a VPC, Subnet e Security Groups no qual o cluster Elasticsearch será lançado. (O Amazon Elasticsearch Service utiliza da porta TCP 443 e esta deverá ser liberada no Security Group selecionado).
– Autenticação Kibana não será utilizado nesta demonstração, deixe em branco.
– Em Access Policy: Do not require signing request with IAM credential (Allows associated security groups within your VPC full access to the domain).

9. Clique em Next.
10. Clique em Confirm e seu dominio Elasticsearch será lançado.

Enquanto o serviço do Amazon Elasticsearch Service é lançado, faça a configuração do agente.

2. Instalar e configurar o agente do Winlogbeat oferecido pela Elastic.co em Instâncias Amazon EC2.

1. Acesse a página Elasticsearch Winlogbeat e faça o download do instalador x64.

2. Extraia o conteúdo no diretório “C:\Program Files” e renomeie o diretório extraído para Winlogbeat.

3. Dentro do diretório Winlogbeat (renomeado anteriormente), existe um arquivo chamado winlogbeat.yml, abra-o para edição.

Na seção winlogbeat.event_logs, deve conter o nome dos logs que serão enviados para o Amazon Elasticsearch service.

*Nota: Utilize o comando a seguir no PowerShell para ter acesso ao nome de todos os logs de eventos disponíveis no sistema operacional:
Get-WinEvent -Listlog* | Format-List -Property LogName > C:\Logs.txt

Na seção output.elasticsearch, deverá conter a URL do domínio do Amazon Elasticsearch Service. Deve ser especificado a porta 443 como na imagem abaixo, caso contrário o agente irá tentar utilizar a porta padrão do Elasticsearch.

Na seção setup.kibana, deverá conter a URL do domínio. Deve ser especificado a porta 443 como na imagem acima (antes de /_plugin/kibana). A URL deve ser informado exatamente como na imagem abaixo (entre aspas).

*Nota: As URL’s do Amazon Elasticsearch Service e Kibana estão disponíveis na console de administração do dominio Elasticsearch recém criado na etapa 1.

4. Com o arquivo winlogbeat.yml devidamente configurado, agora é hora de instalar o agente.

5. Abra o Powershell como administrador e navegue até o diretório “C:\Program Files\Winlogbeat”
Execute o script de instalação: .\install-service-winlogbeat.ps1

*Nota: Se a execução do script falhar devido a restrição de politica do sistema operacional, execute a instalação com o comando a seguir:

PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1.
 
6. Se instalado com sucesso, o Status do serviço aparecerá como parado (Stopped). Verifique se o arquivo de configuração não tem nenhum erro de sintaxe, com o comando a seguir:

\winlogbeat.exe test config -c .\winlogbeat.yml

7. Execute o comando para importar o dashboard do Kibana e veja se o output está como Dashboard Loaded.
.\winlogbeat.exe setup –dashboards

8. Com o arquivo de configuração sem erros e dashboard importado, inicie o serviço com o comando a seguir:

Start-Service winlogbeat

9. Verifique se o agente se conectou com sucesso ao Amazon Elasticsearch Service analisando o log gerado pelo agente em “C:\ProgramData\winlogbeat\Logs” e busque por Connection to backoff com resultado Established.

3. Customizar a visualização de logs no Kibana.

Os logs irão começar a ser enviados para o Amazon Elasticsearch Service e já será possível criar insights sobre o ambiente

  1. Acesse o Kibana através de um browser de uma instância Windows Amazon EC2 no endereço Kibana informado na console de administração do domínio Elasticsearch.

2.   Navegue na aba Dashboard e você verá o Dashboard com o nome: Winlogbeat Dashboard, clique sobre o mesmo e uma tela similar a da imagem abaixo irá ser exibida.

Você tem agora um sistema de centralização de logs totalmente gerenciado pela AWS, basta configurar suas instâncias Amazon EC2 para enviar os logs ao Amazon Elasticsearch Service e criar os filtros conforme necessidade.

Que tal criar um filtro referente Falha de Logon (Event ID 4625)? Com os logs de Security informado no winlogbeat.yml, qualquer tentativa de logon não bem sucedida irá gerar um EventID 4625 e este que será filtrado.

3. Clique em Add a filter + e crie um filtro como da imagem abaixo e clique em Save.

4. Com o filtro criado, clique em PIN FILTER como na imagem abaixo e em seguida Discover.

Pronto, agora será possível fazer um entendimento mais minucioso de cada log e tomar as devidas ações ou correções.

Para saber mais sobre Microsoft Workloads on AWS, acesse: https://thinkwithwp.com/pt/solutionspace/microsoft-workloads/

Marcio Morales

Senior AWS Solutions Architect, Microsoft Tech