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.