Osquery installeren in Ubuntu
Osquery pakketten zijn niet beschikbaar in de standaard Ubuntu-repository, dus voordat we het installeren, moeten we de Osquery apt repository door de volgende opdracht in de terminal uit te voeren:.
[e-mail beveiligd]:~$ echo "deb [arch=amd64] https://pkg.osquery.io/deb deb main" |sudo tee /etc/apt/sources.lijst.d/osquery.lijst
Nu zullen we de ondertekeningssleutel importeren door de volgende opdracht in de terminal uit te voeren:.
[e-mail beveiligd]:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com--recv-sleutels 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Na het importeren van de ondertekeningssleutel, werkt u nu uw systeem bij door de volgende opdracht in de terminal uit te voeren:.
[e-mail beveiligd]:~$ sudo apt-get updateNu installeren Osquery door het volgende commando uit te voeren:
[e-mail beveiligd]:~$ sudo apt-get install osqueryNa installatie Osquery, nu moeten we controleren of het correct is geïnstalleerd door de volgende opdracht uit te voeren:
[e-mail beveiligd]:~$ osqueryi --versieAls het de volgende uitvoer geeft, is het correct geïnstalleerd:
Osquery gebruiken
Nu na installatie zijn we klaar voor gebruik Osquery. Voer de volgende opdracht uit om naar de interactieve shell-prompt te gaan:
[e-mail beveiligd]:~$ osqueryi
Hulp krijgen
Nu kunnen we op SQL gebaseerde query's uitvoeren om gegevens van het besturingssysteem te krijgen. We kunnen hulp krijgen over Osquery door de volgende opdracht in de interactieve shell uit te voeren:.
osquery> .helpen
Alle tafels krijgen
Zoals eerder gezegd, Osquery stelt gegevens van het besturingssysteem bloot als een relationele database, zodat het alle gegevens in de vorm van tabellen heeft. We kunnen alle tabellen krijgen door de volgende opdracht in de interactieve shell uit te voeren:
osquery> .tafels
Zoals we kunnen zien, kunnen we door het bovenstaande commando uit te voeren een aantal tabellen krijgen. Nu kunnen we gegevens uit deze tabellen halen door op SQL gebaseerde query's uit te voeren.
Informatie over alle gebruikers weergeven
We kunnen alle informatie over gebruikers zien door de volgende opdracht in de interactieve shell uit te voeren:
osquery> SELECT * FROM gebruikers;De bovenstaande opdracht geeft gid, uid, beschrijving enz. weer. van alle gebruikers
We kunnen ook alleen de relevante gegevens over gebruikers extraheren, we willen bijvoorbeeld alleen de gebruikers zien en geen andere informatie over gebruikers. Voer de volgende opdracht uit in de interactieve shell om de gebruikersnamen te krijgen:
osquery> SELECT gebruikersnaam FROM gebruikers;De bovenstaande opdracht toont alle gebruikers in uw systeem
Op dezelfde manier kunnen we gebruikersnamen krijgen samen met de map waarin de gebruiker bestaat door de volgende opdracht uit te voeren:.
osquery> SELECT gebruikersnaam, directory FROM gebruikers;
Op dezelfde manier kunnen we zoveel velden opvragen als we willen door de vergelijkbare commando's uit te voeren.
We kunnen ook alle gegevens van specifieke gebruikers krijgen. We willen bijvoorbeeld alle informatie over de rootgebruiker krijgen. We kunnen alle informatie over de rootgebruiker krijgen door de volgende opdracht uit te voeren:.
osquery> SELECTEER * FROM gebruikers WAAR gebruikersnaam = "root";
We kunnen ook specifieke gegevens uit specifieke velden (kolommen) halen. We willen bijvoorbeeld de groeps-ID en gebruikersnaam van de rootgebruiker. Voer de volgende opdracht uit om deze gegevens te krijgen:.
osquery> SELECT gebruikersnaam, gid FROM gebruikers WHERE gebruikersnaam=”root”
Op deze manier kunnen we alles wat we willen van een tabel opvragen.
Alle processen weergeven
We kunnen de eerste vijf processen weergeven die in ubuntu worden uitgevoerd door de volgende opdracht in de interactieve shell uit te voeren:
osquery> SELECT * FROM processen LIMIT 5;
Omdat er veel processen in het systeem draaien, hebben we slechts vijf processen weergegeven met het trefwoord LIMIT.
We kunnen de proces-ID van een specifiek proces vinden, we willen bijvoorbeeld de proces-ID van mongodb vinden, dus we zullen de volgende opdracht in de interactieve shell uitvoeren
osquery> SELECT pid FROM processen WHERE name="mongod";
Versie van Ubuntu vinden
We kunnen de versie van ons Ubuntu-systeem vinden door de volgende opdracht in de interactieve shell uit te voeren:
osquery> SELECT * FROM os_version;Het zal ons de versie van ons besturingssysteem laten zien
Netwerkinterfaces en IP-adressen controleren
We kunnen het IP-adres, het subnetmasker van netwerkinterfaces controleren door de volgende vraag in de interactieve shell uit te voeren:.
osquery> SELECT interface,adres,masker FROM interface_adressenWAAR interface NIET ZOALS '%lo%';
Ingelogde gebruikers controleren
We kunnen ook ingelogde gebruikers op uw systeem controleren door gegevens op te vragen uit de tabel 'logged_in_users'. Voer de volgende opdracht uit om ingelogde gebruikers te vinden.
osquery> SELECT gebruiker, host, tijd VAN ingelogde_gebruikers WAAR tty NIET LIKE '-';
Systeemgeheugen controleren
We kunnen ook het totale geheugen, het vrije geheugen in de cache enz. controleren. door een op SQL gebaseerd commando uit te voeren in de interactieve shell. Voer de volgende opdracht uit om het totale geheugen te controleren:. Dit geeft ons het totale geheugen van het systeem in bytes.
osquery> SELECT memory_total FROM memory_info;
Voer de volgende query uit in de interactieve shell om het vrije geheugen van uw systeem te controleren:
osquery> SELECT memory_free FROM memory_info;Wanneer we de bovenstaande opdracht uitvoeren, krijgen we vrij geheugen beschikbaar in ons systeem
We kunnen ook het cachegeheugen van het systeem controleren met behulp van de memory_info-tabel door de volgende query uit te voeren:.
osquery> selecteer cache uit memory_info;
De groepen weergeven
We kunnen alle groepen in uw systeem vinden door de volgende query uit te voeren in de interactieve shell:
osquery> SELECT * UIT groepen;
Luisterpoorten weergeven
We kunnen alle luisterpoorten van ons systeem weergeven door de volgende opdracht in de interactieve shell uit te voeren:
osquery> SELECT * FROM listen_ports;
We kunnen ook controleren of een poort luistert of niet door de volgende opdracht in de interactieve shell uit te voeren:
osquery> SELECT poort, adres FROM listen_ports WHERE port=27017;Dit geeft ons output zoals weergegeven in de volgende afbeelding:
Conclusie
Osquery is een zeer nuttig softwarehulpprogramma om informatie over uw systeem te vinden. Als u al op de hoogte bent van op SQL gebaseerde query's, dan is het heel gemakkelijk voor u te gebruiken of als u niet op de hoogte bent van op SQL gebaseerde query's, dan heb ik mijn best gedaan om u enkele belangrijke query's te laten zien die handig zijn om gegevens te vinden. U kunt alle soorten gegevens uit elke tabel vinden door vergelijkbare zoekopdrachten uit te voeren.