Logstash - Sécurité et surveillance

Dans ce chapitre, nous aborderons les aspects de sécurité et de surveillance de Logstash.

surveillance

Logstash est un très bon outil pour surveiller les serveurs et les services dans les environnements de production. Les applications dans l'environnement de production produisent différents types de données de journal comme les journaux d'accès, les journaux d'erreurs, etc. Logstash peut compter ou analyser le nombre d'erreurs, d'accès ou d'autres événements à l'aide de plugins de filtrage. Cette analyse et ce comptage peuvent être utilisés pour surveiller différents serveurs et leurs services.

Logstash propose des plugins comme HTTP Pollerpour surveiller la surveillance de l'état du site Web. Ici, nous surveillons un site Web nommémysite hébergé sur un serveur Apache Tomcat local.

logstash.conf

Dans ce fichier de configuration, le plugin http_poller est utilisé pour atteindre le site spécifié dans le plugin après un intervalle de temps spécifié dans le paramètre d'intervalle. Enfin, il écrit l'état du site sur une sortie standard.

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"}
      }
   }
}

Exécutez logstash

Nous pouvons exécuter Logstash avec la commande suivante.

>logstash –f logstash.conf

stdout

Si le site est actif, la sortie sera -

Ok

Si nous arrêtons le site en utilisant le Manager App de Tomcat, la sortie deviendra -

down

Sécurité

Logstash fournit de nombreuses fonctionnalités pour une communication sécurisée avec des systèmes externes et prend en charge le mécanisme d'authentification. Tous les plugins Logstash prennent en charge l'authentification et le chiffrement via les connexions HTTP.

Sécurité avec protocole HTTP

Il existe des paramètres tels que l'utilisateur et le mot de passe à des fins d'authentification dans divers plugins proposés par Logstash comme dans le plugin Elasticsearch.

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

L'autre authentification est PKI (public key infrastructure)pour Elasticsearch. Le développeur doit définir deux paramètres dans le plugin de sortie Elasticsearch pour activer l'authentification PKI.

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

Dans le protocole HTTPS, un développeur peut utiliser le certificat de l'autorité pour SSL / TLS.

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

Sécurité avec protocole de transport

Pour utiliser le protocole de transport avec Elasticsearch, les utilisateurs doivent définir le paramètre de protocole sur le transport. Cela évite le désassemblage d'objets JSON et conduit à plus d'efficacité.

L'authentification de base est la même que celle effectuée dans le protocole http dans le protocole de sortie Elasticsearch.

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

L'authentification PKI nécessite également que les ensembles SSL soient vrais avec d'autres paramètres dans le protocole de sortie Elasticsearch -

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

Enfin, la sécurité SSL nécessite un peu plus de paramètres que les autres méthodes de sécurité en communication.

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

Autres avantages de sécurité de Logstash

Logstash peut aider à saisir les sources du système pour éviter les attaques telles que les attaques par déni de service. La surveillance des journaux et l'analyse des différents événements de ces journaux peuvent aider les administrateurs système à vérifier la variation des connexions entrantes et les erreurs. Ces analyses peuvent aider à voir si l'attaque se produit ou va se produire sur les serveurs.

D'autres produits de la société Elasticsearch tels que x-pack et filebeat fournit certaines fonctionnalités pour communiquer en toute sécurité avec Logstash.