Debian

Osquery installeren op Debian 10

Osquery installeren op Debian 10
In deze Osquery-zelfstudie beginnen we met het bespreken van wat Osquery is, hoe het werkt, hoe het op Debian te installeren, een korte introductie tot SQL en ten slotte een project te bouwen waarin wordt beschreven hoe Osquery met de ELK-stack kan worden geïntegreerd.

Om deze tutorial beknopt te houden, zullen we niet diep ingaan op het "wat" en "hoe" van de ELK-stack. In plaats daarvan zullen we snel en duidelijk bespreken hoe het te gebruiken met Osquery. We gaan er ook van uit dat je een praktische kennis van SQL hebt, niettegenstaande de meegeleverde gids).

Wat is Osquery?

Osquery, ontwikkeld door Facebook, is een platformonafhankelijke, open-source tool die wordt gebruikt om systemen te doorzoeken en te bewaken met behulp van op SQL gebaseerde zoekopdrachten.

Osquery kan communiceren met het systeem en gedetailleerde informatie verzamelen, zoals geheugengebruik, actieve processen, geladen kernelmodules, hardwaregebeurtenissen, netwerkverbindingen, enz. De tool werkt op alle systemen, inclusief Windows, Linux, Mac en BSD.

Met Osquery kunt u SQL-query's maken die informatie over het systeem weergeven en deze informatie gebruiken om de verzamelde gegevens te controleren en te analyseren.

Osquery installeren op Debian-systemen

Het installeren van Osquery op Debian-systemen is heel eenvoudig, en hoewel het niet beschikbaar is in de belangrijkste repo's van Debian, is het toevoegen ervan vrij eenvoudig.

Laten we eens kijken naar de eerste methode die u kunt gebruiken om Osquery op Debian te installeren:

De eerste en eenvoudigste stap is om het deb-installatieprogramma van de hoofdpagina te downloaden:

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

We raden de bovenstaande methode aan omdat de deb-pakketten zeer weinig afhankelijk zijn van de meeste Debian-distributies. Als u echter iets aan apt wilt toevoegen, gebruikt u de volgende methode:.

Voer de volgende opdrachten in om Osquery vanuit de repositories te installeren:.

exporteren 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 deb hoofd'
sudo apt-get update
sudo apt-get install osquery

Osquery gebruiken op Debian 10

Voordat we diep ingaan op het bouwen van geautomatiseerde scripts en het werken met de ELK-stack, laten we een paar eenvoudige Osquery-gebruik op het lokale systeem bespreken.

Osquery heeft drie hoofdcomponenten die u kunt gebruiken om met de API te communiceren.

Osquery: Het eerste onderdeel is osqueryi, een interactieve shell-sessie. De osqueryi-modus is volledig op zichzelf staand en vereist geen interactie met de Osquery-Osquery-daemon. Met behulp van de osqueryi-modus kunt u interactief SQL-query's uitvoeren en het huidige systeem verkennen, vergelijkbaar met een SQL-shell.

OPMERKING: Osquery respecteert gebruikersruimten en als u de shell als een normale gebruikersmodus uitvoert, heeft u geen toegang tot bevoorrechte tabellen.

Osqueryd: Het andere onderdeel is osqueryd, de Osquery-daemon die wordt gebruikt om query's te plannen en statuswijzigingen op de achtergrond vast te leggen. De daemon werkt door het aggregeren van queryresultaten die over een specifiek tijdsbestek zijn uitgevoerd en genereert logboeken die worden gebruikt om de statuswijzigingen van elke query te vergelijken.

Osqueryctl: Het derde onderdeel is Osqueryctl, een helperscript dat wordt gebruikt om de implementatieconfiguratie te testen. U kunt het ook gebruiken als een Osquery-servicemanager, zodat u de service kunt starten en stoppen.

Out of the box, Osquery is niets meer dan een eenvoudig hulpmiddel om informatie over het systeem op te vragen. Wanneer u de query's echter combineert om goed gesorteerde en geaggregeerde gegevens te maken, wordt het meer dan een querytool.

Om aan de slag te gaan, laten we beginnen met de basis om te begrijpen hoe het werkt:

De eerste stap is om hulp te krijgen met de opdracht:

sudo osqueryd --help

Dit commando geeft de Osquery daemon help weer, met een lijst van argumenten die je in de shell kunt gebruiken.

De volgende, en de gemakkelijkste manier om met Osquery te communiceren, is door de osqueryi-sessie te gebruiken. Als u bijvoorbeeld het commando osqueryi uitvoert zonder een argument, valt u in een SQL-achtige shell:

sudo osqueryi

Binnen de osqueryi-shell kunt u opdrachten en SQL-syntaxis uitvoeren om specifieke informatie over het systeem te selecteren.

Gebruik de opdracht om de helpmodus in de osqueryi-shell te bekijken:

osquery > .helpen

Als u deze opdracht uitvoert, moet er hulp worden weergegeven met betrekking tot de Osquery-sessie.

Omdat Osquery een relationele database-mapper voor uw systeem is, heeft het een lijst met tabellen die u kunt gebruiken om informatie uit SQLite-query's te selecteren.

OPMERKING: Osquery-query's zijn gebaseerd op SQLite. U kunt de documentatie raadplegen als Osquery niet voldoende informatie biedt:

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

Gebruik in de osqueryi-shell de opdracht:

osquery > .tafels

Deze opdracht geeft een overzicht van de beschikbare tabellen met systeeminformatie.

Van daaruit kunt u informatie uit de beschikbare schema's selecteren. Bekijk bijvoorbeeld de informatie over DNS-resolvers.

SELECTEER * VAN dns_resolvers;

Afhankelijk van het schema dat u opvraagt, krijgt u een enorme hoeveelheid informatie en moet u mogelijk een combinatie van SQL-query's gebruiken om het te begrijpen.

U kunt meer leren over Osquery-tabellen en -schema's in de volgende bron:

https://osquery.io/schema/4.6.0/

Een basis SQL-gids

Osquery werkt door SQLite-syntaxisquery's te gebruiken om informatie over een systeem te verzamelen. Ik heb geen idee waarom Facebook deze route koos, maar het werkt.

Deze eenvoudige zelfstudie bespreekt de basisprincipes van SQLite om uit te leggen hoe u het kunt gebruiken om te communiceren met Osquery.

OPMERKING: Dit is op geen enkele manier bedoeld als een handleiding voor SQL of verwante talen. Raadpleeg de primaire documentatie voor meer taalspecifieke handleidingen.

Specifieke items uit een tabel selecteren

Met behulp van de standaard SQLite-syntaxis kunnen we specifieke informatie uit een tabel selecteren met behulp van de SELECT-instructie zoals weergegeven:

SELECTEER pid, naam, pad FROM processen;

SQL-functies toevoegen

Osquery ondersteunt ook SQL-functies, waardoor u verschillende acties kunt uitvoeren met gegevens die uit de query's zijn verzameld.

Met de telfunctie kunt u bijvoorbeeld het aantal gebruikers in uw systeem bekijken.

SELECTEER AANTAL(*) VAN gebruikers;

Deze opdracht retourneert het totale aantal gebruikers in het systeem.

De mogelijkheid voor Osquery om SQL-syntaxis te gebruiken is een enorm voordeel dat u kan helpen bij het bouwen van complexe datasets die u een meer diepgaande analyse van een systeem kunnen geven. Het creëert ook een brug die SQL-ontwikkelaars die engines zoals PostgreSQL, MySQL en anderen gebruiken, kunnen gebruiken om zich gemakkelijk aan te passen.

https://osquery.leesdedocs.io/nl/stabiel/introductie/sql/

Een leuk zijproject

Wanneer u Osquery verder onderzoekt en ermee experimenteert, zult u ontdekken dat het een uitgebreide en krachtige tool is waarmee u eenvoudig projecten kunt maken die specifiek zijn afgestemd op het bewaken van uw systemen.

Vanwege de omvang van deze tutorial en om verwarrende beginners te voorkomen, zullen we niet ingaan op complexe projecten. Dat gezegd hebbende, hier zijn enkele hulpmiddelen die u kunt bouwen met Osquery:

https://osquery.leesdedocs.io/en/stable/implementatie/log-aggregatie/
https://www.elastisch.co/guide/nl/beats/filebeat/7.10/filebeat-module-osquery.html
https://github.com/fleetdm/fleet

Conclusie

In deze tutorial hebben we gekeken naar de basisprincipes van Osquery, inclusief hoe het te gebruiken om systeeminformatie te verzamelen.

Hoewel niet allesomvattend, was deze gids bedoeld om u een snelle en duidelijke introductie tot Osquery te geven; het was in geen geval een naslaggids.

Voel je vrij om andere bronnen te gebruiken om een ​​dieper inzicht te krijgen in de verschillende concepten die we in deze tutorial hebben besproken.

Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...