
Dans les articles précédents, nous avons abordé briÚvement la pile ELK et la configuration du fichier de configuration Logstash pour le parseur de journaux. Dans cet article, nous allons nous concentrer sur ce qui est le plus important du point de vue de l'analyse, ce que vous souhaitez voir de la part du systÚme et la raison pour laquelle tout cela a été créé : ce sont des graphiques et des tableaux réunis dans des tableaux de bord. Aujourd'hui, nous allons nous familiariser davantage avec le systÚme de visualisation Kibana, nous verrons comment créer des graphiques, des tableaux, et, au final, nous construirons un tableau de bord simple basé sur les journaux du pare-feu Check Point.
La premiĂšre Ă©tape du travail avec Kibana consiste Ă crĂ©er un modĂšle d'index, qui est fondamentalement une base d'indices unifiĂ©e selon un principe spĂ©cifique. Bien entendu, cela est principalement une configuration pour que Kibana puisse rechercher plus facilement des informations dans tous les indices simultanĂ©ment. Cela se fait par le biais de la correspondance d'une chaĂźne, par exemple « checkpoint-* » et du nom de l'indice. Par exemple, « checkpoint-2019.12.05 » correspond au modĂšle, tandis que « checkpoint » tout seul ne correspond pas. Il est Ă©galement Ă noter qu'il n'est pas possible de rechercher des informations selon diffĂ©rents modĂšles d'indices simultanĂ©ment. Dans les articles suivants, nous verrons que les requĂȘtes API sont faites soit par le nom de l'indice, soit selon un seul modĂšle de ligne, l'image est cliquable :
AprÚs cela, vérifions dans le menu Discover que tous les journaux sont indexés et que le bon parseur est configuré. Si des incohérences sont découvertes, par exemple, changer le type de données d'une chaßne à un nombre entier, il est nécessaire de modifier le fichier de configuration Logstash, afin que les nouveaux journaux soient correctement enregistrés. Pour que les anciens journaux prennent le bon format suite à la modification, seul le processus de réindexation peut aider. Dans les articles suivants, cette opération sera examinée plus en détail. Assurons-nous que tout est en ordre, l'image est cliquable :
Les journaux sont à leur place, il est donc temps de commencer à construire des tableaux de bord. Sur la base des analyses des tableaux de bord des produits de sécurité, on peut comprendre l'état de la cybersécurité dans l'organisation, voir clairement les points vulnérables de la politique actuelle et, par la suite, développer des moyens de les corriger. Construisons un petit tableau de bord en utilisant plusieurs outils de visualisation. Le tableau de bord sera composé de 5 éléments :
- un tableau pour compter le nombre total de journaux par blade
- un tableau pour les signatures critiques IPS
- un diagramme circulaire des événements de prévention des menaces
- diagramme des sites les plus visités
- diagramme de l'utilisation des applications les plus dangereuses
Pour créer des figures de visualisation, il faut se rendre dans le menu Visualiser, et choisir la figure souhaitée que nous voulons construire ! Allons par étapes.
Tableau pour compter le nombre total de logs par blades
Pour cela, choisissons la figure Tableau de données, nous plongeons dans l'outil de création de graphiques, à gauche se trouvent les paramÚtres de la figure, à droite l'apparence selon les paramÚtres actuels. Je vais d'abord montrer à quoi ressemblera le tableau final, puis nous passerons en revue les réglages, l'image est cliquable :
ParamÚtres plus détaillés de la figure, l'image est cliquable :
Analisons les paramĂštres.
Initialement, nous configurons mĂ©trique, c'est la valeur selon laquelle tous les champs seront agrĂ©gĂ©s. Les mĂ©triques sont calculĂ©es sur la base des valeurs extraites d'une maniĂšre ou d'une autre des documents. Les valeurs sont gĂ©nĂ©ralement extraites des champs du document, mais peuvent Ă©galement ĂȘtre gĂ©nĂ©rĂ©es Ă l'aide de scripts. Dans ce cas, nous dĂ©finissons AgrĂ©gation : Compte (nombre total de logs).
AprÚs cela, nous divisons le tableau par segments (champs) selon lesquels la métrique sera calculée. Cette fonction est assurée par le paramÚtre Buckets, qui se compose à son tour de 2 types de réglages :
- split rows â ajout de colonnes et ensuite division du tableau en lignes
- split table â division en plusieurs tableaux selon les valeurs d'un champ spĂ©cifique.
Dans buckets il est possible d'ajouter plusieurs divisions pour crĂ©er plusieurs colonnes ou tableaux, les limitations sont davantage logiques. Dans l'agrĂ©gation, on peut choisir comment la division en segments se fera : ipv4 range, date range, Terms, etc. Le choix le plus intĂ©ressant est prĂ©cisĂ©ment Terms et Significant Terms, la division en segments se fait selon les valeurs d'un champ d'index donnĂ©, la diffĂ©rence entre eux rĂ©side dans le nombre de valeurs retournĂ©es et leur affichage. Comme nous souhaitons diviser le tableau par le nom des blades, nous choisissons le champ â product.keyword et dĂ©finissons la taille Ă 25 valeurs retournĂ©es.
Au lieu de lignes, dans elasticsearch, il existe 2 types de donnĂ©es â text et keyword. Si vous souhaitez effectuer une recherche en texte intĂ©gral, vous devez utiliser le type text, ce qui est trĂšs pratique lors de l'Ă©criture de votre service de recherche, par exemple, vous recherchez une mention d'un mot dans une signification spĂ©cifique d'un champ (texte). Si vous souhaitez uniquement une correspondance exacte, vous devez utiliser le type keyword. Le type de donnĂ©es keyword doit Ă©galement ĂȘtre utilisĂ© pour des champs nĂ©cessitant un tri ou une agrĂ©gation, c'est-Ă -dire, dans notre cas.
En consĂ©quence, Elasticsearch compte le nombre de journaux sur une certaine pĂ©riode en agrĂ©gant par valeur dans le champ produit. Dans le Custom Label, nous dĂ©finissons le nom de la colonne qui sera affichĂ© dans le tableau, nous dĂ©finissons la pĂ©riode pendant laquelle nous rassemblons les journaux, nous lançons le rendu - Kibana envoie une requĂȘte Ă Elasticsearch, attend la rĂ©ponse et visualise ensuite les donnĂ©es obtenues. Le tableau est prĂȘt !
Diagramme circulaire des événements de prévention des menaces
L'information sur le pourcentage de rĂ©actions suscite un intĂ©rĂȘt particulier detect et prevent sur les incidents de sĂ©curitĂ© de l'information dans la politique de sĂ©curitĂ© actuelle. Pour ce cas, un diagramme circulaire est bien adaptĂ©. Nous choisissons dans Visualize - Pie chart. De plus, dans la mĂ©trique, nous dĂ©finissons l'agrĂ©gation par le nombre de journaux. Dans les buckets, nous rĂ©glons Terms => action.
Tout semble correct, mais les valeurs affichées concernent tous les bléds, il est donc nécessaire de filtrer uniquement ceux qui fonctionnent dans le cadre de la prévention des menaces. Par conséquent, nous configurons absolument filter pour rechercher des informations uniquement sur les bléds responsables des incidents de sécurité de l'information - product: («Anti-Bot» OR «New Anti-Virus» OR «DDoS Protector» OR «SmartDefense» OR «Threat Emulation»). L'image est cliquable :
Et des réglages plus détaillés, l'image est cliquable :
Tableau des événements IPS
Ensuite, il est trĂšs important du point de vue de la sĂ©curitĂ© de l'information de passer en revue et de vĂ©rifier les Ă©vĂ©nements par blĂ©d IPS et Ămulation des menaces, qui ne sont pas bloquĂ©s par la politique actuelle, afin de pouvoir ensuite soit passer la signature en prevent, soit si le trafic est valide - ne pas vĂ©rifier la signature. Nous crĂ©ons le tableau de la mĂȘme maniĂšre que dans le premier exemple, seulement avec la diffĂ©rence que nous crĂ©ons plusieurs colonnes : protections.keyword, severity.keyword, product.keyword, originsicname.keyword. Nous configurons absolument un filtre pour rechercher des informations uniquement sur les blĂ©ds responsables des incidents de sĂ©curitĂ© de l'information - product: ( «SmartDefense» OR «Threat Emulation»). L'image est cliquable :
Des réglages plus détaillés, l'image est cliquable :
Diagrammes des sites les plus visités
Pour cela, crĂ©ons une figure â Barre verticale. Nous utilisons Ă©galement la mĂ©trique count (axe Y), et sur l'axe X, nous utiliserons comme valeurs le nom des sites visitĂ©s â âappi_nameâ. Il y a une petite astuce, si nous lançons les paramĂštres dans la version actuelle, tous les sites seront marquĂ©s sur le graphique d'une seule couleur. Pour les rendre multicolores, nous utilisons un paramĂštre supplĂ©mentaire â âsplit seriesâ, qui permet de diviser une colonne dĂ©jĂ créée en plusieurs valeurs, en fonction du champ choisi bien sĂ»r ! Cette division peut ĂȘtre utilisĂ©e soit comme une colonne multicolore par valeurs en mode empilĂ©, soit en mode normal pour crĂ©er plusieurs colonnes selon une valeur de l'axe X. Dans ce cas, nous utilisons la mĂȘme valeur que sur l'axe X, ce qui permet de rendre toutes les colonnes multicolores, elles seront codĂ©es par couleur en haut Ă droite. Dans le filtre, nous dĂ©finissons â product:«URL Filtering» afin de voir les informations uniquement sur les sites visitĂ©s, l'image est cliquable :
ParamĂštres :
Diagramme d'utilisation des applications les plus dangereuses
Pour cela, crĂ©ons une figure â Bar Verticale. Nous utilisons Ă©galement la mĂ©trique count (axe Y), et sur l'axe X, nous utiliserons comme valeurs le nom des applications utilisĂ©es - âappi_nameâ. Le plus important est de dĂ©finir le filtre â product: «Application Control» AND app_risk: (4 OR 5 OR 3 ) AND action:«accept». Nous filtrons les journaux par le blade Application Control, ne prenant que les sites classĂ©s comme sites Ă risque Critique, ĂlevĂ©, Moyen et uniquement si l'accĂšs Ă ces sites est autorisĂ©. L'image est cliquable :
ParamĂštres, cliquables :
Tableau de bord
La visualisation et la crĂ©ation de tableaux de bord se trouvent dans un menu sĂ©parĂ© â Tableau de bord. Ici, tout est simple, un nouveau tableau de bord est créé, une visualisation est ajoutĂ©e, disposĂ©e Ă des emplacements de choix et c'est tout !
Nous créons un tableau de bord, à partir duquel nous pourrons comprendre la situation de base concernant la sécurité des informations dans l'organisation, bien sûr, uniquement au niveau de Check Point, l'image est cliquable :
Sur la base de ces graphiques, nous pouvons comprendre quelles signatures critiques ne sont pas bloquĂ©es sur le pare-feu, oĂč se rendent les utilisateurs et quelles sont les applications les plus dangereuses qu'ils utilisent.
Conclusion
Nous avons explorĂ© les possibilitĂ©s de visualisation de base dans Kibana et créé un tableau de bord, mais cela n'est qu'une petite partie. Par la suite, nous examinerons sĂ©parĂ©ment la configuration des cartes, le travail avec le systĂšme Elasticsearch, nous nous familiariserons avec les requĂȘtes API, l'automatisation et bien d'autres choses encore !
Alors restez à l'écoute pour les mises à jour (, , , ), .
Source : habr.com
