Osquery in Ubuntu installieren
Osquery Pakete sind im Standard-Ubuntu-Repository nicht verfügbar, daher müssen wir vor der Installation die Osquery apt-Repository, indem Sie den folgenden Befehl im Terminal ausführen.
[email protected]:~$ echo "deb [arch=amd64] https://pkg.Osquery.io/deb deb main" |sudo tee /etc/apt/sources.aufführen.d/osquery.aufführen
Jetzt importieren wir den Signaturschlüssel, indem wir den folgenden Befehl im Terminal ausführen.
[email protected]:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com--Recv-Tasten 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Aktualisieren Sie nach dem Importieren des Signaturschlüssels Ihr System, indem Sie den folgenden Befehl im Terminal ausführen.
[email protected]:~$ sudo apt-get updateJetzt installieren Osquery indem Sie den folgenden Befehl ausführen
[email protected]:~$ sudo apt-get install osqueryNach der Installation Osquery, Jetzt müssen wir überprüfen, ob es korrekt installiert wurde, indem wir den folgenden Befehl ausführen
[email protected]:~$ osqueryi --versionWenn es die folgende Ausgabe liefert, ist es korrekt installiert
Osquery verwenden
Jetzt nach der Installation sind wir einsatzbereit Osquery. Führen Sie den folgenden Befehl aus, um zur interaktiven Shell-Eingabeaufforderung zu gelangen
[email protected]:~$ osqueryi
Hilfe bekommen
Jetzt können wir SQL-basierte Abfragen ausführen, um Daten vom Betriebssystem abzurufen. Wir können Hilfe bekommen zu Osquery indem Sie den folgenden Befehl in der interaktiven Shell ausführen.
osquery> .Hilfe
Alle Tabellen abrufen
Wie bereits erwähnt, Osquery stellt Daten aus dem Betriebssystem als relationale Datenbank bereit, sodass alle Daten in Form von Tabellen vorliegen. Wir können alle Tabellen abrufen, indem wir den folgenden Befehl in der interaktiven Shell ausführen
osquery> .Tabellen
Wie wir sehen können, können wir durch Ausführen des obigen Befehls eine Reihe von Tabellen erhalten. Jetzt können wir Daten aus diesen Tabellen abrufen, indem wir SQL-basierte Abfragen ausführen.
Auflisten von Informationen zu allen Benutzern
Wir können alle Informationen über Benutzer sehen, indem wir den folgenden Befehl in der interaktiven Shell ausführen
osquery> SELECT * FROM Benutzern;Der obige Befehl zeigt gid, uid, description usw. an. aller Benutzer
Wir können auch nur die relevanten Daten über Benutzer extrahieren, zum Beispiel möchten wir nur die Benutzer und keine anderen Informationen über Benutzer sehen. Führen Sie den folgenden Befehl in der interaktiven Shell aus, um die Benutzernamen abzurufen
osquery> SELECT Benutzernamen FROM Benutzern;Der obige Befehl zeigt alle Benutzer in Ihrem System an
Ebenso können wir Benutzernamen zusammen mit dem Verzeichnis, in dem der Benutzer existiert, abrufen, indem wir den folgenden Befehl ausführen.
osquery> SELECT Benutzername, Verzeichnis FROM Benutzer;
Ebenso können wir so viele Felder abfragen, wie wir wollen, indem wir die ähnlichen Befehle ausführen.
Wir können auch alle Daten bestimmter Benutzer erhalten. Zum Beispiel möchten wir alle Informationen über den Root-Benutzer erhalten. Wir können alle Informationen über den Root-Benutzer abrufen, indem wir den folgenden Befehl ausführen.
osquery> SELECT * FROM Benutzer WHERE username="root";
Wir können auch bestimmte Daten aus bestimmten Feldern (Spalten) abrufen. Zum Beispiel möchten wir die Gruppen-ID und den Benutzernamen des Root-Benutzers abrufen. Führen Sie den folgenden Befehl aus, um diese Daten abzurufen.
osquery> SELECT Benutzername, gid FROM Benutzer WHERE Benutzername=”root”
Auf diese Weise können wir alles, was wir wollen, aus einer Tabelle abfragen.
Alle Prozesse auflisten
Wir können die ersten fünf Prozesse auflisten, die in Ubuntu ausgeführt werden, indem wir den folgenden Befehl in der interaktiven Shell ausführen
osquery> SELECT * FROM Prozesse LIMIT 5;
Da im System viele Prozesse laufen, haben wir mit dem LIMIT-Schlüsselwort nur fünf Prozesse angezeigt.
Wir können die Prozess-ID eines bestimmten Prozesses finden, zum Beispiel möchten wir die Prozess-ID von mongodb finden, also führen wir den folgenden Befehl in der interaktiven Shell aus
osquery> SELECT pid FROM Prozesse WHERE name="mongod";
Finden der Version von Ubuntu
Wir können die Version unseres Ubuntu-Systems finden, indem wir den folgenden Befehl in der interaktiven Shell ausführen
osquery> SELECT * FROM os_version;Es wird uns die Version unseres Betriebssystems anzeigen
Überprüfen von Netzwerkschnittstellen und IP-Adressen
Wir können die IP-Adresse und die Subnetzmaske der Netzwerkschnittstellen überprüfen, indem wir die folgende Abfrage in der interaktiven Shell ausführen.
osquery> SELECT interface,address,mask FROM interface_addressesWHERE-Schnittstelle NICHT WIE '%lo%';
Angemeldete Benutzer überprüfen
Wir können auch angemeldete Benutzer auf Ihrem System überprüfen, indem wir Daten aus der Tabelle 'logged_in_users' abfragening. Führen Sie den folgenden Befehl aus, um angemeldete Benutzer zu finden.
osquery> SELECT user,host,time FROM eingeloggte_in_users WHERE tty NOT LIKE '-';
Überprüfen des Systemspeichers
Wir können auch den Gesamtspeicher, den freien Speicher im Cache usw. überprüfen. indem Sie einen SQL-basierten Befehl in der interaktiven Shell ausführen. Um den Gesamtspeicher zu überprüfen, führen Sie den folgenden Befehl aus. Dadurch erhalten wir den Gesamtspeicher des Systems in Bytes.
osquery> SELECT memory_total FROM memory_info;
Um den freien Speicher Ihres Systems zu überprüfen, führen Sie die folgende Abfrage in der interaktiven Shell aus
osquery> SELECT memory_free FROM memory_info;Wenn wir den obigen Befehl ausführen, erhalten wir freien Speicherplatz in unserem System
Wir können auch den zwischengespeicherten Speicher des Systems mit der Tabelle memory_info überprüfen, indem wir die folgende Abfrage ausführen.
osquery> wählen Sie zwischengespeichert aus memory_info;
Auflisten der Gruppen
Wir können alle Gruppen in Ihrem System finden, indem wir die folgende Abfrage in der interaktiven Shell ausführen
osquery> SELECT * FROM Gruppen;
Abhörende Ports anzeigen
Wir können alle hörenden Ports unseres Systems anzeigen, indem wir den folgenden Befehl in der interaktiven Shell ausführen
osquery> SELECT * FROM Listening_Ports;
Wir können auch überprüfen, ob ein Port lauscht oder nicht, indem wir den folgenden Befehl in der interaktiven Shell ausführen
osquery> SELECT Port, Adresse FROM listen_ports WHERE port=27017;Dadurch erhalten wir eine Ausgabe wie in der folgenden Abbildung gezeigt
Fazit
Osquery ist ein sehr nützliches Software-Dienstprogramm, um jede Art von Informationen über Ihr System zu finden. Wenn Sie bereits mit SQL-basierten Abfragen vertraut sind, ist es sehr einfach zu verwenden oder wenn Sie SQL-basierte Abfragen nicht kennen, dann habe ich mein Bestes versucht, Ihnen einige wichtige Abfragen zu zeigen, die nützlich sind, um Daten zu finden. Sie können jede Art von Daten aus jeder Tabelle finden, indem Sie ähnliche Abfragen ausführen.