Come installare Osquery sulla top 10 di Debian

Come installare Osquery sulla top 10 di Debian
In questo tutorial di Osquery, inizieremo discutendo cos'è Osquery, come funziona, come installarlo su Debian, una rapida introduzione a SQL e infine costruire un progetto che dettaglia come integrare Osquery con lo stack ELK.

Per mantenere questo tutorial conciso, non ci immergeremo in profondità nel "cosa" e "come" della pila di alci. Invece, discuteremo rapidamente e direttamente come usarlo con Osquery. Supponiamo inoltre che tu abbia una conoscenza pratica di SQL-the fornita nonostante).

Cos'è Osquery?

Sviluppato da Facebook, Osquery è uno strumento open source multipiattaforma utilizzata per interrogare e monitorare i sistemi utilizzando query basate su SQL.

Osquery può interagire con il sistema e raccogliere informazioni dettagliate come utilizzo della memoria, processi di esecuzione, moduli del kernel caricato, eventi hardware, connessioni di rete, ecc. Lo strumento funziona su tutti i sistemi, tra cui Windows, Linux, Mac e BSD.

Utilizzando Osquery, è possibile creare query SQL che visualizzano informazioni sul sistema e utilizzare queste informazioni per monitorare e analizzare i dati raccolti.

Come installare Osquery sui sistemi Debian

L'installazione di Osquery su Debian Systems è molto semplice e sebbene non sia disponibile nei principali repository di Debian, aggiungendo che è piuttosto semplice.

Diamo un'occhiata al primo metodo che puoi utilizzare per installare Osquery su Debian:

Il primo e più semplice passo è scaricare il programma di installazione DEB dalla pagina principale:

https: // pkg.Osquery.io/deb/osquery_4.6.0-1.linux_amd64.Deb

wget https: // pkg.Osquery.io/deb/osquery_4.6.0-1.linux_amd64.Deb
sudo dpkg -i osquery_4.6.0-1.linux_amd64.Deb

Raccomandiamo il metodo di cui sopra poiché i pacchetti DEB hanno pochissime dipendenze dalla maggior parte delle distribuzioni Debian. Tuttavia, se si desidera aggiungere ad Apt, usa il metodo successivo.

Immettere i seguenti comandi per installare Osquery dai repository.

EXPORT OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Sudo Apt-Key Adv --Keyserver HKP: // keyserver.Ubuntu.com: 80-recv-chiavi $ osquery_key
sudo add-apt-repository 'deb [arch = amd64] https: // pkg.Osquery.io/deb deb main '
Sudo Apt-get Aggiornamento
sudo apt-get installa osquery

Come usare Osquery su Debian 10

Prima di immergerti in profondità nella costruzione di script automatizzati e di lavorare con lo stack di Elk, discutiamo di un semplice utilizzo di Osquery sul sistema locale.

Osquery ha tre componenti principali che puoi utilizzare per interagire con l'API.

Osquery: Il primo componente è Osqueryi, una sessione di shell interattiva. La modalità Osqueryi è del tutto autonoma e non richiede l'interazione con il demone Osquery-osquery. Utilizzando la modalità Osqueryi, è possibile eseguire le query SQL in modo interattivo ed esplorare il sistema corrente simile a una shell SQL.

NOTA: Osquery rispetta gli spazi utente e se si esegue la shell come modalità utente normale, non avrai accesso a tabelle privilegiate.

Osqueryd: L'altro componente è Osqueryd, il demone Osquery utilizzato per programmare le domande e registrare le modifiche allo stato in background. Il demone funziona aggregando i risultati delle query eseguiti in un periodo di tempo specifico e genera registri utilizzati per confrontare le modifiche allo stato di ogni query.

Osqueryctl: Il terzo componente è OsQueryCtl, uno script helper utilizzato per testare la configurazione di distribuzione. Puoi anche usarlo come responsabile del servizio Osquery, permettendoti di iniziare e fermare il servizio.

Out Out Of On Of Box, Osquery non è altro che un semplice strumento per interrogare informazioni sul sistema. Tuttavia, quando si combinano le query per creare dati ben ordinati e aggregati, diventa più di uno strumento di query.

Per ottenere Rollin ', iniziamo con le basi per capire come funziona:

Il primo passo è ottenere aiuto con il comando:

sudo Osqueryd - -help

Questo comando visualizzerà l'aiuto del demone Osquery, con un elenco di argomenti che puoi utilizzare nella shell.

Il prossimo e il modo più semplice per interagire con Osquery è utilizzare la sessione di Osqueryi. Ad esempio, se si esegue il comando Osqueryi senza un argomento, ti lascerai cadere in una shell simile a SQL:

Sudo Osqueryi

All'interno della shell di Osqueryi, è possibile eseguire comandi e sintassi SQL per selezionare informazioni specifiche sul sistema.

Per visualizzare la modalità di aiuto all'interno della shell di Osqueryi, utilizzare il comando:

Osquery> .aiuto

L'esecuzione di questo comando dovrebbe visualizzare la guida per quanto riguarda la sessione di Osquery.

Poiché Osquery è un mapper di database relazionale per il sistema, ha un elenco di tabelle che è possibile utilizzare per selezionare le informazioni dall'uso di query SQLite.

NOTA: Le query di Osquery sono basate su SQLite. È possibile fare riferimento alla sua documentazione se Osquery non fornisce informazioni sufficienti:

https: // www.sqlite.org/indice.html

All'interno della shell di Osqueryi, usa il comando:

Osquery> .tavoli

Questo comando elenca le tabelle disponibili contenenti informazioni di sistema.

Da lì, puoi selezionare le informazioni dagli schemi disponibili. Ad esempio, visualizzare le informazioni sui risolutori DNS.

Seleziona * da dns_resolvers;

A seconda dello schema che richiedi, otterrai un carico di informazioni e potrebbe essere necessario utilizzare una combinazione di query SQL per dargli un senso.

Puoi saperne di più sulle tabelle e sugli schemi di Osquery dalla seguente risorsa:

    https: // osquery.io/schema

Una guida SQL di base

Osquery funziona utilizzando query di sintassi SQLite per raccogliere informazioni su un sistema. Non ho idea del perché Facebook abbia scelto questo percorso, ma funziona.

Questo semplice tutorial discuterà delle basi SQLite per spiegare come puoi usarlo per interagire con Osquery.

NOTA: Questo non intende in alcun modo essere una guida per SQL o lingue correlate. Per ulteriori guide specifiche del linguaggio, consultare la documentazione primaria.

Selezione di voci specifiche da una tabella

Utilizzando la sintassi SQLite di base, possiamo selezionare informazioni specifiche da una tabella utilizzando l'istruzione Seleziona come mostrato:

Seleziona PID, nome, percorso dai processi;

Aggiunta di funzioni SQL

Osquery supporta anche le funzioni SQL, consentendo di eseguire varie azioni con i dati raccolti dalle query.

Ad esempio, la funzione di conteggio può consentire di visualizzare il numero di utenti nel sistema.

Seleziona COUNT (*) dagli utenti;

Questo comando restituirà il numero totale di utenti nel sistema.

La capacità di Osquery di utilizzare la sintassi SQL è un enorme vantaggio che può aiutarti a creare set di dati complessi che possano darti un'analisi più approfondita di un sistema. Crea anche un ponte che gli sviluppatori SQL utilizzano motori come PostgreSQL, MySQL e altri possono usare per adattarsi con facilità.

https: // osquery.PRIEDTHOCS.IO/EN/STABLE/INTRODUZIONE/SQL/

Un progetto divertente, laterale

Quando esplori ulteriormente Osquery e sperimentalo, scoprirai che è uno strumento completo e potente che semplifica la creazione di progetti specificamente sintonizzati per monitorare i sistemi.

A causa dell'ambito di questo tutorial ed evitare di confondere i principianti, non approfondiremo progetti complessi. Ciò menzionato, ecco alcuni strumenti che puoi creare usando Osquery:

  • Raccogli i registri con Logstash
  • Costruisci una dashboard di monitoraggio del sistema con ElasticSearch, Logstash e Kibana.
  • Costruisci la flotta di Osquery con kolide

https: // osquery.PRIEDTHOCS.io/en/stable/distribuzione/log-aggregazione/
https: // www.elastico.CO/GUIDA/EN/BEATS/FILEBEAT/7.10/filebeat-module-osquery.html
https: // github.com/floetdm/flotta

Conclusione

In questo tutorial, abbiamo esaminato le basi di Osquery, incluso come usarlo per raccogliere informazioni sul sistema.

Sebbene non completa, questa guida si è proposta per fornirti un'introduzione rapida e diretta a Osquery; Non era affatto una guida di riferimento.

Sentiti libero di utilizzare altre risorse per ottenere una comprensione più profonda dei vari concetti che abbiamo discusso in questo tutorial.