1.Elastic stack : analyse des logs de sécurité. Introduction

1.Elastic stack : analyse des logs de sécurité. Introduction

Dans le cadre de l'arrêt des ventes en Russie du système de journalisation et d'analyse Splunk, la question s'est posée : par quoi remplacer cette solution ? Après avoir passé du temps à me familiariser avec différentes solutions, j'ai opté pour une solution pour un vrai homme - "Pile ELK". La mise en place de ce système prend du temps, mais vous pouvez ainsi obtenir un système très puissant pour analyser l'état et répondre rapidement aux incidents de sécurité des informations dans l'organisation. Dans cette série d'articles, nous examinerons les capacités de base (ou peut-être non) de la pile ELK, réfléchirons à la façon dont vous pouvez analyser les journaux, comment créer des graphiques et des tableaux de bord, et quelles fonctions intéressantes peuvent être réalisées en utilisant l'exemple des journaux de le pare-feu Check Point ou le scanner de sécurité OpenVas. Pour commencer, regardons de quoi il s'agit : la pile ELK et de quels composants elle se compose.

"Pile ELK" est l'acronyme de trois projets open source : ElasticSearch, Logstash и Kibana. Développé par Elastic avec tous les projets associés. Elasticsearch est le cœur de l'ensemble du système, qui combine les fonctions d'un système de base de données, de recherche et d'analyse. Logstash est un pipeline de traitement de données côté serveur qui reçoit simultanément des données de plusieurs sources, analyse le journal, puis l'envoie à une base de données Elasticsearch. Kibana permet aux utilisateurs de visualiser des données à l'aide de tableaux et de graphiques dans Elasticsearch. Vous pouvez également administrer la base de données via Kibana. Ensuite, nous examinerons chaque système séparément plus en détail.

1.Elastic stack : analyse des logs de sécurité. Introduction

Logstash

Logstash est un utilitaire de traitement des événements de journaux provenant de diverses sources, avec lequel vous pouvez sélectionner des champs et leurs valeurs dans un message, et vous pouvez également configurer le filtrage et l'édition des données. Après toutes les manipulations, Logstash redirige les événements vers le magasin de données final. L'utilitaire est configuré uniquement via des fichiers de configuration.
Une configuration typique de logstash est un ou plusieurs fichiers constitués de plusieurs flux d'informations entrants (entrée), plusieurs filtres pour ces informations (filtre) et plusieurs flux sortants (sortie). Cela ressemble à un ou plusieurs fichiers de configuration, qui dans la version la plus simple (qui ne fait rien du tout) ressemble à ceci :

input {
}

filter {
}

output {
}

Dans INPUT, nous configurons à quel port les journaux seront envoyés et via quel protocole, ou à partir de quel dossier lire les fichiers nouveaux ou constamment mis à jour. Dans FILTER, nous configurons l'analyseur de journaux : analyser les champs, modifier les valeurs, ajouter de nouveaux paramètres ou les supprimer. FILTER est un champ de gestion du message qui arrive à Logstash avec de nombreuses options d'édition. En sortie, nous configurons où nous envoyons le journal déjà analysé, dans le cas où il s'agit d'elasticsearch, une requête JSON est envoyée dans laquelle les champs avec des valeurs sont envoyés, ou dans le cadre du débogage, elle peut être sortie sur la sortie standard ou écrite dans un fichier.

1.Elastic stack : analyse des logs de sécurité. Introduction

ElasticSearch

Initialement, Elasticsearch est une solution de recherche en texte intégral, mais avec des fonctionnalités supplémentaires telles qu'une mise à l'échelle, une réplication et d'autres choses faciles, ce qui a rendu le produit très pratique et une bonne solution pour les projets à forte charge avec de gros volumes de données. Elasticsearch est un magasin de documents JSON non relationnel (NoSQL) et un moteur de recherche basé sur la recherche en texte intégral Lucene. La plate-forme matérielle est Java Virtual Machine, le système nécessite donc une grande quantité de ressources processeur et RAM pour fonctionner.
Chaque message entrant, soit avec Logstash, soit en utilisant l'API de requête, est indexé comme un « document » – analogue à une table en SQL relationnel. Tous les documents sont stockés dans un index - un analogue d'une base de données en SQL.

Exemple de document dans la base de données :

{
  "_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": "External",
	"layer_name": [
  	"TSS-Standard Security",
  	"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 basé sur des requêtes JSON utilisant l'API REST, qui produisent soit des documents par index, soit des statistiques au format : question - réponse. Afin de visualiser toutes les réponses aux demandes, Kibana a été écrit, qui est un service Web.

Kibana

Kibana vous permet de rechercher, de récupérer des données et d'interroger des statistiques à partir de la base de données elasticsearch, mais de nombreux graphiques et tableaux de bord magnifiques sont construits sur la base des réponses. Le système dispose également d'une fonctionnalité d'administration de base de données elasticsearch ; dans les articles suivants, nous examinerons ce service plus en détail. Montrons maintenant un exemple de tableaux de bord pour le pare-feu Check Point et le scanner de vulnérabilités OpenVas qui peuvent être construits.

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

1.Elastic stack : analyse des logs de sécurité. Introduction

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

1.Elastic stack : analyse des logs de sécurité. Introduction

Conclusion

Nous avons regardé en quoi cela consistait Pile ELK, nous nous sommes un peu familiarisés avec les principaux produits, plus tard dans le cours, nous envisagerons séparément l'écriture d'un fichier de configuration Logstash, la configuration de tableaux de bord sur Kibana, la familiarisation avec les requêtes API, l'automatisation et bien plus encore !

Alors restez à l'écouteTelegram, Facebook, VK, Blog de la solution TS), Yandex.Den.

Source: habr.com

Ajouter un commentaire