6.1 Considérations relatives au stockage de données

Selon le taux d'événements par seconde, vous pouvez choisir d'utiliser un stockage traditionnel ou évolutif pour stocker et indexer vos données Sentinel. Votre déploiement Sentinel dépend de la solution de stockage des données que vous choisissez d'utiliser.

Tableau 6-1 Comparaison entre le stockage traditionnel et évolutif

Stockage traditionnel

Stockage évolutif

Par défaut, les données sont stockées dans un espace de stockage traditionnel basé sur des fichiers et l'indexation s'effectue en local sur le serveur Sentinel.

En plus du stockage des données basé sur des fichiers, vous pouvez également choisir de stocker et d'indexer les événements dans la zone de stockage des données de visualisation pour tirer parti des fonctionnalités de visualisation de données. Pour plus d'informations, reportez-vous à la section Configuration de la zone de stockage de visualisation.

Les données sont stockées dans un espace de stockage évolutif Hadoop et l'indexation des données utilise un mécanisme d'indexation distribué évolutif.

Peut évoluer sans problème verticalement jusqu'à environ 20 000 EPS. Au-delà de cette valeur, vous devez ajouter des serveurs Sentinel supplémentaires pour pouvoir prendre en charge un taux d'EPS beaucoup plus élevé.

Peut évoluer sans difficulté vers un taux d'EPS horizontalement très élevé, par exemple, 1 million d'événements par seconde.

La charge de la collecte de données est répartie entre plusieurs serveurs Sentinel. Par conséquent, les données sont réparties sur plusieurs serveurs Sentinel et doivent être gérées individuellement.

La collecte des données est gérée par un seul serveur Sentinel. Par conséquent, la gestion des données et des ressources est centralisée sur un seul serveur Sentinel.

Le locataire des données est indiqué dans les données, mais elles ne sont pas pour autant séparées sur le disque en fonction de celui-ci.

Les données sont libellées et séparées en fonction de leur locataire sur le disque.

La disponibilité et la réplication des données doivent être effectuées manuellement ou à l'aide de mécanismes de stockage coûteux tels qu'un disque SAN.

La disponibilité et la réplication des données sont économiques puisque Hadoop s'exécute sur du matériel courant.

6.1.1 Planification du stockage traditionnel

Le stockage des données basé sur des fichiers est structuré en trois niveaux :

Stockage en ligne

Stockage primaire, intitulé auparavant stockage local.

Optimisé pour des écritures et des récupérations rapides. Stocke les dernières données d'événement collectées et les données d'événement les plus souvent recherchées.

Stockage secondaire, intitulé auparavant stockage réseau. (facultatif)

Optimisé pour réduire l'utilisation de l'espace d'un stockage facultatif et moins coûteux, avec prise en charge de l'extraction rapide. Sentinel migre automatiquement les partitions de données vers l'espace de stockage secondaire.

REMARQUE :l'utilisation de l'espace de stockage secondaire est facultative. Les rapports, recherches et stratégies de conservation des données fonctionnent de la même manière sur les partitions de données d'événement, qu'elles soient sur un espace de stockage primaire, secondaire ou les deux.

Stockage hors ligne

Stockage d'archivage

Lorsque les partitions sont fermées, vous pouvez sauvegarder la partition sur le service de stockage de fichiers de votre choix, par exemple Amazon Glacier. Vous pouvez temporairement réimporter les partitions pour les utiliser dans le cadre d'une analyse a posteriori à long terme si nécessaire.

De même, vous pouvez configurer Sentinel pour extraire les données d'événement et les résumés de données d'événement vers une base de données externe à l'aide de stratégies de synchronisation des données. Pour plus d'informations, reportez-vous à la section Configuring Data Synchronization (Configuration de la synchronisation des données) du Sentinel  Administration Guide (Guide d'administration de NetIQ Sentinel 7.0.1).

Lorsque vous installez Sentinel, vous devez monter la partition de disque pour le stockage primaire au même emplacement que l'installation de Sentinel. Par défaut, il s'agit du répertoire /var/opt/novell.

Pour que les calculs d'utilisation du disque soient corrects, l'ensemble de la structure du répertoire /var/opt/novell/sentinel doit se trouver sur une seule partition de disque. À défaut, les fonctionnalités de gestion automatique des données risquent de supprimer des données d'événement prématurément. Pour plus d'informations sur la structure du répertoire Sentinel, reportez-vous au Structure des répertoires de Sentinel.

Nous vous recommandons de stocker ce répertoire sur une partition de disque distincte de celle qui contient les fichiers exécutables, de configuration et du système d'exploitation. L'isolation des données variables présente l'avantage de faciliter la sauvegarde et la récupération des ensembles de fichiers en cas d'altération et d'offrir un degré de protection supplémentaire si la partition du disque venait à être saturée. Les performances globales des systèmes sont également améliorées, car les petits systèmes de fichiers sont plus efficaces. Pour plus d'informations, reportez-vous à l'article en anglais Disk Partitioning (Partitionnement de disque).

REMARQUE :Les systèmes de fichiers EXT3 ont une limite en matière de stockage de fichiers. En effet, un répertoire ne peut pas contenir plus de 32 000 fichiers ou sous-répertoires. Vous pouvez utiliser le système de fichiers XFS si vous envisagez d'avoir un grand nombre de stratégies de conservation ou de conserver les données pour de longues périodes, comme une année.

Utilisation de partitions dans des installations traditionnelles

Sur les installations traditionnelles, vous pouvez modifier la disposition de la partition de disque du système d'exploitation avant d'installer Sentinel. L'administrateur doit créer et monter les partitions souhaitées dans les répertoires appropriés, en fonction de la structure de répertoires indiquée à la Structure des répertoires de Sentinel. Lorsque vous exécutez le programme d'installation, Sentinel est installé dans les répertoires créés au préalable. En d'autres termes, l'installation s'étend sur plusieurs partitions.

REMARQUE :

  • Vous pouvez utiliser l'option --location lors de l'exécution du programme d'installation afin d'indiquer un emplacement de stockage à la racine différent des répertoires par défaut. La valeur que vous transmettez à l'option --location est ajoutée au début des chemins d'accès aux répertoires. Par exemple, si vous indiquez --location=/foo, le répertoire des données est /foo/var/opt/novell/sentinel/data et le répertoire de configuration est /foo/etc/opt/novell/sentinel/config.

  • Vous ne devez pas utiliser les liens du système de fichiers (les liens symboliques par exemple) pour l'option --location.

Utilisation de partitions dans des installations d'applicatif

Si vous utilisez un format d'applicatif DVD ISO, vous pouvez configurer le partitionnement du système de fichiers de l'applicatif au cours de l'installation en suivant les instructions affichées dans les écrans YaST. Par exemple, vous pouvez créer une partition distincte pour le point de montage /var/opt/novell/sentinel afin de placer l'ensemble des données sur une partition distincte. Toutefois, pour les autres formats d'applicatif, vous ne pouvez configurer le partitionnement qu'après l'installation. L'outil de configuration système SuSE YaST permet d'ajouter des partitions et de déplacer un répertoire vers la nouvelle partition. Pour plus d'informations sur la création de partitions après l'installation, reportez-vous à la Création de partitions pour le stockage traditionnel.

Meilleures pratiques en matière de disposition des partitions

De nombreuses organisations disposent de leurs propres meilleures pratiques en matière de schémas de disposition des partitions pour les programmes installés. La proposition suivante de partition a pour objet de guider les organisations qui n'ont pas de stratégie définie, et prend en compte l'utilisation spécifique par Sentinel du système de fichiers. En général, Sentinel se conforme à la norme de hiérarchie du système de fichiers si possible.

Partition

Point de montage

Taille

Remarques

Root

/

100 Go

Contient les fichiers du système d'exploitation et les fichiers binaires/la configuration Sentinel.

Boot

/boot

150 Mo

Partition de démarrage

Stockage primaire

/var/opt/novell/sentinel

Effectuez votre calcul à l'aide des informations de dimensionnement des systèmes.

Cette zone contiendra les principales données Sentinel collectées, ainsi que d'autres données variables telles que les fichiers journaux. Cette partition peut être partagée avec d'autres systèmes.

Stockage secondaire

Emplacement basé sur le type de stockage, NFS, CIFS ou SAN.

Effectuez votre calcul à l'aide des informations de dimensionnemment des systèmes.

Il s'agit de la zone de stockage secondaire qui peut être montée localement, comme indiqué, ou à distance.

Stockage d'archivage

Système distant

Effectuez votre calcul à l'aide des informations de dimensionnement des systèmes.

Cet espace de stockage est destiné aux données archivées.

Configuration de la zone de stockage de visualisation

Sentinel fournit des visualisations d'événements qui présentent les données dans des graphiques, des tableaux et des assignations. Ces visualisations facilitent la visualisation et l'analyse de gros volumes d'événements. Vous pouvez également créer vos propres visualisations et tableaux de bord.

Sentinel tire parti de Kibana, un tableau de bord d'analyse et de recherche basé sur un navigateur, qui vous aide à rechercher et à analyser des événements. Kibana accède aux données de la zone stockage des données de visualisation (Elasticsearch) pour présenter les événements dans des tableaux de bord. Par défaut, Sentinel comprend un nœud Elasticsearch qui stocke et indexe uniquement les alertes. Vous devez activer la visualisation des événements pour stocker et indexer les événements dans Elasticsearch.

Lorsque vous activez Elasticsearch pour stocker et indexer des données, Sentinel indexe uniquement certains champs d'événement spécifiques requis pour les visualisations et stocke les champs indexés dans Elasticsearch. Sentinel crée un index spécial pour chaque jour et utilise le fuseau horaire UTC (de minuit à minuit) pour calculer la date de l'index. Le nom de l'index est au format security.events.normalized_aaaaMMjj. Par exemple, l'index security.events.normalized_20160101 contient tous les événements qui se sont déroulés le 1er janvier 2016.

La configuration de la zone de stockage des données de visualisation implique les opérations suivantes :

  • Installation des nœuds Elasticsearch dans un mode en grappe : Par défaut, Sentinel comprend un nœud Elasticsearch. Pour optimiser les performances et la stabilité du serveur Sentinel, il est obligatoire d'installer les nœuds Elasticsearch supplémentaires dans un mode en grappe. Pour plus d'informations, reportez-vous à la section Section 12.0, Installation et configuration d'Elasticsearch.

  • Activer la visualisation des événements : La visualisation des événements est désactivée par défaut. Pour activer la visualisation des événements, reportez-vous à la section Section 20.0, Activation de la visualisation des événements.

  • Réglage des performances : Sentinel configure automatiquement certains paramètres Elasticsearch pour optimiser les performances. Vous pouvez personnaliser ces paramètres selon vos besoins. Par exemple, vous pouvez modifier les champs d'événement que vous souhaitez voir indexés par Elasticsearch. Pour plus d'informations, reportez-vous à la section Réglage des performances pour Elasticsearch.

6.1.2 Planification du stockage évolutif

Sentinel utilise la distribution Cloudera, y compris l'infrastructure Apache Hadoop (CDH) pour stocker et gérer les gros volumes de données. Pour l'indexation des événements, Sentinel utilise un moteur d'indexation distribué, évolutif appelé Elasticsearch proposé par Elastic.

L'illustration suivante explique les différents composants du stockage évolutif :

Figure 6-1 Architecture du stockage évolutif

  • Messagerie : Sentinel utilise Apache Kafka comme système de messagerie évolutif qui reçoit des événements normalisés ainsi que des données brutes de la part des instances Collector Manager. Les instances Collector Manager envoient des données brutes et d'événements aux grappes Kafka.

    Par défaut, Sentinel crée les rubriques Kafka suivantes :

    • security.events.normalized : stocke toutes les données d'événement traitées et normalisées, y compris les événements générés par le système et les événements internes.

    • security.events.raw : stocke toutes les données brutes provenant des sources d'événements.

    Les événements et les données brutes suivent le schéma Apache Avro. Pour plus d'informations, reportez-vous à la documentation d'Apache Avro. Les fichiers de schéma sont disponibles dans le répertoire /etc/opt/novell/sentinel/scalablestore.

  • Agent : Ce noeud héberge des tâches de traitement en temps réel et de stockage. Apache Spark traite des données à grande échelle en temps réel. Ce traitement consiste notamment à séparer les événements en fonction de leur ID de locataire, nécessitant un grand volume de données ainsi qu'un grand volume de stockage sur le système des enregistrements (SOR) ainsi qu'une indexation évolutive.

    Apache HBase est une banque de données distribuée et évolutive basée sur Hadoop. Elle est utilisée comme SOR pour les événements normalisés et les données brutes, et trie les données en fonction de l'ID de leur locataire.

    En fonction de l'ID du locataire, Sentinel crée un espace de nom distinct pour chaque locataire. Par exemple, l'espace de nom pour le locataire par défaut est 1. Dans chaque espace de nom, Sentinel crée les tables suivantes et stocke les données en fonction de l'heure de l'événement.

    • <ID_locataire>:security.events.normalized: stocke toutes les données d'événement traitées et normalisées, y compris les événements générés par le système et les événements internes.

    • <ID_locataire>:security.events.raw: Stocke toutes les données brutes provenant des sources d'événements.

  • Gestion des grappes : Ce noeud héberge tous les masters et services de gestion des grappes. Apache ZooKeeper agit comme un service centralisé pour la maintenance des informations de configuration, des services d'assignation de nom, offrant une synchronisation distribuée et des services de groupe.

  • Indexation : Sentinel utilise Elasticsearch pour l'indexation distribuée et évolutive des événements. Vous pouvez accéder aux données à partir d'Elasticsearch pour rechercher et visualiser des événements.

    Sentinel crée un index spécial pour chaque jour et utilise le fuseau horaire UTC (de minuit à minuit) pour calculer la date de l'index. Le nom de l'index est au format security.events.normalized_aaaaMMjj. Par exemple, l'index security.events.normalized_20160101 contient tous les événements qui se sont déroulés le 1er janvier 2016. Pour optimiser les performances, Sentinel n'indexe que certains champs d'événement spécifiques. Vous pouvez modifier les champs d'événement que vous souhaitez voir indexés par Elasticsearch. Pour plus d'informations, reportez-vous à la section Réglage des performances pour Elasticsearch.

Configuration du stockage évolutif

Quand vous activez le stockage évolutif, l'interface utilisateur du serveur Sentinel est réduite à la plus grande simplicité : seules y figurent certaines fonctions de Sentinel notamment la collecte de données, la corrélation, le routage d'événements, la recherche et la visualisation des événements, et des activités d'administration. Cette version réduite de Sentinel est appelée SSDM (Sentinel Scalable Data Manager), autrement dit « gestionnaire de données évolutif Sentinel ». Pour accéder aux autres fonctionnalités de Sentinel comme Security Intelligence, la recherche classique et les rapports, vous devez installer des instances distinctes de Sentinel avec un stockage classique des données et acheminer les données d'événements spécifiques depuis SSDM à Sentinel via Sentinel Link.

La liste ci-dessous fournit des informations sur les services et les fonctions non disponibles dans SSDM :

  • Rapports

  • Security Intelligence

  • Opérations sur les événements pendant la recherche

  • Tests des règles de corrélation

  • Création et gestion des incidents

  • Opérations manuelles sur des événements

  • Synchronisation des données

  • Workflows iTRAC

  • Analyse méthodique des événements déclencheurs de l'événement corrélé

  • Visualisation des fichiers joints aux événements pour les événements Secure Configuration Manager et Change Guardian

L'activation du stockage évolutif est une configuration qui n'est effectuée qu'une seule fois et qui ne peut pas être annulée. Pour désactiver le stockage évolutif et passer au mode de stockage traditionnel, il faut réinstaller Sentinel.

La liste de contrôle suivante fournit des informations très détaillées sur les tâches à effectuer pour configurer un stockage évolutif :

Tableau 6-2 Liste de contrôle pour la configuration du stockage évolutif

 

Tâches

Voir

Passez en revue les informations de déploiement pour comprendre comment déployer Sentinel à l'aide d'un stockage évolutif.

Déploiement à trois niveaux à l'aide du stockage évolutif

Passez en revue les conditions préalables et effectuez l'ensemble des tâches requises.

Section 13.0, Installation et configuration du stockage évolutif.

Activez le stockage évolutif.

Vous pouvez activer le stockage évolutif durant l'installation ou après celle-ci.

Pour les installations de mise à niveau, le stockage évolutif ne peut être activé qu'après la mise à niveau de Sentinel.

Pour activer le stockage évolutif pendant l'installation, effectuez une installation personnalisée de Sentinel. Reportez-vous à la Installation personnalisée du serveur Sentinel.

Pour activer le stockage évolutif après l'installation ou la mise à niveau, reportez-vous à la section Enabling Scalable Storage Post-Installation (Activation du stockage évolutif après l'installation) du Sentinel Administration Guide (Guide d'administration de NetIQ Sentinel).

Configurez les composants CDH et Elasticsearch à l'aide de Sentinel.

Section Configuring Scalable Storage (Configuration du stockage évolutif) du Sentinel Administration Guide (Guide d'administration de NetIQ Sentinel).

6.1.3 Structure des répertoires de Sentinel

Par défaut, les répertoires Sentinel se trouvent aux emplacements suivants :

  • Les fichiers de données sont stockés dans les répertoires /var/opt/novell/sentinel/data et /var/opt/novell/sentinel/3rdparty.

  • Les fichiers exécutables et les bibliothèques se trouvent dans le répertoire /opt/novell/sentinel/..

  • Les fichiers journaux se trouvent dans le répertoire /var/opt/novell/sentinel/log.

  • Les fichiers temporaires se trouvent dans le répertoire /var/opt/novell/sentinel/tmp.

  • Les fichiers de configuration se trouvent dans le répertoire /etc/opt/novell/sentinel.

  • Le fichier d'ID de processus (PID) se trouve dans le répertoire /home/novell/run/sentinel/server.pid.

    Le PID permet aux administrateurs d'identifier le processus parent du serveur Sentinel, et de surveiller ou d'y mettre fin.