
Salve, amici! Su abbiamo esaminato le basi del lavoro con i log su FortiAnalyzer. Oggi andremo oltre e considereremo gli aspetti principali della generazione di report: cosa sono i report, da cosa sono composti, come è possibile modificare i report esistenti e crearne di nuovi. Come al solito, iniziamo con un po' di teoria, e poi lavoreremo sui report in pratica. Sotto c'è la parte teorica della lezione, oltre a un video che include sia teoria che pratica.
L'obiettivo principale dei report è quello di unire grandi volumi di dati contenuti nei log e, sulla base delle impostazioni disponibili, presentare tutte le informazioni ottenute in un formato leggibile: sotto forma di grafici, tabelle, diagrammi. Nell'immagine sottostante è riportato un elenco di report preimpostati per i dispositivi FortiGate (non tutti i report sono stati inclusi, ma penso che già da questo elenco sia evidente che anche "out of the box" è possibile generare molti report interessanti e utili).

Ma i report presentano solo le informazioni richieste in forma leggibile — non contengono alcuna raccomandazione sulle azioni successive da intraprendere riguardo ai problemi rilevati.
Le principali componenti dei report sono i grafici. Ogni report è composto da uno o più grafici. I grafici definiscono quali informazioni devono essere estratte dai log e in quale formato presentarli. L'estrazione delle informazioni è gestita dai dataset — query SELECT nel database. È proprio nei dataset che viene specificato esattamente da dove e quali informazioni devono essere estratte. Una volta che la query restituisce i dati necessari, vengono applicate impostazioni di formato (o di visualizzazione). Pertanto, i dati ottenuti vengono organizzati in tabelle, grafici o diagrammi di vari tipi.
Nella query SELECT vengono utilizzati diversi comandi per impostare le condizioni per le informazioni estratte. La cosa più importante da considerare è che i comandi devono essere applicati in un ordine specifico, proprio nell'ordine in cui vengono presentati di seguito:
FROM — è l'unico comando che è obbligatorio nella query SELECT. Indica il tipo di log da cui è necessario estrarre le informazioni;
WHERE — con questo comando si impostano le condizioni per i log (ad esempio, un nome specifico dell'applicazione/attacco/virus);
GROUP BY — questo comando permette di raggruppare le informazioni in base a una o più colonne di interesse;
ORDER BY — con questo comando è possibile ordinare l'output delle informazioni per righe;
LIMIT — limita il numero di record restituiti dalla query.
FortiAnalyzer contiene modelli preinstallati per i rapporti. I modelli fungono da schema del rapporto — contengono il testo del rapporto, i suoi grafici e macro. Utilizzando i modelli, è possibile creare nuovi rapporti se sono necessarie modifiche minime ai preinstallati. Tuttavia, i rapporti preinstallati non possono essere modificati o eliminati — possono essere clonati e i necessari cambiamenti possono essere apportati sulla copia. È inoltre possibile creare propri modelli per i rapporti.

A volte ci si può imbattere nella seguente situazione: un rapporto preinstallato si adatta all'attività, ma non completamente. Potrebbe essere necessario aggiungere qualche informazione o, al contrario, eliminarne alcune. In tal caso, ci sono due opzioni: clonare e modificare il modello o il rapporto stesso. Qui bisogna basarsi su diversi fattori.
I modelli sono un layout per il rapporto, contengono grafici e testo del rapporto, niente di più. I rapporti stessi, invece, oltre al cosiddetto 'layout', contengono vari parametri del rapporto: lingua, font, colore del testo, periodo di generazione, filtraggio delle informazioni e così via. Pertanto, se è necessario apportare modifiche solo al layout del rapporto, è possibile utilizzare i modelli. Se è necessaria una configurazione aggiuntiva del rapporto, è possibile modificare il rapporto stesso (o meglio, la sua copia).
Sulla base dei modelli è possibile creare numerosi rapporti simili, quindi se si prevede di fare molti rapporti simili tra loro, è preferibile utilizzare i modelli.
Nel caso in cui i modelli e i rapporti preinstallati non siano adatti, è possibile creare sia un nuovo modello che un nuovo rapporto.

Inoltre, su FortiAnalyzer è possibile configurare l'invio di rapporti a singoli amministratori via email o il loro caricamento su server esterni. Ciò avviene attraverso il meccanismo Output Profile. In ogni dominio amministrativo vengono configurati Output Profiles separati. Durante la configurazione dell'Output Profile, vengono definiti i seguenti parametri:
- Formati dei rapporti inviati — PDF, HTML, XML o CSV;
- Il luogo a cui verranno inviati i rapporti. Può essere l'email dell'amministratore (per questo è necessario collegare FortiAnalyzer al server di posta, cosa che abbiamo visto nella lezione precedente). Può anche essere un server di file esterno — FTP, SFTP, SCP;
- È possibile specificare cosa fare con i rapporti locali che sono rimasti sul dispositivo dopo l'invio: mantenerli o eliminarli.
Se necessario, è possibile accelerare la generazione dei rapporti. Consideriamo due metodi:
Quando si crea un rapporto, FortiAnalyzer costruisce i grafici dai dati precompilati della cache SQL, noti come hcache. Se i dati hcache non sono stati creati al momento dell'avvio del rapporto, il sistema deve prima creare l'hcache, e poi costruire il rapporto. Questo aumenta il tempo di formazione del rapporto. Tuttavia, se non sono ricevuti nuovi log per il rapporto, durante la rigenerazione, il tempo di generazione del rapporto sarà significativamente ridotto, poiché i dati hcache sono già stati compilati.
Per migliorare le prestazioni nella generazione dei rapporti, è possibile attivare la creazione automatica dell'hcache nelle impostazioni del rapporto. In questo caso, l'hcache si aggiorna automaticamente all'arrivo di nuovi log. Un esempio di configurazione è mostrato nell'immagine sottostante.
Questo processo utilizza una grande quantità di risorse di sistema (specialmente per i rapporti che richiedono molto tempo per raccogliere i dati), quindi dopo averlo attivato, è necessario monitorare lo stato di FortiAnalyzer: se il carico è aumentato significativamente e se c'è consumo critico di risorse di sistema. Se FortiAnalyzer non riesce a gestire il carico, è meglio disattivare questo processo.
Vale anche la pena notare che l'aggiornamento automatico dei dati hcache è attivato di default per i rapporti pianificati.
Il secondo modo per accelerare la generazione dei rapporti è il raggruppamento:
Se vengono generati rapporti identici (o simili) per diversi dispositivi FortiGate (o altri dispositivi Fortinet), è possibile accelerare notevolmente il processo di generazione raggruppandoli. Il raggruppamento dei rapporti può ridurre il numero di tabelle hcache e accelerare i tempi di caching automatico, con conseguente accelerazione nella generazione dei rapporti.
Nell'esempio mostrato nell'immagine sottostante, i rapporti che contengono la stringa Security_Report nel titolo sono raggruppati in base al parametro Device ID.

Nel video tutorial viene presentato il materiale teorico discusso sopra, oltre a considerare gli aspetti pratici del lavoro con i report: dalla creazione di dataset e grafici personalizzati, modelli e report, fino alla configurazione dell'invio dei report agli amministratori. Buona visione!
Nella prossima lezione esploreremo diversi aspetti dell'amministrazione di FortiAnalyzer e lo schema della sua licenza. Per non perderlo, iscriviti al nostro .
Puoi anche seguire gli aggiornamenti sulle seguenti risorse:
Fonte: habr.com
