Come installare e utilizzare Osquery in Ubuntu

Come installare e utilizzare Osquery in Ubuntu
Osquery è un'utilità software open source e cross piattaforma che può essere utilizzata per esporre un sistema operativo come database relazionale. Possiamo ottenere dati dal sistema operativo eseguendo query basate su SQL. In questo blog vedremo come installare Osquery In Ubuntu e come usarlo per ottenere dati dal sistema operativo.

Installazione di Osquery in Ubuntu

Osquery I pacchetti non sono disponibili nel repository Ubuntu predefinito, quindi prima di installarlo dobbiamo aggiungere il Osquery Repository APT eseguendo il seguente comando nel terminale.

ubuntu@ubuntu: ~ $ echo "deb [arch = amd64] https: // pkg.Osquery.io/deb deb main "|
sudo tee/etc/apt/fonti.elenco.d/osquery.elenco

Ora importeremo la chiave di firma eseguendo il seguente comando nel terminale.

ubuntu@ubuntu: ~ $ sudo apt-key adv --Keyserver Keyserver.Ubuntu.com
--RECV-Keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B

Dopo aver importato la chiave di firma, ora aggiorna il sistema eseguendo il seguente comando nel terminale.

ubuntu@ubuntu: ~ $ sudo apt-get update

Ora installa Osquery eseguendo il seguente comando

ubuntu@ubuntu: ~ $ sudo apt-get Installa Osquery

Dopo l'installazione Osquery, Ora dobbiamo verificare se è stato installato correttamente eseguendo il comando seguente

ubuntu@ubuntu: ~ $ Osqueryi -Version

Se fornisce la seguente uscita, è installato correttamente

Usando Osquery

Ora dopo l'installazione, siamo pronti per l'uso Osquery. Esegui il comando seguente per andare al prompt della shell interattivo

ubuntu@ubuntu: ~ $ osqueryi

Ottenere aiuto

Ora possiamo eseguire query basate su SQL per ottenere dati dal sistema operativo. Possiamo chiedere aiuto Osquery eseguendo il seguente comando nella shell interattiva.

Osquery> .aiuto

Ottenere tutti i tavoli

Come menzionato prima, Osquery Espone i dati dal sistema operativo come database relazionale in modo da avere tutti i dati sotto forma di tabelle. Possiamo ottenere tutte le tabelle eseguendo il seguente comando nella shell interattiva

Osquery> .tavoli

Come possiamo vedere che eseguendo il comando sopra possiamo ottenere un sacco di tavoli. Ora possiamo ottenere dati da queste tabelle eseguendo query basate su SQL.

Elencare informazioni su tutti gli utenti

Possiamo vedere tutte le informazioni sugli utenti eseguendo il seguente comando nella shell interattiva

Osquery> Seleziona * dagli utenti;

Il comando sopra visualizzerà GID, UID, Descrizione ecc. di tutti gli utenti

Possiamo anche estrarre solo i dati pertinenti sugli utenti, ad esempio, vogliamo vedere solo gli utenti e non altre informazioni sugli utenti. Esegui il comando seguente nella shell interattiva per ottenere i nomi utente

Osquery> Seleziona nome utente dagli utenti;

Il comando sopra mostrerà tutti gli utenti nel tuo sistema

Allo stesso modo possiamo ottenere nomi utente insieme alla directory in cui l'utente esiste eseguendo il comando seguente.

Osquery> Seleziona nome utente, directory dagli utenti;

Allo stesso modo possiamo interrogare tutti i campi che vogliamo eseguendo i comandi simili.

Possiamo anche ottenere tutti i dati di utenti specifici. Ad esempio, vogliamo ottenere tutte le informazioni sull'utente root. Possiamo ottenere tutte le informazioni sull'utente root eseguendo il comando seguente.

Osquery> Seleziona * da utenti dove username = "root";

Possiamo anche ottenere dati specifici da campi specifici (colonne). Ad esempio, vogliamo ottenere l'ID del gruppo e il nome utente dell'utente. Esegui il comando seguente per ottenere questi dati.

Osquery> Seleziona nome utente, GID da utenti dove username = "root"

In questo modo possiamo interrogare tutto ciò che vogliamo da un tavolo.

Elencare tutti i processi

Possiamo elencare i primi cinque processi in esecuzione in Ubuntu eseguendo il seguente comando nella shell interattiva

Osquery> Seleziona * dal limite dei processi 5;

Poiché ci sono molti processi in esecuzione nel sistema, quindi abbiamo visualizzato solo cinque processi utilizzando la parola chiave limite.

Possiamo trovare l'ID processo di un processo specifico, ad esempio, vogliamo trovare l'ID processo di MongoDB, quindi eseguiremo il seguente comando nella shell interattiva

Osquery> Seleziona PID da processi in cui Name = "Mongod";

Trovare la versione di Ubuntu

Possiamo trovare la versione del nostro sistema Ubuntu eseguendo il seguente comando nella shell interattiva

Osquery> Seleziona * da OS_VERSION;

Ci mostrerà la versione del nostro sistema operativo

Verifica delle interfacce di rete e degli indirizzi IP

Possiamo controllare l'indirizzo IP, la maschera di sottorete delle interfacce di rete eseguendo la seguente query nella shell interattiva.

Osquery> Seleziona interfaccia, indirizzo, maschera da interface_addresses
Dove interfaccia non come "%lo%";

Verifica dell'accesso agli utenti

Possiamo anche controllare gli utenti dell'accesso sul tuo sistema interrogando i dati dalla tabella "Logged_in_users". Esegui il seguente comando per trovare gli utenti dell'accesso.

OsQuery> Seleziona utente, host, tempo da logged_in_users dove tty non mi piace '-';

Controllo della memoria del sistema

Possiamo anche controllare la memoria totale, la memoria della memoria libera, ecc. eseguendo alcuni comandi basati su SQL nella shell interattiva. Per controllare la memoria totale eseguire il comando seguente. Questo ci darà una memoria totale del sistema in byte.

Osquery> Seleziona Memory_Total da Memory_Info;

Per controllare la memoria gratuita del sistema esegui la seguente query nella shell interattiva

Osquery> Seleziona Memory_Free da Memory_Info;

Quando eseguiamo il comando sopra, ci fornirà memoria gratuita disponibile nel nostro sistema

Possiamo anche controllare la memoria memorizzata nella cache del sistema usando la tabella Memory_info eseguendo la seguente query.

Osquery> Seleziona memorizzato nella cache da Memory_info;

Elencare i gruppi

Possiamo trovare tutti i gruppi nel tuo sistema eseguendo la seguente query nella shell interattiva

Osquery> Seleziona * dai gruppi;

Visualizzazione delle porte di ascolto

Possiamo visualizzare tutte le porte di ascolto del nostro sistema eseguendo il seguente comando nella shell interattiva

Osquery> Seleziona * da ascolto_ports;

Possiamo anche verificare se una porta sta ascoltando o meno eseguendo il seguente comando nella shell interattiva

Osquery> Seleziona porta, indirizzo da ascolto_port dove port = 27017;

Questo ci darà output come mostrato nella figura seguente

Conclusione

Osquery è un'utilità software molto utile per trovare qualsiasi tipo di informazione sul tuo sistema. Se sei già a conoscenza delle query basate su SQL, è molto facile da usare per te o se non sei a conoscenza delle query basate su SQL, ho fatto del mio meglio per mostrarti alcune domande importanti che sono utili per trovare dati. Puoi trovare qualsiasi tipo di dati da qualsiasi tabella eseguendo query simili.