Agent OsQuery

Fonction

Interrogez les hôtes à l’aide d’osquery. Ce plugin nécessite que l'exécutable osqueryi soit installé sur l'hôte surveillé. osqueryi est exécuté via l' SKOOR Agent qui doit également être installé et exécuté sur la machine interrogée. Il n'est pas nécessaire d'exécuter le démon osqueryd pour que ces requêtes fonctionnent.

Alarmant

Dépend des valeurs de retour configurées dans les paramètres du travail.

osquery est un outil open source créé par Facebook pour interroger diverses informations sur l'état des machines. Cela inclut des informations telles que :

  • Processus en cours d'exécution

  • Modules du noyau chargés

  • Comptes d'utilisateurs actifs

  • Connexions réseau actives

et beaucoup plus. osquery expose un système d'exploitation en tant que base de données relationnelle hautes performances et permet de l'interroger à l'aide d'instructions SQL.

osquery est actuellement disponible pour les systèmes d'exploitation suivants :

  • Linux

  • les fenêtres

  • OS X

  • GratuitBSD

Il peut être installé en suivant les instructions sur la page de téléchargement d'osquery : https://osquery.io/downloads/ . Alternativement, le binaire osqueryi peut simplement être copié dans /usr/bin .

Il est facile d’exécuter des requêtes manuellement sur l’hôte sur lequel osqueryi est installé. Exécutez simplement la commande osqueryi qui entre dans l'outil de requête interactif, puis saisissez la requête, suivie d'un point-virgule :

$ osqueryi
Using a virtual database. Need help, type '.help'
osquery> select value as string_value1 from cpuid where feature="product_name";
+------------------------------------------+
| string_value1                            |
+------------------------------------------+
| Dual-Core AMD Opteron(tm) Processor 1218 |
+------------------------------------------+
osquery> .quit

Trouvez plus d'informations sur osquery ici : https://osquery.readthedocs.io/en/stable/ .

Détails de Agent OsQuery

Paramètres OsQuery Agent

Paramètre

Description

Requête

La requête à exécuter sur la base de données osquery sur l'hôte local ( collecteur SKOOR) ou distant.

La liste déroulante Tags permet de saisir des variables prédéfinies dans les champs ci-dessus, par exemple $NAME$ pour le nom du travail.

La section exemples ci-dessous répertorie certaines des requêtes qui peuvent être utilisées. La sortie renvoyée par la requête doit être mappée aux valeurs de retour et aux valeurs de chaîne dans le bon ordre.

Alternativement, l'ordre des valeurs et des chaînes renvoyées peut être influencé en adaptant la requête pour fournir la valeur attendue et les noms de chaînes, par exemple la requête suivante mappera la valeur memory_free à la première valeur de retour et memory_total à la deuxième valeur de retour :

sélectionnez memory_total comme return_value2, memory_free comme return_value1 à partir de memory_info

La requête suivante renvoie deux valeurs String dans un ordre spécifique :

sélectionnez la fonctionnalité comme string_value1, la valeur comme string_value2 à partir de la limite cpuid 1

Cependant, les valeurs de retour et les valeurs de chaîne doivent toujours être configurées dans la section Paramètres du travail pour apparaître dans la section Valeurs du travail.

Valeurs OsQuery Agent et limites d'alarme

Valeur / Limite d'alarme

Description

Dépend des valeurs de retour configurées dans les paramètres du travail.

Code d'erreur

Code d'erreur de travail générique (voir la section Codes d'erreur de travail )

Exemples Agent OsQuery

Exemple 1 – Interroger le modèle de processeur

Requête

sélectionnez la valeur comme string_value1 à partir du cpuid où feature="product_name"

Cela nécessite que la valeur de chaîne suivante soit configurée :

Sortie 1

Exemple 2 – Requête totale et mémoire libre

Requête

sélectionnez memory_total, memory_free à partir de memory_info

Cela nécessite la configuration des 2 valeurs de retour suivantes :

L' Unité contient le nom de la valeur de retour, une Unité et un diviseur, puisque osquery renvoie les valeurs en octets :

Sortie 2

Exemples de requêtes supplémentaires

Requête

Description

Exemple de sortie

sélectionnez le nom d'utilisateur, la description, le répertoire des utilisateurs dont le nom d'utilisateur est comme '%eranger'

Lire les informations utilisateur

sélectionnez le jour de la semaine, le jour, le mois, l'année, unix_time à partir de l'heure

Lire l'heure du système

sélectionnez le nombre (pid) comme total, le nom du groupe de processus par nom, l'ordre par limite de description totale 10

Renvoie le nombre de processus, le nom des 10 processus les plus actifs

sélectionnez * dans la durée de disponibilité

Retourner la disponibilité du système