6.1 Considerazioni sulla memorizzazione dei dati

Per memorizzare e indicizzare i dati di Sentinel, è possibile scegliere, in base alla frequenza EPS, se utilizzare la memorizzazione tradizionale o la memorizzazione scalabile. Il tipo di installazione di Sentinel dipende dall'opzione di memorizzazione che si intende utilizzare.

Tabella 6-1 Confronto tra memorizzazione tradizionale e memorizzazione scalabile

Memorizzazione tradizionale

Memorizzazione scalabile

I dati vengono memorizzati nella memorizzazione tradizionale basata su file e l'indicizzazione viene eseguita in locale nel server Sentinel.

I dati vengono memorizzati nella memorizzazione scalabile basata su Hadoop e per l'indicizzazione si utilizza un meccanismo scalabile distribuito.

È facilmente scalabile in verticale fino a circa 20000 EPS. Per ottenere EPS molto più elevati, è necessario aggiungere ulteriori server Sentinel.

È facilmente scalabile in orizzontale fino a EPS molto elevati, ad esempio 1 milione di eventi al secondo.

La raccolta dei dati è bilanciata in base al carico fra vari server Sentinel. Di conseguenza, i dati vengono distribuiti su diversi server Sentinel e devono essere gestiti singolarmente.

La raccolta dei dati viene gestita da un solo server Sentinel. Di conseguenza, la gestione di dati e risorse è centralizzata in un solo server Sentinel.

I dati vengono contrassegnati in base ai tenant, ma su disco non vengono suddivisi in base a tale criterio.

I dati vengono contrassegnati e suddivisi in base ai tenant su disco.

La replica dei dati e la disponibilità devono essere eseguite manualmente o tramite costosi meccanismi di memorizzazione, ad esempio dischi SAN.

Disponibilità e replica dei dati sono economicamente convenienti poiché Hadoop viene eseguito su hardware standard.

6.1.1 Pianificazione per la memorizzazione tradizionale

La memorizzazione dati tradizionale è strutturata su tre livelli:

Memorizzazione online

Memorizzazione primaria, in precedenza denominata memorizzazione locale.

ottimizzata per scrittura e recupero rapidi. Vengono memorizzati i dati degli ultimi eventi raccolti e quelli su cui vengono effettuate ricerche con maggiore frequenza.

Memorizzazione secondaria, in precedenza denominata memorizzazione in rete. (facoltativo).

Ottimizzata per ridurre l'utilizzo dello spazio o, in alternativa, memorizzazione a costi inferiori che supporta comunque il recupero rapido. In Sentinel viene eseguita la migrazione automatica delle partizioni dei dati nella memorizzazione secondaria.

NOTA:l'utilizzo della memorizzazione secondaria è facoltativo. Le policy di conservazione dei dati, le ricerche e i rapporti vengono eseguiti sulle partizioni dei dati degli eventi a prescindere dal fatto che risiedano nella memorizzazione primaria, secondaria o in entrambe.

Memorizzazione offline

Memorizzazione di archiviazione

Quando le partizioni vengono chiuse, è possibile eseguirne il backup su qualsiasi servizio di memorizzazione file, come Amazon Glacier. È possibile importare di nuovo temporaneamente le partizioni affinché possano essere utilizzate ogni volta che risulti necessario, ad esempio durante analisi forensi a lungo termine.

Infine, è possibile configurare Sentinel per l'estrazione dei dati e dei riepiloghi degli eventi in un database esterno utilizzando le policy di sincronizzazione. Per ulteriori informazioni, vedere Configurazione della sincronizzazione dei dati nella NetIQ Sentinel Administration Guide (Guida all'amministrazione di NetIQ Sentinel 7.0.1).

Quando si installa Sentinel, montare la partizione del disco per la memorizzazione primaria nell'ubicazione in cui è installato Sentinel; di default la directory /var/opt/novell.

Affinché i calcoli di utilizzo del disco vengano eseguiti correttamente, l'intera struttura della directory /var/opt/novell/sentinel deve risiedere su una partizione con un solo disco. In caso contrario, le funzionalità automatiche di gestione dei dati potrebbero eliminare prematuramente alcuni dati degli eventi. Per ulteriori informazioni sulla struttura delle directory di Sentinel, vedere il Struttura delle directory di Sentinel.

Come best practice, questa directory deve essere ubicata in una partizione diversa da quella in cui risiedono i file eseguibili, di configurazione e del sistema operativo. La memorizzazione in una partizione separata dei dati variabili facilita il backup di set di file e il recupero in caso di danneggiamento, oltre a garantire maggiore solidità in caso di riempimento di una partizione del disco. Inoltre, viene migliorata la prestazione complessiva dei sistemi in cui i file system di dimensioni più ridotte risultano più efficienti. Per ulteriori informazioni, vedere Partizione del disco.

NOTA:Per i file system ext3 sussiste una limitazione relativa alla memorizzazione dei file, che impedisce a una directory di contenere più di 32000 file o sottodirectory. Qualora si desideri disporre di un numero elevato di policy di permanenza o si intenda conservare i dati per lunghi periodi di tempo, ad esempio per un anno, NetIQ consiglia di utilizzare il file XSF.

Utilizzo delle partizioni in installazioni tradizionali

Nelle installazioni tradizionali è possibile modificare il layout della partizione del disco riservata al sistema operativo prima di installare Sentinel. L'amministratore deve creare e montare le partizioni desiderate nelle directory appropriate, in base alla struttura delle directory descritta in Struttura delle directory di Sentinel. Quando si esegue il programma di installazione, Sentinel viene installato nelle directory già predisposte, espandendosi in più partizioni.

NOTA:

  • Durante l'esecuzione del programma di installazione è possibile utilizzare l'opzione --location per specificare un'ubicazione di livello superiore diversa da quella delle directory di default in cui memorizzare il file. Il valore impostato per l'opzione --location è posto all'inizio dei percorsi delle directory. Ad esempio, se viene specificato --location=/foo, la directory dati sarà /foo/var/opt/novell/sentinel/data e la directory di configurazione sarà /foo/etc/opt/novell/sentinel/config.

  • Non utilizzare i collegamenti del file system (ad esempio, i collegamenti simbolici) per l'opzione --location.

Utilizzo delle partizioni in installazioni in modalità applicazione

Se si utilizza il formato applicazione ISO DVD, è possibile configurare il partizionamento del filesystem dell'applicazione durante l'installazione seguendo le istruzioni visualizzate nelle schermate di YaST. Ad esempio, è possibile creare una partizione separata per il punto di montaggio /var/opt/novell/sentinel e collocare tutti i dati nella partizione separata. Per gli altri formati dell'applicazione è possibile configurare il partizionamento solo dopo l'installazione. Mediante lo strumento SuSE YaST di configurazione del sistema si possono aggiungere partizioni e spostare una directory in una nuova partizione. Per informazioni sulla creazione di partizioni dopo l'installazione, vedere la Creazione di partizioni per la memorizzazione tradizionale.

Best practice per il layout delle partizioni

Numerose organizzazioni utilizzano schemi specifici e documentati come best practice di layout delle partizioni dei sistemi installati. La proposta seguente relativa alle partizioni può essere utilizzata come linea guida dalle organizzazioni che non hanno una policy definita e si basa sull'utilizzo specifico che Sentinel fa del file system. In linea generale Sentinel è conforme allo standard FHS (Filesystem Hierarchy Standard) ove applicabile.

Partizione

Punto di montaggio

Dimensioni

Note

Radice

/

100 GB

Vi risiedono i file del sistema operativo e quelli binari/di configurazione di Sentinel.

Avvio

/boot

150 MB

Partizione di avvio

Memorizzazione primaria

/var/opt/novell/sentinel

Eseguire il calcolo utilizzando le informazioni sulle dimensioni del sistema.

In questa area risiedono i dati primari raccolti da Sentinel e altri dati variabili come i file di log. Questa partizione può essere condivisa con altri sistemi.

Memorizzazione secondaria

Ubicazione che dipende dal tipo di memorizzazione, NFS, CIFS o SAN.

Eseguire il calcolo utilizzando le informazioni sulle dimensioni del sistema.

Area della memorizzazione secondaria che può essere montata localmente come mostrato o in remoto.

Memorizzazione di archiviazione

Sistema remoto

Eseguire il calcolo utilizzando le informazioni sulle dimensioni del sistema.

Questa memorizzazione è riservata ai dati archiviati.

6.1.2 Pianificazione per la memorizzazione scalabile

Per la memorizzazione e la gestione di grandi volumi di dati, NetIQ certifica il framework CDH (Cloudera’s Distribution Including Apache Hadoop). Per l'indicizzazione degli eventi, Sentinel utilizza un motore di indicizzazione scalabile e distribuito denominato Elasticsearch e sviluppato da Elastic.

Nella figura seguente sono illustrati i vari componenti utilizzati nella memorizzazione scalabile:

Figura 6-1 Architettura della memorizzazione scalabile

  • Messaggistica: Sentinel utilizza Apache Kafka come sistema di messaggistica scalabile che riceve eventi normalizzati e dati non elaborati dalle istanze di Collector Manager. Le istanze di Collector Manager inviano i dati non elaborati e i dati degli eventi ai cluster Kafka.

    Per default, in Sentinel vengono creati gli argomenti Kafka seguenti:

    • security.events.normalized: memorizza tutti i dati degli eventi elaborati e normalizzati, inclusi quelli generati dal sistema e quelli interni.

    • security.events.raw: memorizza tutti i dati non elaborati provenienti dalle origini eventi.

    Eventi e dati non elaborati seguono lo schema Avro Apache. Per ulteriori informazioni, vedere la documentazione di Apache Avro. I file dello schema sono disponibili nella directory /etc/opt/novell/sentinel/scalablestore.

  • Dipendente: in questo nodo vengono ospitati lavori di storage ed elaborazione in tempo reale. Apache Spark effettua l'elaborazione in tempo reale di grandi quantità di dati, come la suddivisione degli eventi in base agli ID dei tenant, la richiesta di grossi volumi di dati e la loro memorizzazione in un sistema di record (SOR), nonché l'indicizzazione scalabile.

    Apache HBase è un archivio dati distribuito e scalabile basato su Hadoop. Viene utilizzato come SOR per gli eventi normalizzati e i dati non elaborati, suddivisi in base agli ID dei tenant.

    Utilizzando l'ID del tenant, in Sentinel viene creato uno spazio dei nomi separato per ciascun tenant. Ad esempio, lo spazio dei nomi per il tenant di default è 1. In ogni spazio dei nomi, Sentinel crea le tabelle seguenti e memorizza i dati in base all'orario degli eventi.

    • <ID_tenant>:security.events.normalized: memorizza tutti i dati degli eventi elaborati e normalizzati, inclusi quelli generati dal sistema e quelli interni.

    • <ID_tenant>:security.events.raw: memorizza tutti i dati non elaborati provenienti dalle origini eventi.

  • Gestione cluster: in questo nodo sono ospitati tutti i servizi master e di gestione del cluster. Apache ZooKeeper funge da servizio centralizzato per la manutenzione delle informazioni di configurazione, i servizi di denominazione, la sincronizzazione distribuita e l'erogazione dei servizi di gruppo.

  • Indicizzazione: Sentinel utilizza Elasticsearch come motore di indicizzazione scalabile e distribuito per gli eventi di indicizzazione. Per cercare e visualizzare gli eventi, è possibile accedere ai dati provenienti da Elasticsearch.

    In Sentinel viene creato un apposito indice quotidiano e per calcolare la data d'indicizzazione si utilizza il fuso orario UTC (mezzanotte-mezzanotte). Il nome dell'indice è nel formato security.events.normalized_aaaaMMgg. Ad esempio, l'indice security.events.normalized_20160101 contiene tutti gli eventi con EventTime 01 gennaio 2016. Per garantire prestazioni ottimali, in Sentinel vengono indicizzati solo alcuni campi di eventi specifici. È possibile modificare i campi degli eventi che si desidera indicizzare tramite Elasticsearch. Per ulteriori informazioni, vedere Performance Tuning in SSDM (Ottimizzazione delle prestazioni in SSDM) nella NetIQ Sentinel Administration Guide (Guida all'amministrazione di NetIQ Sentinel).

Configurazione della memorizzazione scalabile

Quando si abilita la memorizzazione scalabile, l'interfaccia utente del server Sentinel viene ridotta in modo da consentire soltanto alcune funzionalità, quali la raccolta dati, la correlazione e l'instradamento degli eventi, la ricerca e la visualizzazione degli eventi, nonché alcune attività di amministrazione. Questa versione ridotta di Sentinel è denominata Sentinel Scalable Data Manager (SSDM). Per le altre funzionalità di Sentinel, quali Security Intelligence e le normali funzioni di ricerca e generazione di rapporti, è necessario installare istanze separate di Sentinel con la memorizzazione tradizionale e instradare i dati specifici degli eventi da SSDM a Sentinel utilizzando Collegamento Sentinel.

Nell'elenco seguente vengono fornite informazioni sui servizi e le funzionalità non disponibili in SSDM:

  • Rapporti

  • Security Intelligence

  • Esecuzione di operazioni evento

  • Prova delle regole di correlazione

  • Creazione e gestione dei casi

  • Esecuzione manuale di azioni su eventi

  • Sincronizzazione dei dati

  • Workflow iTRAC

  • Analisi forense sugli eventi che attivano l'evento correlato

  • Visualizzazione di allegati evento per eventi Secure Configuration Manager e Change Guardian

L'abilitazione della memorizzazione scalabile è una configurazione che si esegue una sola volta e non può essere ripristinata. Per disabilitare la memorizzazione scalabile e passare alla memorizzazione tradizionale, è necessario reinstallare Sentinel.

Nell'elenco di controllo seguente sono riportate le informazioni generali sui task che è necessario eseguire per configurare la memorizzazione scalabile:

Tabella 6-2 Elenco di controllo per la configurazione della memorizzazione scalabile

 

Task

Vedere

Riesaminare le informazioni sull'installazione per verificare le operazioni da eseguire per installare Sentinel con la memorizzazione scalabile.

Installazione su tre livelli con memorizzazione scalabile

Riesaminare i prerequisiti ed effettuare tutti i task necessari.

Sezione 12.0, Installazione e configurazione della memorizzazione scalabile.

Abilitare la memorizzazione scalabile.

È possibile abilitare la memorizzazione scalabile sia durante che dopo l'installazione.

Nelle installazioni di upgrade, la memorizzazione scalabile può essere abilitata solo dopo aver eseguito l'upgrade di Sentinel.

Per abilitare la memorizzazione scalabile durante l'installazione, eseguire un'installazione personalizzata di Sentinel. Vedere Installazione personalizzata del server Sentinel.

Per abilitare la memorizzazione scalabile dopo l'installazione o dopo l'upgrade, vedere Enabling Scalable Storage Post-Installation (Abilitazione della memorizzazione scalabile dopo l'installazione) nella NetIQ Sentinel Administration Guide (Guida all'amministrazione di NetIQ Sentinel).

Configurare i componenti di CDH ed Elasticsearch con Sentinel.

Configuring Scalable Storage (Configurazione della memorizzazione scalabile) nella NetIQ Sentinel Administration Guide (Guida all'amministrazione di NetIQ Sentinel).

6.1.3 Struttura delle directory di Sentinel

Per default, le directory di Sentinel risiedono nelle ubicazioni seguenti:

  • I file di dati risiedono nelle directory /var/opt/novell/sentinel/data e /var/opt/novell/sentinel/3rdparty.

  • I file eseguibili e le librerie risiedono nella directory /opt/novell/sentinel.

  • I file di log risiedono nella directory·/var/opt/novell/sentinel/log.

  • I file temporanei risiedono nella directory·/var/opt/novell/sentinel/tmp.

  • I file di configurazione risiedono nella directory /etc/opt/novell/sentinel.

  • Il file ID di processo (PID) risiede nella directory /home/novell/sentinel/server.pid.

    Mediante il file PID, gli amministratori possono identificare il processo superiore del server Sentinel e controllare o terminare il processo.