Hvordan installere og bruke Osquery i Ubuntu

Hvordan installere og bruke Osquery i Ubuntu
Osquery er en åpen kildekode og tverrplattformprogramvareverktøy som kan brukes til å eksponere et operativsystem som en relasjonsdatabase. Vi kan få data fra operativsystemet ved å kjøre SQL -baserte spørsmål. I denne bloggen vil vi se hvordan du installerer Osquery i Ubuntu og hvordan du bruker det til å få data fra operativsystemet.

Installere Osquery i Ubuntu

Osquery Pakker er ikke tilgjengelige i standard Ubuntu -depot, så før vi installerer det, må vi legge til Osquery APT -depot ved å kjøre følgende kommando i terminalen.

ubuntu@ubuntu: ~ $ ekko "Deb [arch = amd64] https: // pkg.Osquery.IO/Deb Main "|
sudo tee/etc/apt/kilder.liste.d/osquery.liste

Nå vil vi importere signeringsnøkkelen ved å kjøre følgende kommando i terminalen.

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

Etter å ha importert signeringsnøkkelen, oppdater nå systemet ditt ved å kjøre følgende kommando i terminalen.

ubuntu@ubuntu: ~ $ sudo apt-get update

Nå installer Osquery Ved å kjøre følgende kommando

ubuntu@ubuntu: ~ $ sudo apt-get install osquery

Etter installasjon Osquery, Nå må vi sjekke om det er installert riktig ved å kjøre følgende kommando

ubuntu@ubuntu: ~ $ osqueryi --version

Hvis den gir følgende utdata, er den installert riktig

Bruke Osquery

Nå etter installasjonen er vi klare til å bruke Osquery. Kjør følgende kommando for å gå til Interactive Shell -ledeteksten

ubuntu@ubuntu: ~ $ osqueryi

Får hjelp

Nå kan vi kjøre SQL -baserte spørsmål for å få data fra operativsystemet. Vi kan få hjelp til Osquery Ved å kjøre følgende kommando i det interaktive skallet.

osquery> .hjelp

Få alle bordene

Som nevnt tidligere, Osquery Eksponerer data fra operativsystemet som en relasjonsdatabase, slik at den har alle dataene i form av tabeller. Vi kan få alle tabellene ved å kjøre følgende kommando i det interaktive skallet

osquery> .bord

Som vi kan se at ved å kjøre kommandoen ovenfor kan vi få en haug med bord. Nå kan vi få data fra disse tabellene ved å kjøre SQL -baserte spørsmål.

Oppgi informasjon om alle brukerne

Vi kan se all informasjonen om brukere ved å kjøre følgende kommando i det interaktive skallet

Osquery> Velg * fra brukere;

Kommandoen ovenfor vil vise gid, uid, beskrivelse osv. av alle brukerne

Vi kan også trekke ut bare relevante data om brukere, for eksempel vil vi bare se brukerne og ikke annen informasjon om brukere. Kjør følgende kommando i det interaktive skallet for å få brukernavnene

Osquery> Velg brukernavn fra brukere;

Kommandoen ovenfor vil vise alle brukerne i systemet ditt

På samme måte kan vi få brukernavn sammen med katalogen som brukeren eksisterer ved å kjøre følgende kommando.

Osquery> Velg brukernavn, katalog fra brukere;

På samme måte kan vi spørre så mange felt som vi vil ved å kjøre lignende kommandoer.

Vi kan også få alle dataene til spesifikke brukere. For eksempel ønsker vi å få all informasjonen om rotbrukeren. Vi kan få all informasjonen om rotbrukeren ved å kjøre følgende kommando.

Osquery> Velg * fra brukere der brukernavn = "root";

Vi kan også få spesifikke data fra spesifikke felt (kolonner). For eksempel ønsker vi å få gruppe -ID og brukernavn til rotbrukeren. Kjør følgende kommando for å få disse dataene.

Osquery> Velg brukernavn, GID fra brukere der brukernavn = ”root”

På denne måten kan vi spørre hva vi vil ha fra en tabell.

Liste over alle prosessene

Vi kan liste opp første fem prosesser som kjører i Ubuntu ved å kjøre følgende kommando i det interaktive skallet

osquery> velg * fra prosesser grense 5;

Ettersom det er mange prosesser som kjører i systemet, har vi bare vist fem prosesser ved å bruke Limit Keyword.

Vi kan finne prosess -ID for en spesifikk prosess for eksempel vi ønsker å finne prosess -IDen til MongoDB, slik at vi kjører følgende kommando i det interaktive skallet

OSQUERY> Velg PID fra prosesser der name = "Mongod";

Finne versjon av Ubuntu

Vi kan finne versjonen av Ubuntu -systemet vårt ved å kjøre følgende kommando i det interaktive skallet

osquery> velg * fra OS_VERSion;

Det vil vise oss versjonen av operativsystemet vårt

Kontrollere nettverksgrensesnitt og IP -adresser

Vi kan sjekke IP -adressen, undernettmaske av nettverksgrensesnitt ved å kjøre følgende spørsmål i det interaktive skallet.

Osquery> Velg grensesnitt, adresse, maske fra grensesnitt_adresser
Der grensesnittet ikke liker '%lo%';

Sjekk innloggede brukere

Vi kan også sjekke innloggede brukere på systemet ditt ved å spørre data fra tabellen 'LOGGED_IN_USERS'. Kjør følgende kommando for å finne innloggede brukere.

osquery> velg bruker, vert, tid fra logget_in_usere der tty ikke liker '-';

Kontrollerer systemminnet

Vi kan også sjekke totalt minne, hurtigminnet med gratis minne osv. Ved å kjøre en SQL -basert kommando i det interaktive skallet. For å sjekke totalminne Kjør følgende kommando. Dette vil gi oss totalt minne om systemet i byte.

OSQUERY> SELECT MEMORY_TOTAL FRA MEMORY_INFO;

For å sjekke gratis minne om systemet ditt, kjør følgende spørsmål i det interaktive skallet

OSQUERY> SELECT MEMORY_FREE FRA MEMORY_INFO;

Når vi kjører kommandoen ovenfor, vil det gi oss gratis minne tilgjengelig i systemet vårt

Vi kan også sjekke hurtigbufret minnet om systemet ved hjelp av Memory_info -tabellen ved å kjøre følgende spørsmål.

OSQUERY> Velg hurtigbufret fra Memory_Info;

Liste opp gruppene

Vi kan finne alle gruppene i systemet ditt ved å kjøre følgende spørsmål i det interaktive skallet

osquery> velg * fra grupper;

Viser lytteporter

Vi kan vise alle lytteportene i systemet vårt ved å kjøre følgende kommando i det interaktive skallet

osquery> velg * fra lyting_ports;

Vi kan også sjekke om en port lytter eller ikke ved å kjøre følgende kommando i det interaktive skallet

OSQUERY> Velg port, adresse fra lytter_port der port = 27017;

Dette vil gi oss produksjon som vist i følgende figur

Konklusjon

Osquery er et veldig nyttig programvareverktøy for å finne noen form for informasjon om systemet ditt. Hvis du allerede er klar over SQL -baserte spørsmål, er det veldig enkelt å bruke for deg, eller hvis du ikke er klar over SQL -baserte spørsmål, har jeg prøvd mitt beste for å vise deg noen store spørsmål som er nyttige for å finne data. Du kan finne alle slags data fra hvilken som helst tabell ved å kjøre lignende spørsmål.