Um dieses Tutorial präzise zu halten, werden wir nicht tief in das „Was“ und „Wie“ des Elchstacks eintauchen. Stattdessen diskutieren wir schnell und unkompliziert, wie man es mit OSQuery benutzt. Wir werden auch davon ausgehen, dass Sie trotz des Kenntnisses über SQL-The Care-Leitfaden über Kenntnisse verfügen.
Was ist Osquery?
OSQuery wurde von Facebook entwickelt und ist ein plattformübergreifendes Open-Source-Tool zum Abfragen und Überwachung von Systemen mithilfe von SQL-basierten Abfragen.
OSQuery kann mit dem System interagieren und detaillierte Informationen wie Speicherverbrauch, Auslaufprozesse, geladene Kernelmodule, Hardwareereignisse, Netzwerkverbindungen usw. sammeln. Das Tool läuft auf allen Systemen, einschließlich Windows, Linux, Mac und BSD.
Mithilfe von OSQuery können Sie SQL -Abfragen erstellen, die Informationen über das System anzeigen und diese Informationen verwenden, um die gesammelten Daten zu überwachen und zu analysieren.
So installieren Sie OSQuery auf Debian -Systemen
Die Installation von OSQuery auf Debian Systems ist sehr einfach, und obwohl es in den Hauptdebian -Repos nicht verfügbar ist, ist es ziemlich unkompliziert, dass es ziemlich unkompliziert ist.
Schauen wir uns die erste Methode an, mit der Sie OSQuery auf Debian installieren können:
Der erste und einfachste Schritt besteht darin, das DEB -Installateur von der Hauptseite herunterzuladen:
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
Wir empfehlen die obige Methode, da die DEB -Pakete nur sehr wenige Abhängigkeiten von den meisten Debian -Verteilungen haben. Wenn Sie jedoch die APT hinzufügen möchten, verwenden Sie die nächste Methode.
Geben Sie die folgenden Befehle ein, um OSQuery aus den Repositories zu installieren.
exportieren 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 main '
sudo apt-Get-Update
sudo apt-Get Installieren Sie OSQuery
So verwenden Sie OSQuery auf Debian 10
Bevor wir tief in den Bau automatisierter Skripte eintauchen und mit dem Elk -Stack arbeiten, lassen Sie uns eine einfache OSQuery -Verwendung auf dem lokalen System besprechen.
OSQuery verfügt über drei Hauptkomponenten, mit denen Sie mit der API interagieren können.
Osquery: Die erste Komponente ist Osqueryi, eine interaktive Shell -Sitzung. Der Osqueryi-Modus ist völlig eigenständig und erfordert keine Interaktion mit dem Osquery-Osquery-Daemon. Mit dem Osqueryi -Modus können Sie SQL -Abfragen interaktiv ausführen und das aktuelle System ähnlich einer SQL -Shell untersuchen.
NOTIZ: OSQuery respektiert die Benutzerräume. Wenn Sie die Shell als regulärer Benutzermodus ausführen, haben Sie keinen Zugriff auf privilegierte Tabellen.
Osqueryd: Die andere Komponente ist Osqueryd, der Osquery -Daemon, mit dem Abfragen geplant und Statusänderungen im Hintergrund aufgezeichnet wurden. Der Daemon funktioniert, indem er Abfrageergebnisse aggregiert, die über einen bestimmten Zeitraum ausgeführt wurden, und Protokolle generiert, die verwendet werden, um die Statusänderungen jeder Abfrage zu vergleichen.
Osqueryctl: Die dritte Komponente ist Osqueryctl, ein Helfer -Skript, das zum Testen der Bereitstellungskonfiguration verwendet wird. Sie können es auch als OSQuery Service Manager verwenden, sodass Sie den Service starten und stoppen können.
OutsQuery ist nicht mehr als ein einfaches Werkzeug, um Informationen über das System abzufragen. Wenn Sie jedoch die Abfragen zum Erstellen von gut sortierten und aggregierten Daten kombinieren, wird es mehr als ein Abfragewerkzeug.
Beginnen wir mit den Grundlagen, um zu verstehen, wie es funktioniert:
Der erste Schritt besteht darin, Hilfe beim Befehl zu erhalten:
sudo osqueryd -help
In diesem Befehl werden die Osquery -Daemon -Hilfe mit einer Liste von Argumenten angezeigt, die Sie in der Shell verwenden können.
Der nächste und der einfachste Weg, mit Osquery zu interagieren, besteht darin, die OSQueryi -Sitzung zu verwenden. Wenn Sie beispielsweise den Befehl Osqueryi ohne Argument ausführen, werden Sie in eine SQL-ähnliche Shell fallen:
sudo osqueryi
In der Osqueryi -Shell können Sie Befehle und SQL -Syntax ausführen, um spezifische Informationen zum System auszuwählen.
Verwenden Sie den Befehl, um den Hilfsmodus in der Osqueryi -Shell anzuzeigen:
Osquery> .Hilfe
Durch die Ausführung dieses Befehls sollte Hilfe in der OSQuery -Sitzung angezeigt werden.
Da OSQuery ein relationaler Datenbank -Mapper für Ihr System ist, enthält es eine Liste von Tabellen, mit denen Sie Informationen aus SQLite -Abfragen auswählen können.
NOTIZ: OSQuery-Abfragen basieren auf SQLite. Sie können sich auf die Dokumentation beziehen, wenn OSQuery nicht genügend Informationen enthält:
https: // www.sqlite.org/index.html
Verwenden Sie in der Osqueryi -Shell den Befehl:
Osquery> .Tische
Dieser Befehl listet die verfügbaren Tabellen mit Systeminformationen auf.
Von dort aus können Sie Informationen aus den verfügbaren Schemas auswählen. Sehen Sie sich beispielsweise die Informationen zu DNS -Resolver an.
Wählen Sie * aus dns_resolvers;
Abhängig von dem von Ihnen abfragenden Schema erhalten Sie eine Bootsladung von Informationen und müssen möglicherweise eine Kombination aus SQL -Abfragen verwenden, um dies zu verstehen.
Aus der folgenden Ressource erfahren Sie mehr über Osquery -Tabellen und Schemas:
Ein grundlegender SQL -Leitfaden
OSQuery funktioniert mit SQLite -Syntax -Abfragen, um Informationen über ein System zu sammeln. Ich habe keine Ahnung, warum Facebook diese Route ausgewählt hat, aber sie funktioniert.
In diesem einfachen Tutorial werden SQLite -Grundlagen erörtert, um zu erklären, wie Sie es verwenden können, um mit OSQuery zu interagieren.
NOTIZ: Dies ist in keiner Weise ein Leitfaden für SQL oder verwandte Sprachen. Weitere sprachspezifische Leitfäden finden Sie in der primären Dokumentation.
Auswählen bestimmter Einträge aus einer Tabelle
Mit der grundlegenden SQLite -Syntax können wir spezifische Informationen aus einer Tabelle unter Verwendung der ausgewählten Anweisung wie gezeigt auswählen:
Wählen Sie PID, Name, Pfad aus Prozessen;
Hinzufügen von SQL -Funktionen
OSQuery unterstützt auch SQL -Funktionen und ermöglicht es Ihnen, verschiedene Aktionen mit Daten auszuführen, die aus den Abfragen gesammelt wurden.
Mit der Anzahl der Zählungen können Sie beispielsweise die Anzahl der Benutzer in Ihrem System anzeigen.
Wählen Sie Graf (*) von Benutzern aus;
Dieser Befehl gibt die Gesamtzahl der Benutzer im System zurück.
Die Fähigkeit für OSQuery, die SQL-Syntax zu verwenden. Es schafft auch eine Brücke, die SQL -Entwickler Motoren wie PostgreSQL, MySQL und andere verwenden können, um sich mühelos anzupassen.
https: // osquery.Readthedocs.IO/EN/STABLE/EINLEITUNG/SQL/
Ein lustiges Nebenprojekt
Wenn Sie OSQuery weiter untersuchen und damit experimentieren, werden Sie feststellen.
Aufgrund des Umfangs dieses Tutorials und um Verwirrungsanfänger zu vermeiden, werden wir uns nicht mit komplexen Projekten befassen. Dies erwähnt hier einige Tools, die Sie mit OSQuery erstellen können:
https: // osquery.Readthedocs.IO/EN/Stable/Bereitstellung/Protokoll-Aggregation/
https: // www.elastisch.co/Guide/en/Beats/Filebeat/7.10/Filebeat-Module-osquery.html
https: // github.com/fleetdm/flotte
Abschluss
In diesem Tutorial haben wir uns die Grundlagen von Osquery angesehen, einschließlich der Verwendung, um Systeminformationen zu sammeln.
Obwohl dieser Leitfaden, der Ihnen eine schnelle und unkomplizierte Einführung in Osquery bietet, verpflichtet ist. Auf keinen Fall war es ein Referenzhandbuch.
Nutzen Sie andere Ressourcen, um ein tieferes Verständnis der verschiedenen Konzepte zu erhalten, die wir in diesem Tutorial besprochen haben.