Logstash - Segurança e monitoramento

Neste capítulo, discutiremos os aspectos de segurança e monitoramento do Logstash.

Monitoramento

Logstash é uma ferramenta muito boa para monitorar os servidores e serviços em ambientes de produção. Os aplicativos em ambiente de produção produzem diferentes tipos de dados de log, como logs de acesso, logs de erro, etc. O Logstash pode contar ou analisar o número de erros, acessos ou outros eventos usando plug-ins de filtro. Esta análise e contagem podem ser utilizadas para monitorar diferentes servidores e seus serviços.

Logstash oferece plug-ins como HTTP Pollerpara monitorar o monitoramento de status do site. Aqui, estamos monitorando um site chamadomysite hospedado em um servidor Apache Tomcat local.

logstash.conf

Neste arquivo de configuração, o plug-in http_poller é usado para acessar o site especificado no plug-in após um intervalo de tempo especificado na configuração de intervalo. Finalmente, ele grava o status do site em uma saída padrão.

input {
   http_poller {
      urls => {
         site => "http://localhost:8080/mysite"
      }
      request_timeout => 20
      interval => 30
      metadata_target => "http_poller_metadata"
   }
}
output {
   if [http_poller_metadata][code] == 200 {
      stdout {
         codec => line{format => "%{http_poller_metadata[response_message]}"}
      }
   }
   if [http_poller_metadata][code] != 200 {
      stdout {
         codec => line{format => "down"}
      }
   }
}

Execute o logstash

Podemos executar o Logstash com o seguinte comando.

>logstash –f logstash.conf

stdout

Se o site estiver ativo, a saída será -

Ok

Se pararmos o site usando o Manager App do Tomcat, a saída mudará para -

down

Segurança

O Logstash fornece muitos recursos para comunicação segura com sistemas externos e suporta mecanismo de autenticação. Todos os plug-ins Logstash oferecem suporte para autenticação e criptografia em conexões HTTP.

Segurança com protocolo HTTP

Existem configurações como usuário e senha para fins de autenticação em vários plug-ins oferecidos pelo Logstash, como no plug-in Elasticsearch.

elasticsearch {
   user => <username>
   password => <password>
}

A outra autenticação é PKI (public key infrastructure)para Elasticsearch. O desenvolvedor precisa definir duas configurações no plug-in de saída Elasticsearch para habilitar a autenticação PKI.

elasticsearch {
   keystore => <string_value>
   keystore_password => <password>
}

No protocolo HTTPS, um desenvolvedor pode usar o certificado da autoridade para SSL / TLS.

elasticsearch {
   ssl => true
   cacert => <path to .pem file>
}

Segurança com protocolo de transporte

Para usar o protocolo de transporte com Elasticsearch, os usuários precisam definir a configuração do protocolo para transporte. Isso evita o desempacotamento de objetos JSON e leva a mais eficiência.

A autenticação básica é a mesma realizada no protocolo http no protocolo de saída Elasticsearch.

elasticsearch {
   protocol => “transport”
   user => <username>
   password => <password>
}

A autenticação PKI também precisa que os conjuntos SSL sejam verdadeiros com outras configurações no protocolo de saída Elasticsearch -

elasticsearch {
   protocol => “transport”
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
}

Por fim, a segurança SSL exige um pouco mais configurações do que outros métodos de segurança na comunicação.

elasticsearch {
   ssl => true
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
   truststore => 
      
        truststore_password => <password> } 
      

Outros benefícios de segurança do Logstash

O Logstash pode ajudar a inserir as fontes do sistema para prevenir contra ataques como ataques de negação de serviço. O monitoramento de logs e a análise dos diferentes eventos nesses logs podem ajudar os administradores de sistema a verificar a variação nas conexões de entrada e erros. Essas análises podem ajudar a ver se o ataque está acontecendo ou vai acontecer nos servidores.

Outros produtos da Elasticsearch Company, como x-pack e filebeat fornece algumas funcionalidades para comunicação segura com o Logstash.