Installere Osquery i Ubuntu
Osquery pakker er ikke tilgjengelig i standard Ubuntu-lageret, så før vi installerer det, må vi legge til Osquery apt repository ved å kjøre følgende kommando i terminalen.
[e-postbeskyttet]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb main "|sudo tee / etc / apt / sources.liste.d / osquery.liste
Nå vil vi importere signeringsnøkkelen ved å kjøre følgende kommando i terminalen.
[e-postbeskyttet]: ~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com--recv-nøkler 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Etter å ha importert signeringsnøkkelen, oppdater nå systemet ditt ved å kjøre følgende kommando i terminalen.
[e-postbeskyttet]: ~ $ sudo apt-get oppdateringInstaller nå Osquery ved å kjøre følgende kommando
[e-postbeskyttet]: ~ $ sudo apt-get install osqueryEtter installasjon Osquery, nå må vi sjekke om den er installert riktig ved å kjøre følgende kommando
[e-postbeskyttet]: ~ $ osqueryi --versjonHvis det gir følgende utgang, er den riktig installert
Bruke Osquery
Nå etter installasjon er vi klar til bruk Osquery. Kjør følgende kommando for å gå til interaktiv shell-ledetekst
[e-postbeskyttet]: ~ $ osqueryi
Får hjelp
Nå kan vi kjøre SQL-baserte spørsmål for å få data fra operativsystemet. Vi kan få hjelp om Osquery ved å kjøre følgende kommando i det interaktive skallet.
osquery> .hjelp
Få alle bordene
Som nevnt tidligere, Osquery avslører 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 tabeller. Nå kan vi få data fra disse tabellene ved å kjøre SQL-baserte spørsmål.
Oppføringsinformasjon om alle brukerne
Vi kan se all informasjon om brukere ved å kjøre følgende kommando i det interaktive skallet
osquery> VELG * FRA brukere;Ovennevnte kommando viser 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 viser alle brukerne i systemet ditt
På samme måte kan vi få brukernavn sammen med katalogen der 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 data fra spesifikke brukere. For eksempel ønsker vi å få all informasjon om rotbrukeren. Vi kan få all informasjon om rotbrukeren ved å kjøre følgende kommando.
osquery> VELG * FRA brukere WHERE 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 WHERE brukernavn = ”root”
På denne måten kan vi spørre hva vi vil fra et bord.
Oppføring av alle prosessene
Vi kan liste opp de fem første prosessene som kjører i ubuntu ved å kjøre følgende kommando i det interaktive skallet
osquery> VELG * FRA prosesser GRENSE 5;
Siden det er mange prosesser som kjører i systemet, har vi bare vist fem prosesser ved å bruke LIMIT nøkkelord.
Vi kan finne prosess-ID-en til en bestemt prosess, for eksempel vil vi finne prosess-ID-en til mongodb, så vi vil kjøre følgende kommando i det interaktive skallet
osquery> VELG pid FRA prosesser WHERE name = "mongod";
Finne versjon av Ubuntu
Vi finner versjonen av Ubuntu-systemet vårt ved å kjøre følgende kommando i det interaktive skallet
osquery> VELG * FRA os_version;Det viser oss versjonen av operativsystemet vårt
Kontrollere nettverksgrensesnitt og IP-adresser
Vi kan sjekke IP-adressen, nettverksmasken til nettverksgrensesnittene ved å kjøre følgende spørsmål i det interaktive skallet.
osquery> VELG grensesnitt, adresse, maske FRA grensesnitt_adresserHVOR grensesnitt IKKE LIKER '% lo%';
Kontrollere påloggede brukere
Vi kan også sjekke påloggede brukere på systemet ditt ved å spørre om data fra tabellen 'innlogget_in_brukere'. Kjør følgende kommando for å finne påloggede brukere.
osquery> VELG bruker, vert, tid FRA logget_in_brukere HVOR tty IKKE LIKE '-';
Kontrollere systemminnet
Vi kan også sjekke totalt minne, ledig minne hurtigbufret minne osv. ved å kjøre noen SQL-basert kommando i det interaktive skallet. Kjør følgende kommando for å sjekke totalt minne. Dette vil gi oss totalt minne om systemet i byte.
osquery> SELECT memory_total FROM memory_info;
For å sjekke ledig minne på systemet ditt, kjør følgende spørsmål i det interaktive skallet
osquery> VELG minne_fri FRA minne_info;Når vi kjører kommandoen ovenfor, vil den gi oss ledig minne tilgjengelig i systemet vårt
Vi kan også sjekke hurtigbufret minne til systemet ved å bruke tabellen memory_info ved å kjøre følgende spørsmål.
osquery> velg hurtigbufret fra memory_info;
Oppføring av 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 til systemet vårt ved å kjøre følgende kommando i det interaktive skallet
osquery> VELG * FRA lytterportene;
Vi kan også sjekke om en port lytter eller ikke ved å kjøre følgende kommando i det interaktive skallet
osquery> SELECT port, address FROM listening_ports WHERE port = 27017;Dette vil gi oss produksjon som vist i følgende figur
Konklusjon
Osquery er et veldig nyttig programvareverktøy for å finne all slags 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, så 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.