Hvordan installere Osquery på Debian Top 10

Hvordan installere Osquery på Debian Top 10
I denne Osquery -opplæringen vil vi starte med å diskutere hva Osquery er, hvordan det fungerer, hvordan du installerer det på Debian, en rask introduksjon til SQL, og til slutt bygge et prosjekt som beskriver hvordan du integrerer Osquery med Elk Stack.

For å holde denne opplæringen kortfattet, vil vi ikke dykke dypt inn i "hva" og "hvordan" av elgstabelen. I stedet vil vi raskt og enkelt diskutere hvordan du bruker det med Osquery. Vi vil også anta at du har en arbeidskunnskap om SQL-den medfølgende guiden til tross for).

Hva er osquery?

Osquery er utviklet av Facebook, og er et tverrplattform, open source-verktøy som brukes til å spørre og overvåke systemer ved hjelp av SQL-baserte spørsmål.

Osquery kan samhandle med systemet og samle detaljert informasjon som minnebruk, løpeprosesser, lastede kjernemoduler, maskinvarehendelser, nettverkstilkoblinger osv. Verktøyet kjører på alle systemer, inkludert Windows, Linux, Mac og BSD.

Ved hjelp av Osquery kan du lage SQL -spørsmål som viser informasjon om systemet og bruke denne informasjonen til å overvåke og analysere dataene som er samlet inn.

Hvordan installere Osquery på Debian Systems

Det er veldig enkelt å installere Osquery på Debian Systems, og selv om det ikke er tilgjengelig i de viktigste Debian Repos, er det ganske greit å legge til det.

La oss se på den første metoden du kan bruke til å installere Osquery på Debian:

Det første og enkleste trinnet er å laste ned Deb -installasjonsprogrammet fra hovedsiden:

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

Vi anbefaler metoden ovenfor da Deb -pakkene har veldig få avhengigheter av de fleste Debian -distribusjoner. Imidlertid, hvis du ønsker å legge til APT, bruk neste metode.

Skriv inn følgende kommandoer for å installere Osquery fra depotene.

Eksport Osquery_Key = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv-keyServer hkp: // keyserver.Ubuntu.com: 80--Recv-Keys $ osquery_key
sudo add-apt-repository 'Deb [arch = amd64] https: // pkg.Osquery.IO/Deb Main '
sudo apt-get oppdatering
sudo apt-get installer osquery

Hvordan bruke Osquery på Debian 10

Før vi dykker dypt inn i å bygge automatiserte skript og jobbe med Elk Stack, la oss diskutere litt enkel osquery -bruk på det lokale systemet.

Osquery har tre hovedkomponenter du kan bruke til å samhandle med API.

Osquery: Den første komponenten er Osqueryi, en interaktiv skalløkt. Osqueryi-modus er helt frittstående og krever ikke samhandling med Osquery-Osquery-demonen. Ved hjelp av Osqueryi -modus kan du interaktivt utføre SQL -spørsmål og utforske det nåværende systemet som ligner på et SQL -skall.

MERK: Osquery respekterer brukerområder, og hvis du kjører skallet som en vanlig brukermodus, vil du ikke ha tilgang til privilegerte tabeller.

OSQUERYD: Den andre komponenten er Osqueryd, Osquery Daemon pleide å planlegge spørsmål og registrere tilstandsendringer i bakgrunnen. Daemon fungerer ved å samle spørringsresultater utført over en spesifikk tidsramme og genererer logger som brukes til å sammenligne endringer i hver spørring.

Osqueryctl: Den tredje komponenten er Osqueryctl, et hjelperskript som brukes til å teste distribusjonskonfigurasjon. Du kan også bruke den som Osquery Service Manager, slik at du kan starte og stoppe tjenesten.

Ut av boksen er Osquery ikke annet enn et enkelt verktøy for å spørre om informasjon om systemet. Men når du kombinerer spørsmålene for å bygge godt sorterte og aggregerte data, blir det mer enn et spørringsverktøy.

For å få Rollin ', la oss starte med det grunnleggende for å forstå hvordan det fungerer:

Det første trinnet er å få hjelp med kommandoen:

sudo osqueryd -hjelp

Denne kommandoen vil vise Osquery Daemon -hjelpen, med en liste over argumenter du kan bruke i skallet.

Den neste, og den enkleste måten å samhandle med Osquery, er å bruke Osqueryi -økten. Hvis du for eksempel utfører kommandoen Osqueryi uten argument, vil du slippe inn i et SQL-lignende skall:

sudo osqueryi

Inne i Osqueryi -skallet kan du utføre kommandoer og SQL -syntaks for å velge spesifikk informasjon om systemet.

For å se hjelpemodus inne i Osqueryi -skallet, bruk kommandoen:

osquery> .hjelp

Å utføre denne kommandoen skal vise hjelp angående Osquery -økten.

Siden Osquery er en relasjonsdatabasemapper for systemet ditt, har den en liste over tabeller du kan bruke til å velge informasjon fra å bruke SQLite -spørsmål.

MERK: Osquery-spørsmål er sqlite-baserte. Du kan henvise til dokumentasjonen hvis Osquery ikke gir nok informasjon:

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

Inne i Osqueryi -skallet, bruk kommandoen:

osquery> .bord

Denne kommandoen viser tilgjengelige tabeller som inneholder systeminformasjon.

Derfra kan du velge informasjon fra tilgjengelige skjemaer. Se for eksempel informasjonen om DNS -oppløsere.

Velg * fra DNS_RESOLVERS;

Avhengig av skjemaet du sprer, vil du få en båtbelastning med informasjon og kan trenge å bruke en kombinasjon av SQL -spørsmål for å gi mening om det.

Du kan lære mer om osquery -tabeller og skjemaer fra følgende ressurs:

    https: // osquery.IO/skjema

En grunnleggende SQL -guide

Osquery fungerer ved å bruke SQLite Syntax -spørsmål for å samle informasjon om et system. Jeg aner ikke hvorfor Facebook valgte denne ruten, men den fungerer.

Denne enkle opplæringen vil diskutere grunnleggende SQLite for å forklare hvordan du kan bruke den til å samhandle med Osquery.

MERK: Dette er på ingen måte ment å være en guide for SQL eller beslektede språk. For mer språkspesifikke guider, se den primære dokumentasjonen.

Velge spesifikke oppføringer fra en tabell

Ved hjelp av grunnleggende SQLite -syntaks kan vi velge spesifikk informasjon fra en tabell ved hjelp av SELECT -setningen som vist:

Velg PID, navn, sti fra prosesser;

Legge til SQL -funksjoner

Osquery støtter også SQL -funksjoner, slik at du kan utføre forskjellige handlinger med data samlet fra spørsmålene.

For eksempel kan tellefunksjonen tillate deg å se antall brukere i systemet ditt.

Velg Count (*) fra brukere;

Denne kommandoen vil returnere det totale antallet brukere i systemet.

Evnen for Osquery til å bruke SQL-syntaks er en enorm fordel som kan hjelpe deg med å bygge komplekse datasett som kan gi deg en mer dyptgående analyse av et system. Det skaper også en bro som SQL -utviklere som bruker motorer som PostgreSQL, MySQL og andre kan bruke til å tilpasse seg med letthet.

https: // osquery.LEDTHEDOCS.io/en/stabil/introduksjon/sql/

Et morsomt sideprosjekt

Når du utforsker Osquery videre og eksperimenterer med det, vil du oppdage at det er et omfattende og kraftig verktøy som gjør det enkelt å lage prosjekter som er spesielt innstilt for å overvåke systemene dine.

På grunn av denne opplæringens omfang, og for å unngå forvirrende nybegynnere, vil vi ikke fordype oss i komplekse prosjekter. Det som er nevnt, her er noen verktøy du kan bygge ved hjelp av Osquery:

  • Samle logger med logstash
  • Bygg et systemmonitor -dashbord med Elasticsearch, Logstash og Kibana.
  • Bygg Osquery Fleet med Kolide

https: // osquery.LEDTHEDOCS.io/en/stabil/distribusjon/log-aggregering/
https: // www.elastisk.CO/Guide/EN/Beats/FileBeat/7.10/FileBeat-Module-Osquery.html
https: // github.com/fleetdm/flåte

Konklusjon

I denne opplæringen så vi på det grunnleggende om Osquery, inkludert hvordan du bruker det til å samle inn systeminformasjon.

Selv om den ikke er omfattende, hadde denne guiden til hensikt å gi deg en rask og grei introduksjon til Osquery; På ingen måte var det en referanseguide.

Bruk gjerne andre ressurser for å få en dypere forståelse av de forskjellige konseptene vi har diskutert i denne opplæringen.