1.Stack Elastic : analyse des journaux de sécurité. Introduction

1.Stack Elastic : analyse des journaux de sécurité. Introduction

Avec la fin des ventes en Russie du système de journalisation et d'analyse Splunk, la question se pose : par quoi remplacer cette solution ? Après avoir pris le temps de découvrir diverses solutions, je me suis arrêté sur une solution pour les vrais hommes — «ELK stack». Ce système nécessite du temps pour sa configuration, mais au final, il est possible d'obtenir un système très puissant pour l'analyse de l'état et la réponse opérationnelle aux incidents de sécurité de l'information au sein de l'organisation. Dans ce cycle d'articles, nous examinerons les capacités de base (et peut-être d'autres) de la stack ELK, nous verrons comment analyser les journaux, comment créer des graphiques et des tableaux de bord, et quelles fonctions intéressantes peuvent être réalisées à partir des journaux d'un pare-feu Check Point ou d'un scanner de sécurité OpenVas. Pour commencer, examinons ce qu'est exactement la stack ELK et de quels composants elle se compose.

«ELK stack» — c'est l'acronyme de trois projets open source : Elasticsearch, Logstash et Kibana. Développé par l'entreprise Elastic avec tous les projets connexes. Elasticsearch est le noyau de tout le système, qui combine les fonctions d'une base de données, d'un système de recherche et d'analyse. Logstash est un pipeline de traitement de données du côté serveur qui reçoit des données de plusieurs sources simultanément, analyse les journaux, puis les envoie à la base de données Elasticsearch. Kibana permet aux utilisateurs de visualiser les données à l'aide de graphiques et de diagrammes dans Elasticsearch. Kibana permet également d'administrer la base de données. Nous examinerons ensuite chaque système en détail.

1.Stack Elastic : analyse des journaux de sécurité. Introduction

Logstash

Logstash est un outil pour le traitement des événements de journal à partir de différentes sources, qui permet d'extraire des champs et leurs valeurs dans le message, et il est également possible de configurer la filtration et l'édition des données. Après toutes ces manipulations, Logstash redirige les événements vers le stockage de données final. L'outil est configuré uniquement via des fichiers de configuration.
Une configuration typique de Logstash est constituée de fichier(s) comprenant plusieurs flux d'informations entrants (input), plusieurs filtres pour ces informations (filter) et plusieurs flux sortants (output). Cela ressemble à un ou plusieurs fichiers de configuration, qui, dans sa version la plus simple (qui ne fait absolument rien), ressemble à ceci :

input {
}

filter {
}

output {
}

Dans INPUT, nous configurons sur quel port les journaux seront reçus et selon quel protocole, ou à partir de quel dossier lire des fichiers nouveaux ou en cours d'écriture. Dans FILTER, nous configurons le parseur de journaux : l'analyse des champs, l'édition des valeurs, l'ajout de nouveaux paramètres ou la suppression. FILTER est un champ pour gérer le message qui arrive sur Logstash avec de nombreuses options d'édition. Dans OUTPUT, nous configurons où nous envoyons le journal déjà analysé, si c'est Elasticsearch, une requête JSON est envoyée, contenant les champs avec des valeurs, ou alors à des fins de débogage, nous pouvons afficher dans stdout ou enregistrer dans un fichier.

1.Stack Elastic : analyse des journaux de sécurité. Introduction

ElasticSearch

À l'origine, Elasticsearch est une solution de recherche en texte intégral, mais avec des fonctionnalités supplémentaires, comme une mise à l'échelle facile, la réplication et autres, ce qui en a fait un produit très pratique et une bonne solution pour des projets à fort trafic avec de gros volumes de données. Elasticsearch est un stockage non relationnel (NoSQL) de documents au format JSON, et un moteur de recherche basé sur la recherche en texte intégral Lucene. La plateforme matérielle est la Java Virtual Machine, donc le système nécessite une grande quantité de ressources processeur et de mémoire pour fonctionner.
Chaque message entrant, que ce soit depuis Logstash ou via une requête API, est indexé comme un "document" – l'équivalent d'une table dans une base de données relationnelle SQL. Tous les documents sont stockés dans un index – équivalent d'une base de données dans SQL.

Exemple de document dans la base :

{
  "_index": "checkpoint-2019.10.10",
  "_type": "_doc",
  "_id": "yvNZcWwBygXz5W1aycBy",
  "_version": 1,
  "_score": null,
  "_source": {
	"layer_uuid": [
      "dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0",
      "dbee3718-cf2f-4de0-8681-529cb75be9a6"
	],
	"outzone": "Externe",
	"layer_name": [
  	"TSS-Standard Sécurité",
  	"TSS-Standard Application"
	],
	"time": "1565269565",
	"dst": "103.5.198.210",
	"parent_rule": "0",
	"host": "10.10.10.250",
	"ifname": "eth6",
    ]
}

Tout le travail avec la base de données est construit sur des requêtes JSON via REST API, qui soit fournissent des documents par index, soit quelque sorte de statistiques sous forme : question - réponse. Pour visualiser toutes les réponses aux requêtes, Kibana a été développé, qui est un service web.

Kibana

Kibana permet de rechercher et d'interroger des données ainsi que des statistiques à partir de la base de données Elasticsearch, et à partir des réponses, de nombreux graphiques et tableaux de bord attrayants sont construits. Le système dispose également de fonctionnalités d'administration de la base de données Elasticsearch. Dans les articles suivants, nous examinerons ce service plus en détail. Pour l'instant, nous allons montrer un exemple de tableaux de bord pour le pare-feu Check Point et le scanner de vulnérabilités OpenVas que l'on pourrait créer.

Exemple de tableau de bord pour Check Point, l'image est cliquable :

1.Stack Elastic : analyse des journaux de sécurité. Introduction

Exemple de tableau de bord pour OpenVas, l'image est cliquable :

1.Stack Elastic : analyse des journaux de sécurité. Introduction

Conclusion

Nous avons examiné de quoi se compose la pile ELK, nous avons fait connaissance avec les produits principaux. Plus loin dans le cours, nous allons examiner séparément la rédaction du fichier de configuration Logstash, la configuration des tableaux de bord sur Kibana, nous familiariser avec les requêtes API, l'automatisation et bien d'autres choses encore !

Alors restez à l'écoute pour les mises à jour (Telegram, Facebook, VK, Blog de solutions TS), Yandex.Zen.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster