Sicherheit muss immer einer der Hauptgründe sein, warum wir nach integralen internen und externen Lösungen auf der Ebene von Hardware , Services, Prozessen und den Benutzern selbst suchen. Es besteht kein Zweifel, dass wir in Linux-Umgebungen die verschiedenen Lösungen verwenden können, die entwickelt wurden, um die Sicherheit unserer Systeme zu verbessern. Aus diesem Grund wird TechnoWikis eine spezielle OSQuery erläutern und wir werden verstehen, wie dadurch eine zusätzliche Sicherheitsstufe hinzugefügt wird Unser System und wir als Administratoren oder IT-Gruppe werden etwas selbstbewusster sein, ohne jedoch jemals auf die traditionellen Sicherheitsratschläge zu verzichten.
OSQuery verwendet ein einfaches Plugin und eine Erweiterungs-API, um SQL-Tabellen zu implementieren. Es ist jedoch bereits eine Sammlung von Tabellen einsatzbereit. Einige dieser Tabellen sind nur für ein spezielles System verfügbar, z. B. in Im Falle von Linux sehen wir nur die Tabelle kernel_modules.
Um die Funktionsweise von OSQuery zu verstehen, stellt dieses Tool das Betriebssystem als relationale Hochleistungsdatenbank zur Verfügung, sodass dank dieser Offenlegung SQL-Abfragen geschrieben werden können, um die Betriebssystemdaten viel tiefer zu untersuchen. Bei Verwendung von OSQuery werden SQL-Tabellen als abstrakte Konzepte dargestellt, ähnlich wie laufende Prozesse, geladene Kernelmodule, offene Netzwerkverbindungen, Hardwareereignisse, Datei-Hashes oder mehr.
- Es verfügt über einen verteilten Hostüberwachungs-Daemon mit hoher Leistung und geringem Platzbedarf (osqueryd), mit dem Abfragen so geplant werden können, dass sie auf der gesamten in der Organisation bereitgestellten Infrastruktur ausgeführt werden.
- Die von osqueryd generierte Registrierung kann dank einer Architektur von Ergänzungen in die internen Registrierungen integriert werden, um immer bessere Sicherheitsoptionen zur Verfügung zu haben.
- Es hat eine interaktive Abfragekonsole mit dem Namen osqueryi, eine SQL-Schnittstelle, die entwickelt wurde, um neue Abfragen zu testen und das Betriebssystem eingehend zu untersuchen. Diese Konsole bietet alle Vorteile einer vollständigen SQL-Sprache und verfügt über Hunderte integrierter Tabellen, die von entscheidender Bedeutung sind Reaktion auf Vorfälle, Problemdiagnosen auf der Ebene des Systembetriebs und mehr.
- OSQuery ist eine plattformübergreifende Anwendung. Unabhängig davon, ob diese Anwendung die Betriebssystem-APIs auf niedriger Ebene 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 genügend Dokumentation zur Erstellung von Paketen, mit denen wir Ressourcen für die Verwaltung haben.
- Der OSQuery-Basiscode besteht aus modularen Hochleistungskomponenten, die öffentliche APIs verwenden, um ihre Vorteile zu erweitern.
Nun wollen wir sehen, wie OSQuery unter Linux installiert wird.
1. Installieren Sie OSQuery unter Linux
OSQuery kann aus dem offiziellen Repository mit den Paketverwaltungstools apt, yum oder dnf installiert werden, je nachdem, welche Distribution wie folgt verwendet wird:
export OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $ OSQUERY_KEY sudo add-apt-repository 'deb [arch = amd64] https://pkg.osquery.io/deb deb main' sudo apt update sudo apt install osquery
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 installiere osquery
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 - aktiviere osquery-s3-rpm sudo yum installiere osquery
Für CentOS 7 haben wir jedoch 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 ab dem Jahr 2011 und führen zunächst Folgendes aus:
sudo rpm -ivh https://osquery-packages.s3.amazonaws.com/centos7/noarch/osquery-s3-centos7-repo-1-0.0.noarch.rpm
Dann führen wir auch die OSQuery-Installation aus.
sudo yum installiere osquery
Geben Sie den Buchstaben ein und bestätigen Sie den Download und die Installation von OSQuery in CentOS 7. Irgendwann müssen wir die Installation des GPG-Schlüssels autorisieren:
Wir geben die Buchstaben s ein, um dies zu bestätigen und wir werden sehen, dass OSQuery korrekt in CentOS 7 installiert ist.
2. Verwenden Sie OSQuery, um Linux zu analysieren
Sobald OSQuery in CentOS 7 korrekt installiert ist, starten wir die osqueryi-Shell, um die Abfragen des Status des Betriebssystems zu starten. Dazu führen wir Folgendes aus:
osqueryi
Um eine Zusammenfassung unseres Linux-Betriebssystems zu erhalten, führen wir den folgenden Befehl aus:
SELECT * FROM system_info;
In den Ergebnissen sehen wir Details wie:
- Hostname
- IP-Adresse
- Typ der verwendeten CPU
- UUID und mehr
Wenn wir eine Liste aller Benutzer im Linux-System erhalten möchten, führen wir die folgende OSQuery-Abfrage aus:
SELECT * FROM Benutzer;
Um eine Liste aller Linux-Kernelmodule und ihren jeweiligen Status zu erhalten, führen wir Folgendes aus.
SELECT * FROM kernel_modules;
Wenn auf die Liste aller in CentOS, RHEL und Fedora installierten RPM-Pakete zugegriffen werden muss, führen wir die folgende Abfrage aus:
.alle rpm_packages;
Um auf Informationen zum Ausführen von Prozessen unter Linux zuzugreifen, ist die folgende Abfrage hilfreich:
SELECT DISTINCT process.name, listening_ports.port, process.pid FROM listening_port JOIN-Prozesse USING (pid) WHERE listening_ports.address = '0.0.0.0';
Um alle implementierten Tabellen aufzulisten, die wir ausführen:
.tables
Um das Schema (Spalten, Typen) einer bestimmten Tabelle aufzulisten, führen wir eine der folgenden Zeilen aus:
.schema tabellenname Pragma table_info (table_name);
Um die allgemeine Hilfe anzuzeigen, führen wir Folgendes aus:
.hilfe
Um OSQuery zu beenden, führen wir Folgendes aus:
.exit
Mit OSQuery ist es möglich, auf detaillierte Informationen zu vielen Systemparametern zuzugreifen, um die Verwaltungsaufgaben zu verbessern und immer über hervorragende Funktionsmerkmale zu verfügen.