Debian

Sådan installeres Osquery på Debian 10

Sådan installeres Osquery på Debian 10
I denne Osquery-selvstudie vil vi starte med at diskutere, hvad Osquery er, hvordan det fungerer, hvordan man installerer det på Debian, en hurtig introduktion til SQL og endelig opbygger et projekt, der beskriver, hvordan man integrerer Osquery med ELK Stack.

For at holde denne tutorial kortfattet dykker vi ikke dybt ned i "hvad" og "hvordan" i ELK-stakken. I stedet for diskuterer vi hurtigt og ligefrem, hvordan vi bruger det med Osquery. Vi antager også, at du har en fungerende viden om SQL - den medfølgende vejledning til trods for).

Hvad er Osquery?

Osquery er udviklet af Facebook og er et open source-værktøj på tværs af platforme, der bruges til at forespørge og overvåge systemer ved hjælp af SQL-baserede forespørgsler.

Osquery kan interagere med systemet og samle detaljerede oplysninger såsom hukommelsesforbrug, kørende processer, indlæste kernemoduler, hardwarehændelser, netværksforbindelser osv. Værktøjet kører på alle systemer, inklusive Windows, Linux, Mac og BSD.

Ved hjælp af Osquery kan du oprette SQL-forespørgsler, der viser oplysninger om systemet og bruger disse oplysninger til at overvåge og analysere de indsamlede data.

Sådan installeres Osquery på Debian-systemer

Installation af Osquery på Debian-systemer er meget let, og selvom det ikke er tilgængeligt i de vigtigste Debian-repos, er det ret ligetil at tilføje det.

Lad os se på den første metode, du kan bruge til at installere Osquery på Debian:

Det første og enkleste trin er at downloade deb-installationsprogrammet 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 ovenstående metode, da deb-pakkerne har meget få afhængigheder af de fleste Debian-distributioner. Hvis du imidlertid vil tilføje til apt, skal du bruge den næste metode.

Indtast følgende kommandoer for at installere Osquery fra arkiverne.

eksporter OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver hkp: // keyserver.ubuntu.com: 80 - recv-nøgler $ OSQUERY_KEY
sudo add-apt-repository 'deb [arch = amd64] https: // pkg.osquery.io / deb deb main '
sudo apt-get opdatering
sudo apt-get install osquery

Sådan bruges Osquery på Debian 10

Før vi dykker dybt ned i opbygningen af ​​automatiserede scripts og arbejder med ELK-stakken, lad os diskutere nogle enkle Osquery-anvendelser på det lokale system.

Osquery har tre hovedkomponenter, du kan bruge til at interagere med API'en.

Osquery: Den første komponent er osqueryi, en interaktiv shell-session. Osqueryi-tilstanden er helt enkeltstående og kræver ikke interaktion med Osquery-Osquery-dæmonen. Ved hjælp af osqueryi-tilstanden kan du interagere med SQL-forespørgsler og udforske det aktuelle system svarende til en SQL-shell.

BEMÆRK: Osquery respekterer brugerrum, og hvis du kører shell som en almindelig brugertilstand, har du ikke adgang til privilegerede tabeller.

Osqueryd: Den anden komponent er osqueryd, Osquery-dæmonen, der bruges til at planlægge forespørgsler og registrere tilstandsændringer i baggrunden. Dæmonen fungerer ved at samle forespørgselsresultater udført over en bestemt tidsramme og genererer logfiler, der bruges til at sammenligne hver forespørgsels tilstandsændringer.

Osqueryctl: Den tredje komponent er Osqueryctl, et hjælper script, der bruges til at teste implementeringskonfiguration. Du kan også bruge den som en Osquery-servicemanager, så du kan starte og stoppe tjenesten.

Ud af kassen er Osquery intet andet end et simpelt værktøj til at spørge information om systemet. Men når du kombinerer forespørgslerne for at oprette velsorterede og aggregerede data, bliver det mere end et forespørgselsværktøj.

For at komme i gang, lad os starte med det grundlæggende for at forstå, hvordan det fungerer:

Det første trin er at få hjælp til kommandoen:

sudo osqueryd - hjælp

Denne kommando viser Osquery-dæmonhjælpen med en liste over argumenter, du kan bruge i skallen.

Den næste og den nemmeste måde at interagere med Osquery er at bruge osqueryi-sessionen. For eksempel, hvis du udfører kommandoen osqueryi uden et argument, vil du falde ind i en SQL-lignende shell:

sudo osqueryi

Inde i osqueryi-skallen kan du udføre kommandoer og SQL-syntaks for at vælge specifik information om systemet.

For at se hjælpefunktionen inde i osqueryi-skalen skal du bruge kommandoen:

osquery> .Hjælp

Udførelse af denne kommando skal vise hjælp til Osquery-sessionen.

Da Osquery er en relationel databasekortlægger til dit system, har den en liste over tabeller, du kan bruge til at vælge information fra ved hjælp af SQLite Queries.

BEMÆRK: Osquery-forespørgsler er SQLite-baserede. Du kan henvise til dokumentationen, hvis Osquery ikke giver tilstrækkelig information:

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

Brug kommandoen inde i osqueryi-skallen:

osquery> .tabeller

Denne kommando viser de tilgængelige tabeller, der indeholder systeminformation.

Derfra kan du vælge information fra de tilgængelige skemaer. Se f.eks. Oplysningerne om DNS-opløsere.

VÆLG * FRA dns_resolvers;

Afhængigt af det skema, du forespørger om, får du en bådmængde af information og skal muligvis bruge en kombination af SQL-forespørgsler for at give mening.

Du kan lære mere om Osquery-tabeller og -skemaer fra følgende ressource:

https: // osquery.io / skema / 4.6.0 /

En grundlæggende SQL-guide

Osquery fungerer ved hjælp af SQLite-syntaksforespørgsler til at indsamle oplysninger om et system. Jeg aner ikke hvorfor Facebook valgte denne rute, men det fungerer.

Denne enkle vejledning diskuterer SQLite-basics for at forklare, hvordan du kan bruge det til at interagere med Osquery.

BEMÆRK: Dette er på ingen måde ment som en guide til SQL eller relaterede sprog. For mere sprogspecifikke vejledninger henvises til den primære dokumentation.

Valg af specifikke poster fra en tabel

Ved hjælp af grundlæggende SQLite-syntaks kan vi vælge specifik information fra en tabel ved hjælp af SELECT-sætningen som vist:

VÆLG pid, navn, sti fra processer;

Tilføjelse af SQL-funktioner

Osquery understøtter også SQL-funktioner, så du kan udføre forskellige handlinger med data indsamlet fra forespørgslerne.

For eksempel kan optællingsfunktionen give dig mulighed for at se antallet af brugere i dit system.

VÆLG TÆLL (*) FRA brugere;

Denne kommando returnerer det samlede antal brugere i systemet.

Osquerys evne til at bruge SQL-syntaks er en enorm fordel, der kan hjælpe dig med at opbygge komplekse datasæt, der kan give dig en mere dybdegående analyse af et system. Det skaber også en bro, som SQL-udviklere, der bruger motorer som PostgreSQL, MySQL og andre, kan bruge til at tilpasse sig let.

https: // osquery.readthedocs.io / da / stabil / introduktion / sql /

Et sjovt sideprojekt

Når du udforsker Osquery yderligere og eksperimenterer med det, vil du opdage, at det er et omfattende og kraftfuldt værktøj, der gør det nemt at oprette projekter, der er specielt indstillet til at overvåge dine systemer.

På grund af denne tutorials omfang og for at undgå forvirrende begyndere vil vi ikke dykke ned i komplekse projekter. Som nævnt er her nogle værktøjer, du kan bygge ved hjælp af Osquery:

https: // osquery.readthedocs.io / da / stabil / implementering / log-aggregering /
https: // www.elastisk.co / guide / da / beats / filebeat / 7.10 / filebeat-module-osquery.html
https: // github.com / fleetdm / flåde

Konklusion

I denne vejledning kiggede vi på det grundlæggende i Osquery, herunder hvordan man bruger det til at indsamle systeminformation.

Selvom den ikke var omfattende, havde denne guide til formål at give dig en hurtig og ligetil introduktion til Osquery; det var på ingen måde en referencevejledning.

Brug gerne andre ressourcer til at få en dybere forståelse af de forskellige begreber, vi har diskuteret i denne vejledning.

Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...