Sicherheit sollte immer einer der Hauptgründe sein, warum wir sowohl intern als auch extern ganzheitliche Lösungen auf Hardware-, Service-, Prozess- und Anwenderebene suchen. Zweifellos können wir in Linux-Umgebungen die verschiedenen Lösungen nutzen, die entwickelt wurden, um die Sicherheit unserer Systeme zu verbessern. Aus diesem Grund wird Solvetic ein spezielles OSQuery erklären, und wir werden verstehen, wie dank dieses mehr Sicherheitsniveau wird unserem System hinzugefügt und als Administratoren oder IT-Gruppe werden wir etwas selbstbewusster sein, ohne jedoch jemals auf die traditionelle Sicherheitsberatung verzichten zu müssen.
Was ist OSQuery?OSQuery wurde als Instrumentierungs-Framework für das Betriebssystem entwickelt und ist sowohl für Windows, OS X (macOS), Linux als auch FreeBSD verfügbar. OSQuery verfügt über praktische und dennoch umfassende Tools, die für die Ausführung verschiedener Low-Level-Betriebssystemscans und die umfassende Überwachung der Leistung und jedes Prozesses verantwortlich sind.
OSQuery verwendet ein einfaches Plugin und eine Erweiterungs-API, um SQL-Tabellen zu implementieren, aber es existiert bereits eine Sammlung von einsatzbereiten Tabellen, einige dieser Tabellen sind nur für ein spezielles System verfügbar, z Unter Linux sehen wir nur die Tabelle kernel_modules.
Um die Funktionsweise von OSQuery zu verstehen, stellt dieses Tool das Betriebssystem als leistungsstarke relationale Datenbank bereit, sodass dank dieser Offenlegung SQL-Abfragen geschrieben werden können, um Betriebssystemdaten viel tiefer zu untersuchen. Bei der Verwendung von OSQuery werden SQL-Tabellen als abstrakte Konzepte dargestellt, ähnlich wie laufende Prozesse, geladene Kernel-Module, offene Netzwerkverbindungen, Hardware-Ereignisse, Datei-Hashes oder mehr.
OSQuery-Funktionen
Unter den verschiedenen Funktionen von OSQuery finden wir:
- Es verfügt über einen leistungsstarken, aber platzsparenden, verteilten Host-Überwachungs-Daemon namens osqueryd, dank dem es möglich ist, Abfragen so zu planen, dass sie auf der gesamten in der Organisation installierten Infrastruktur ausgeführt werden.
- Die von osqueryd generierte Registry kann dank einer Plugin-Architektur in die internen Registrys integriert werden, um immer bessere Sicherheitsoptionen zur Verfügung zu haben.
- Es verfügt über eine interaktive Abfragekonsole namens osqueryi, eine SQL-Schnittstelle, die entwickelt wurde, um neue Abfragen zu testen und das Betriebssystem gründlich zu erkunden. Diese Konsole bietet alle Vorteile der vollständigen SQL-Sprache und verfügt über Hunderte von integrierten Tabellen, die für Zwischenfälle entscheidend sind Reaktion, Fehlerdiagnose auf Systembetriebsebene und mehr.
- OSQuery ist plattformübergreifend, unabhängig davon, ob diese Anwendung die Low-Level-Betriebssystem-APIs verwendet, können wir OSQuery auf Windows-Systemen, macOS, Ubuntu, CentOS und anderen Linux-Distributionen auf Unternehmensebene erstellen und verwenden. .
- OSQuery hat native Pakete für alle kompatiblen Betriebssysteme, es gibt auch Tools und viel Dokumentation zur Erstellung von Paketen, mit denen wir Ressourcen für deren Verwaltung haben.
- Die OSQuery-Codebasis besteht aus leistungsstarken, modularen Komponenten, die öffentliche APIs verwenden, um ihre Vorteile zu erweitern.
Jetzt werden wir sehen, wie man OSQuery unter Linux installiert.
1. OSQuery unter Linux installieren
Schritt 1
OSQuery kann je nach verwendeter Distribution wie folgt aus dem offiziellen Repository mit den Paketverwaltungstools apt, yum oder dnf installiert werden:
In Debian- oder Ubuntu-Umgebungen
export OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $ OSQUERY_KEY sudo add-apt-repository 'deb [arch = amd64] deb https://pkg/debi64 .] /debquery 'sudo apt update sudo apt install osquery
In Fedora-Umgebungen
curl -L https://pkg.osquery.io/rpm/GPG | sudo tee / etc / pki / rpm-gpg / RPM-GPG-KEY-osquery dnf config-manager --add-repo --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm. repo sudo dnf config-manager --set-enabled osquery-s3-rpm sudo dnf install osquery
In CentOS 7-UmgebungenFür CentOS 7-Umgebungen, die wir in diesem Tutorial verwenden, werden wir jede der folgenden Zeilen ausführen:
curl -L https://pkg.osquery.io/rpm/GPG | sudo tee / etc / pki / rpm-gpg / RPM-GPG-KEY-osquery sudo yum-config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo sudo yum -config-manager --enable osquery-s3-rpm sudo yum install osquery
Schritt 2
Aber für CentOS 7 haben wir die Möglichkeit, das RPM "auto-repo-add" zu installieren oder das Ziel des Repositorys hinzuzufügen. Diese RPMs funktionieren auf jedem Linux x86-64 mit einer Basisinstallation aus dem Jahr 2011 und zuerst führen wir folgendes aus:
sudo rpm -ivh https://osquery-packages.s3.amazonaws.com/centos7/noarch/osquery-s3-centos7-repo-1-0.0.noarch.rpm
Schritt 3
Dann führen wir die OSQuery-Installation wie folgt aus.
sudo yum installiere osquery
Schritt 4
Wir geben den Buchstaben y ein, um den Download und die Installation von OSQuery in CentOS 7 zu bestätigen. An einem Punkt der Installation müssen wir die Installation des GPG-Schlüssels autorisieren:
Schritt 5
Wir geben den Buchstaben s ein, um dies zu bestätigen, und wir werden sehen, dass OSQuery in CentOS 7 korrekt installiert ist.
2. Verwenden Sie OSQuery, um Linux zu analysieren
Schritt 1
Sobald OSQuery in CentOS 7 korrekt installiert ist, starten wir die osqueryi-Shell, um die Abfragen des Betriebssystemstatus zu starten, dazu führen wir Folgendes aus:
osqueryi
Schritt 2
Um eine zusammenfassende Information unseres Linux-Betriebssystems zu erhalten, führen wir den folgenden Befehl aus:
SELECT * FROM system_info;Schritt 3
In den Ergebnissen sehen wir Details wie:
- Hostname
- IP Adresse
- Verwendeter CPU-Typ
- UUID und mehr
Schritt 4
Wenn wir eine Liste aller Benutzer auf dem Linux-System erhalten möchten, führen wir die folgende OSQuery-Abfrage aus:
WÄHLEN * VON Benutzern;
Schritt 5
Um eine Liste aller Linux-Kernel-Module und ihres jeweiligen Status zu erhalten, führen wir Folgendes aus.
SELECT * FROM kernel_modules;
Schritt 6
Wenn es notwendig ist, auf die Liste aller in CentOS, RHEL und Fedora installierten RPM-Pakete zuzugreifen, führen wir die folgende Abfrage aus:
.all rpm_packages;
Schritt 7
Um auf Informationen zum Ausführen von Prozessen unter Linux zuzugreifen, ist die folgende Abfrage hilfreich:
SELECT DISTINCT process.name, Listening_ports.port, Processes.pid FROM Listening_Ports JOIN Prozesse USING (pid) WHERE Listening_ports.address = '0.0.0.0';Schritt 8
Um alle implementierten Tabellen aufzulisten, führen wir aus:
.Tabellen
Schritt 9
Um das Schema (Spalten, Typen) einer bestimmten Tabelle aufzulisten, führen wir eine der folgenden Zeilen aus:
.schema Tabellenname Pragma Tabelleninfo (Tabellenname);
Schritt 10
Um die allgemeine Hilfe anzuzeigen, führen wir Folgendes aus:
.Hilfe
Schritt 11
Um OSQuery zu beenden, führen wir Folgendes aus:
.AusfahrtMit OSQuery wird es möglich sein, auf detaillierte Informationen zu vielen Systemparametern zuzugreifen, um die Administrationsaufgaben zu verbessern und immer über große Funktionsmerkmale zu verfügen.