GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie osquery unter Debian 10

osquery ist ein kostenloses und Open-Source-Tool, das von Facebook entwickelt wurde und zum Abfragen von betriebssystembezogenen Informationen verwendet werden kann, einschließlich Speichernutzung, installierte Pakete, Prozessinformationen, Login-Benutzer, Listening Ports und viele mehr. Es kann auf mehreren Betriebssystemen ausgeführt werden, darunter Windows, Linux, FreeBSD und MacOS. Es ist ein sehr nützliches Tool für eine Vielzahl von Anwendungsfällen, um Leistungs- und Betriebsprobleme zu beheben. Es enthält viele Tools, die Ihnen bei der Durchführung von Betriebssystemanalysen und -überwachungen helfen.

In diesem Tutorial lernen wir, wie man osquery unter Debian 10 installiert und verwendet.

Voraussetzungen

  • Ein Server mit Debian 10.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, sollten Sie das Paket Ihres Systems auf die neueste Version aktualisieren. Sie können alle Pakete mit dem folgenden Befehl aktualisieren:

apt-get update -y
apt-get upgrade -y

Sobald alle Pakete aktualisiert sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen.

osquery installieren

Standardmäßig ist osquery nicht im Standard-Repository von Debian 10 verfügbar. Sie müssen also das osquery-Repository in Ihrem System hinzufügen.

Laden Sie zuerst den GPG-Schlüssel herunter und fügen Sie ihn mit dem folgenden Befehl hinzu:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B

Fügen Sie als Nächstes das osquery-Repository mit dem folgenden Befehl hinzu:

apt-get install software-properties-common -y
add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'

Aktualisieren Sie als Nächstes das Repository und installieren Sie osquery mit dem folgenden Befehl:

apt-get update -y
apt-get install osquery -y

Sobald die Installation abgeschlossen ist, starten Sie den osquery-Dienst mit dem folgenden Befehl:

osqueryctl starte osqueryd

Sie können den Status von osquery auch mit dem folgenden Befehl überprüfen:

osqueryctl status osqueryd

Sie sollten die folgende Ausgabe sehen:

? osqueryd.service – Der Osquery-Daemon Geladen:geladen (/lib/systemd/system/osqueryd.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sun 2020-04-19 15:21:57 UTC; vor 6s Prozess:25333 ExecStartPre=/bin/sh -c if [ ! -f $KONFIG_DATEI ]; dann echo {}> $CONFIG_FILE; fi (code=beendet, status=0/SUCCESS) Prozess:25334 ExecStartPre=/bin/sh -c if [ ! -f $FLAG_DATEI ]; dann berühren Sie $FLAG_FILE; fi (code=beendet, status=0/SUCCESS) Prozess:25336 ExecStartPre=/bin/sh -c if [ -f $LOCAL_PIDFILE ]; dann mv $LOCAL_PIDFILE $PIDFILE; fi (code=exited, status=0/SUCCESS) Main PID:25337 (osqueryd) Tasks:13 (limit:4701) Memory:6.4M CGroup:/system.slice/osqueryd.service ??25337 /usr/bin/osqueryd --flagfile /etc/osquery/osquery.flags --config_path /etc/osquery/osquery.conf ??25339 /usr/bin/osquerydApr 19 15:21:57 debian10 systemd[1]:Starten des osquery Daemon... 19. Apr 15:21:57 debian10 systemd[1]:Started The osquery Daemon. 25337]:I0419 15:21:57.261158 25339 events.cpp:863] Ereignisherausgeber nicht aktiviert:auditeventpublisher:PublishApr 19 15:21:57 debian10 osqueryd[25337]:I0419 15:21:57.261485 25339 events.cpp:863] Ereignis Herausgeber nicht aktiviert:Syslog:Herausgeber deaktiviert v

Arbeiten mit osquery

osquery kommt mit drei nützlichen Komponenten osqueryi, osqueryd und osqueryctl. osqueryi ist eine interaktive Osquery-Shell und kommuniziert nicht mit einem Daemon. Sie können die Shell verwenden, um Abfragen auszuführen und den aktuellen Zustand Ihres Betriebssystems zu untersuchen. osqueryd ist der Hostüberwachungs-Daemon, der verwendet werden kann, um Abfragen zu planen und Änderungen des Betriebssystemstatus aufzuzeichnen. osqueryctl ist ein Hilfsskript zum Testen der Konfiguration.

Sie können den folgenden Befehl ausführen, um eine Verbindung zur Osquery-Shell herzustellen:

osqueryi

Sie sollten die folgende Ausgabe erhalten:

Eine virtuelle Datenbank verwenden. Benötigen Sie Hilfe, geben Sie '.help'
ein

Führen Sie als Nächstes den Befehl .help aus, um alle mit osquery verfügbaren Optionen anzuzeigen:

osquery> .help

Sie sollten die folgende Ausgabe erhalten:

Willkommen in der Osquery-Shell. Bitte erkunden Sie Ihr Betriebssystem! Sie sind mit einer vorübergehenden virtuellen Datenbank im Arbeitsspeicher verbunden..all [TABLE] Wählen Sie alles aus einer Tabelle aus .exit Dieses Programm beenden.features Funktionen von osquery und deren Status auflisten.headers ON|OFF Anzeige von Kopfzeilen ein- oder ausschalten.help Diese Meldung anzeigen.mode MODE Ausgabemodus festlegen, wobei MODE einer der folgenden ist:csv Spalte mit kommaseparierten Werten Links- ausgerichtete Spalten siehe .Breite Zeile Ein Wert pro Zeile Liste Werte getrennt durch .Separator Zeichenfolge hübsch Hübsche gedruckte SQL-Ergebnisse (Standard).Nullwert STR Verwenden Sie STRING anstelle von NULL-Werten.Drucken Sie STR... Drucken Sie den Literal-STRING.quit Beenden Sie dieses Programm. schema [TABLE] Zeigt die CREATE-Anweisungen.separator STR Ändert das Trennzeichen, das von der Ausgabe verwendet wird. mode.socket Zeigt den osquery-Erweiterungssocket pa th.show Zeigt die aktuellen Werte für verschiedene settings.summary Alias ​​für den Show-Meta-Befehl.tables [TABLE] Listet Namen von tables.types [SQL] Zeigt das Ergebnis von getQueryColumns für die gegebene Abfrage.width [NUM1]+ Setzt Spaltenbreiten für "column" mode.timer ON|OFF Schalten Sie die CPU-Timer-Messung ein oder ausosquery> 

Es stehen viele Tabellen zur Abfrage zur Verfügung. Sie können alle Tabellen mit dem folgenden Befehl auflisten:

osquery> .table

Sie sollten die folgende Ausgabe erhalten:

 => acpi_tables => apparmor_profiles => apt_sources => arp_cache => atom_packages => augeas => authorisierte_keys => block_devices => carbon_black_info => carves => chrome_extensions => cpu_time => cpuid => crontab => curl => curl_certificate => deb_packages => device_file => device_hash => device_partitions => disk_encryption => dns_resolvers => docker_container_labels => docker_container_mounts

Sie können die verschiedenen Systeminformationen finden, indem Sie die obige Tabelle mit osquery verwenden.

System mit osquery überwachen

Mit osquery können Sie die Speichernutzung, Prozessinformationen, den Speicherplatz, angemeldete Benutzer und vieles mehr überwachen.

Starten Sie zuerst die Osquery-Shell mit dem folgenden Befehl:

osqueryi

Als nächstes können Sie mit dem folgenden Befehl die Informationen zu Ihrem System-Hostnamen, CPU-Kern und physischem Speicher abrufen:

osquery> select hostname,cpu_physical_cores,physical_memory from system_info;

Sie sollten die folgende Ausgabe erhalten:

+------------+--------------------+----------- -----+| Hostname | cpu_physical_cores | physischer_speicher |+-----------+--------------------+------------- ----+| debian10 | 1 | 1032937472 |+-----------+--------------------+------------- ----+

Um Informationen über die Datei ssh_config zu erhalten, führen Sie die folgende Abfrage aus:

osquery> select * from ssh_configs;

Sie sollten die folgende Ausgabe erhalten:

W0419 15:47:17.043509 25397 virtual_table.cpp:959] Die Tabelle ssh_configs gibt standardmäßig Daten basierend auf dem aktuellen Benutzer zurück, erwägen Sie JOINing gegen die BenutzertabelleW0419 15:47:17.043740 25397 virtual_table.cpp:974] Bitte lesen Sie die Tabellendokumentation:https://osquery.io/schema/#ssh_configs+-----+--------+-------------------- ------+---------------------+| UID | blockieren | Möglichkeit | ssh_config_file |+-----+--------+---------------------+----- ----------------+| 0 | Host * | sendenv lang lc_* | /etc/ssh/ssh_config || 0 | Host * | hashknownhosts ja | /etc/ssh/ssh_config || 0 | Host * | gssapiauthentication ja | /etc/ssh/ssh_config |+-----+--------+---------------------+ ---------------------+osquery> 

Führen Sie die folgende Abfrage aus, um eine Liste aller Benutzer in Ihrem System zu erhalten:

osquery> SELECT * FROM Benutzer;

Sie sollten die folgende Ausgabe erhalten:

+-------+-------+------------+------------+---- -------------+------------------------------------ +----------------------+------+------ +| UID | gid | uid_signiert | gid_signiert | Benutzername | Beschreibung | Verzeichnis | Schale | uuid |+-------+-------+-----------+------------+----- -------------+------------------------------------+ ----------------------+------+------+ | 0 | 0 | 0 | 0 | Wurzel | Wurzel | /root | /bin/bash | || 1 | 1 | 1 | 1 | Dämon | Dämon | /usr/sbin | /usr/sbin/nologin | || 2 | 2 | 2 | 2 | bin | bin | /bin | /usr/sbin/nologin | || 3 | 3 | 3 | 3 | System | System | /dev | /usr/sbin/nologin | || 4 | 65534 | 4 | 65534 | synchronisieren | synchronisieren | /bin | /bin/sync | || 5 | 60 | 5 | 60 | Spiele | Spiele | /usr/spiele | /usr/sbin/nologin | || 6 | 12 | 6 | 12 | Mann | Mann | /var/cache/mann | /usr/sbin/nologin | || 7 | 7 | 7 | 7 | LP | LP | /var/spool/lpd | /usr/sbin/nologin | |

Wenn Sie alle Nicht-Systembenutzer in Ihrem System auflisten möchten, führen Sie die folgende Abfrage aus:

osquery> select * from users where uid <=1000 limit 3;

Sie sollten die folgende Ausgabe erhalten:

+-----+-----+------------+------------+-------- --------------+-----------+---------------+- -----+| UID | gid | uid_signiert | gid_signiert | Benutzername | Beschreibung | Verzeichnis | Schale | uuid |+-----+-----+------------+------------+--------- -+-------------+-----------+---------------+-- ----+| 0 | 0 | 0 | 0 | Wurzel | Wurzel | /root | /bin/bash | || 1 | 1 | 1 | 1 | Dämon | Dämon | /usr/sbin | /usr/sbin/nologin | || 2 | 2 | 2 | 2 | bin | bin | /bin | /usr/sbin/nologin | |+-----+-----+------------+------------+---------- +-------------+---+------+--- ---+

Führen Sie die folgende Abfrage aus, um die Liste der derzeit angemeldeten Benutzer zu erhalten:

osquery> select * from selected_in_users where type ='user';

Sie sollten die folgende Ausgabe erhalten:

+------+------+-------+--------------+--------- ---+-------+| Typ | Benutzer | tty | Gastgeber | Zeit | pid |+------+------+-------+--------------+---------- --+-------+| Benutzer | Wurzel | Punkte/0 | 27.61.217.59 | 1587309538 | 19279 || Benutzer | Wurzel | Punkte/1 | 27.61.217.59 | 1587310737 | 25378 || Benutzer | Wurzel | Punkte/2 | 27.61.217.59 | 1587310997 | 25394 |+------+------+-------+--------------+---------- --+-------+

Führen Sie die folgende Abfrage aus, um die Speicherinformationen Ihres Systems anzuzeigen:

osquery> select * from memory_info;

Sie sollten die folgende Ausgabe erhalten:

+--------------+------------+----------+------ ------+-------------+-----------+-----------+----- -------+-----------+| memory_total | speicher_frei | Puffer | zwischengespeichert | swap_cached | aktiv | inaktiv | swap_total | swap_free |+-------------+------------+----------+------- -----+-------------+-----------+-----------+------ ------+-----------+| 4138455040 | 2407211008 | 79745024 | 1384751104 | 0 | 556371968 | 954744832 | 0 | 0 |+-------------+------------+----------+------- -----+-------------+-----------+-----------+------ ------+-----------+osquery> 

Führen Sie die folgende Abfrage aus, um die durchschnittliche Auslastung Ihres Systems zu ermitteln:

osquery> select * from load_average;

Sie sollten die folgende Ausgabe erhalten:

+--------+----------+| Zeitraum | Durchschnitt |+--------+----------+| 1m | 0,000000 || 5m | 0,000000 || 15m | 0.000000 |+--------+----------+osquery> 

Um eine Liste der ersten fünf Pakete in Ihrem System zu erhalten, führen Sie die folgende Abfrage aus:

osquery> select * from deb_packages top limit 5;

Sie sollten die folgende Ausgabe erhalten:

+--------------+------------+------------ -+------+-------+----------+| Name | Fassung | Quelle | Größe | Bogen | Überarbeitung |+--------------+------------+---------------------- +------+-------+----------+| acpi-support-basis | 0,142-8 | acpi-Unterstützung | 43 | alle | 8 || scharf | 1:2.0.31-1 | | 146 | amd64 | 1 || adduser | 3.118 | | 849 | alle | || Apparat | 2.13.2-10 | | 1833 | amd64 | 10 || passend | 1.8.2 | | 4064 | amd64 | |+----------------------+------------+-------------+ ------+-------+----------+

Um Informationen über laufende Prozesse in Ihrem System zu erhalten, führen Sie die folgende Abfrage aus:

osquery> SELECT DISTINCT prozesse.name, lauschende_ports.port, prozesse.pid FROM lauschende_ports JOIN-Prozesse USING (pid) WHERE lauschende_ports.address ='0.0.0.0';

Sie sollten die folgende Ausgabe erhalten:

+------+------+-----+| Name | Hafen | pid |+------+------+-----+| sshd | 22 | 729 |+------+------+-----+

Führen Sie die folgende Abfrage aus, um alle vorherigen Anmeldungen zu finden:

osquery> select * from last;

Sie sollten die folgende Ausgabe erhalten:

+----------+-------+-------+------+------------ +--------------+| Benutzername | tty | PID | Typ | Zeit | host |+----------+-------+-------+------+------------+ --------------+| Wurzel | Punkte/0 | 1448 | 7 | 1587365277 | 27.61.217.41 || Wurzel | Punkte/1 | 13392 | 7 | 1587368569 | 27.61.217.41 || | Punkte/0 | 1004 | 8 | 1587376329 | || | Punkte/1 | 13321 | 8 | 1587376821 | || | ttyS0 | 748 | 8 | 1587465619 | || | tty1 | 749 | 8 | 1587465619 | || Wurzel | Punkte/0 | 1057 | 7 | 1587465664 | 27.61.217.9 || Wurzel | Punkte/1 | 1375 | 7 | 1587465846 | 27.61.217.9 |+----------+-------+-------+------+----------- -+--------------+

Führen Sie die folgende Abfrage aus, um alle von crontab geplanten Jobs aufzulisten:

osquery> select-Befehl, Pfad von crontab;

Sie sollten die folgende Ausgabe erhalten:

+---------------------------------------------- -------------------------------------------------- ----------------------------------------+--------- ----------+| Befehl | Pfad |+------------------------------------------------------------ -------------------------------------------------- --------------------------------------+---------- ---------+| root cd / &&run-parts --report /etc/cron.hourly | /etc/crontab || root test -x /usr/sbin/anacron || ( cd / &&run-parts --report /etc/cron.daily ) | /etc/crontab || root test -x /usr/sbin/anacron || ( cd / &&run-parts --report /etc/cron.weekly ) | /etc/crontab || root test -x /usr/sbin/anacron || ( cd / &&run-parts --report /etc/cron.monthly ) | /etc/crontab || root if [ -x /usr/share/mdadm/checkarray ] &&[ $(date +\%d) -le 7 ]; dann /usr/share/mdadm/checkarray --cron --all --idle --quiet; fi | /etc/cron.d/mdadm |

Führen Sie die folgende Abfrage aus, um alle offenen Ports in Ihrem System zu finden:

osquery> select * from listening_ports;

Sie sollten die folgende Ausgabe erhalten:

+------+------+----------+--------+------------ +-----+--------+---------------------------------- ------+---------------+| PID | Hafen | Protokoll | Familie | Adresse | fd | Steckdose | Weg | net_namespace |+------+------+----------+--------+------------+ -----+--------+----------------------------------- -----+---------------+| 444 | 53 | 6 | 2 | 127.0.0.53 | 13 | 14910 | | 4026531993 || 729 | 22 | 6 | 2 | 0.0.0.0 | 3 | 16940 | | 4026531993 || 664 | 3306 | 6 | 2 | 127.0.0.1 | 69 | 15824 | | 4026531993 || 544 | 6379 | 6 | 2 | 127.0.0.1 | 6 | 15472 | | 4026531993 || 729 | 22 | 6 | 10 | ::| 4 | 16951 | | 4026531993 || 544 | 6379 | 6 | 10 | ::1 | 7 | 15473 | | 4026531993 || 759 | 80 | 6 | 10 | ::| 4 | 17009 | | 4026531993 || 444 | 53 | 17 | 2 | 127.0.0.53 | 12 | 14909 | | 4026531993 || 405 | 58 | 255 | 10 | ::| 15 | 16039 | | 4026531993 |

Führen Sie die folgende Abfrage aus, um die 5 aktivsten Prozesse aufzulisten:

osquery> select count(pid) as total, name from processes group by name order by total desc limit 5;

Sie sollten die folgende Ausgabe erhalten:

+-------+---------+| insgesamt | Name |+-------+---------+| 4 | sshd || 3 | apache2 || 2 | systemd || 2 | bash || 2 | agetty |+-------+---------+

Schlussfolgerung

Im obigen Tutorial haben wir gelernt, wie man osquery in Debian 10 installiert und verwendet. osquery ist ein sehr nützliches Tool, um Backdoors, Malware oder Zombie-Prozesse in Ihrem System zu finden. Weitere Informationen zu osquery finden Sie auf der osquery-Dokumentationsseite.


Debian
  1. So installieren Sie R unter Debian 9

  2. So installieren Sie R unter Debian 10

  3. So installieren Sie Apache ZooKeeper unter Debian 10

  4. So installieren Sie Ionic Framework unter Debian 10

  5. So installieren Sie WildFly unter Debian 11

So installieren Sie Go unter Debian 10

So installieren Sie LEMP in Debian 7

So installieren Sie Flectra unter Debian 10

So installieren Sie OpenNebula unter Debian 10

So installieren Sie TeamViewer unter Debian 10

So installieren Sie Go unter Debian