Debian

Comment installer Osquery sur Debian 10

Comment installer Osquery sur Debian 10
Dans ce tutoriel Osquery, nous commencerons par discuter de ce qu'est Osquery, comment il fonctionne, comment l'installer sur Debian, une introduction rapide à SQL, et enfin construire un projet détaillant comment intégrer Osquery avec la pile ELK.

Pour garder ce tutoriel concis, nous ne plongerons pas profondément dans le « quoi » et le « comment » de la pile ELK. Au lieu de cela, nous discuterons rapidement et directement de la façon de l'utiliser avec Osquery. Nous supposerons également que vous avez une connaissance pratique de SQL (malgré le guide fourni).

Qu'est-ce que l'Osquery?

Développé par Facebook, Osquery est un outil open source multiplateforme utilisé pour interroger et surveiller les systèmes à l'aide de requêtes SQL.

Osquery peut interagir avec le système et collecter des informations détaillées telles que l'utilisation de la mémoire, les processus en cours, les modules de noyau chargés, les événements matériels, les connexions réseau, etc. L'outil fonctionne sur tous les systèmes, y compris Windows, Linux, Mac et BSD.

En utilisant Osquery, vous pouvez créer des requêtes SQL qui affichent des informations sur le système et utiliser ces informations pour surveiller et analyser les données collectées.

Comment installer Osquery sur les systèmes Debian

L'installation d'Osquery sur les systèmes Debian est très simple, et bien qu'elle ne soit pas disponible dans les principaux dépôts Debian, l'ajouter est assez simple.

Regardons la première méthode que vous pouvez utiliser pour installer Osquery sur Debian :

La première étape et la plus simple consiste à télécharger le programme d'installation deb depuis la page principale :

https://pkg.osquerie.io/deb/osquery_4.6.0-1.linux_amd64.deb

wget https://pkg.osquerie.io/deb/osquery_4.6.0-1.linux_amd64.deb
sudo dpkg -i osquery_4.6.0-1.linux_amd64.deb

Nous recommandons la méthode ci-dessus car les paquets deb ont très peu de dépendances sur la plupart des distributions Debian. Cependant, si vous souhaitez ajouter à apt, utilisez la méthode suivante.

Entrez les commandes suivantes pour installer Osquery à partir des référentiels.

exporter 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.osquerie.io/deb deb main'
sudo apt-get mise à jour
sudo apt-get install osquery

Comment utiliser Osquery sur Debian 10

Avant de plonger profondément dans la création de scripts automatisés et de travailler avec la pile ELK, discutons de l'utilisation simple d'Osquery sur le système local.

Osquery a trois composants principaux que vous pouvez utiliser pour interagir avec l'API.

Osquerie: Le premier composant est osqueryi, une session shell interactive. Le mode osqueryi est entièrement autonome et ne nécessite pas d'interaction avec le démon Osquery-Osquery. En utilisant le mode osqueryi, vous pouvez exécuter de manière interactive des requêtes SQL et explorer le système actuel de la même manière qu'un shell SQL.

REMARQUE: Osquery respecte les espaces utilisateur, et si vous exécutez le shell en mode utilisateur normal, vous n'aurez pas accès aux tables privilégiées.

Osqueryd : L'autre composant est osqueryd, le démon Osquery utilisé pour planifier les requêtes et enregistrer les changements d'état en arrière-plan. Le démon fonctionne en agrégeant les résultats des requêtes exécutées sur une période de temps spécifique et génère des journaux utilisés pour comparer les changements d'état de chaque requête.

Osqueryctl : Le troisième composant est Osqueryctl, un script d'aide utilisé pour tester la configuration du déploiement. Vous pouvez également l'utiliser comme gestionnaire de service Osquery, vous permettant de démarrer et d'arrêter le service.

Prêt à l'emploi, Osquery n'est rien de plus qu'un simple outil pour interroger des informations sur le système. Cependant, lorsque vous combinez les requêtes pour créer des données bien triées et agrégées, cela devient plus qu'un outil de requête.

Pour commencer, commençons par les bases pour comprendre comment cela fonctionne :

La première étape consiste à obtenir de l'aide avec la commande :

sudo osqueryd --help

Cette commande affichera l'aide du démon Osquery, avec une liste d'arguments que vous pouvez utiliser dans le shell.

Le moyen suivant, et le plus simple d'interagir avec Osquery, consiste à utiliser la session osqueryi. Par exemple, si vous exécutez la commande osqueryi sans argument, vous tomberez dans un shell de type SQL :

sudo osqueryi

Dans le shell osqueryi, vous pouvez exécuter des commandes et la syntaxe SQL pour sélectionner des informations spécifiques sur le système.

Pour afficher le mode d'aide dans le shell osqueryi, utilisez la commande :

osquerie > .aider

L'exécution de cette commande devrait afficher l'aide concernant la session Osquery.

Étant donné qu'Osquery est un mappeur de base de données relationnelle pour votre système, il contient une liste de tables que vous pouvez utiliser pour sélectionner des informations à partir des requêtes SQLite.

REMARQUE: Les requêtes Osquery sont basées sur SQLite. Vous pouvez vous référer à sa documentation si Osquery ne fournit pas suffisamment d'informations :

https://www.sqlite.org/index.html

Dans le shell osqueryi, utilisez la commande :

osquerie > .les tables

Cette commande répertorie les tables disponibles contenant des informations système.

De là, vous pouvez sélectionner des informations parmi les schémas disponibles. Par exemple, afficher les informations sur les résolveurs DNS.

SELECT * FROM dns_resolvers;

Selon le schéma que vous interrogez, vous obtiendrez une multitude d'informations et devrez peut-être utiliser une combinaison de requêtes SQL pour en comprendre le sens.

Vous pouvez en savoir plus sur les tables et les schémas Osquery à partir de la ressource suivante :

https://osquery.io/schéma/4.6.0/

Un guide SQL de base

Osquery fonctionne en utilisant des requêtes de syntaxe SQLite pour collecter des informations sur un système. Je ne sais pas pourquoi Facebook a choisi cette voie, mais ça marche.

Ce tutoriel simple abordera les bases de SQLite pour expliquer comment vous pouvez l'utiliser pour interagir avec Osquery.

REMARQUE: Ceci n'est en aucun cas destiné à être un guide pour SQL ou les langages connexes. Pour des guides plus spécifiques à la langue, reportez-vous à la documentation principale.

Sélection d'entrées spécifiques dans une table

En utilisant la syntaxe SQLite de base, nous pouvons sélectionner des informations spécifiques dans une table à l'aide de l'instruction SELECT, comme indiqué :

SELECT pid, nom, chemin FROM processus ;

Ajout de fonctions SQL

Osquery prend également en charge les fonctions SQL, vous permettant d'effectuer diverses actions avec les données recueillies à partir des requêtes.

Par exemple, la fonction de comptage peut vous permettre de visualiser le nombre d'utilisateurs dans votre système.

SELECTIONNER COUNT(*) FROM utilisateurs ;

Cette commande renverra le nombre total d'utilisateurs dans le système.

La possibilité pour Osquery d'utiliser la syntaxe SQL est un énorme avantage qui peut vous aider à créer des ensembles de données complexes qui peuvent vous donner une analyse plus approfondie d'un système. Il crée également un pont que les développeurs SQL utilisant des moteurs tels que PostgreSQL, MySQL et d'autres peuvent utiliser pour s'adapter facilement.

https://osquery.lire les docs.io/fr/stable/introduction/sql/

Un projet parallèle amusant

Lorsque vous explorez Osquery plus en profondeur et que vous l'expérimentez, vous découvrirez qu'il s'agit d'un outil complet et puissant qui facilite la création de projets spécialement conçus pour surveiller vos systèmes.

En raison de la portée de ce tutoriel, et pour éviter de dérouter les débutants, nous ne nous plongerons pas dans des projets complexes. Cela dit, voici quelques outils que vous pouvez créer à l'aide d'Osquery :

https://osquery.lire les docs.io/en/stable/deployment/log-aggregation/
https://www.élastique.co/guide/fr/beats/filebeat/7.10/filebeat-module-osquery.html
https://github.com/fleetdm/fleet

Conclusion

Dans ce tutoriel, nous avons examiné les bases d'Osquery, y compris comment l'utiliser pour collecter des informations système.

Bien qu'il ne soit pas exhaustif, ce guide a pour but de vous fournir une introduction rapide et directe à Osquery ; ce n'était en aucun cas un guide de référence.

N'hésitez pas à utiliser d'autres ressources pour mieux comprendre les différents concepts dont nous avons discuté dans ce didacticiel.

Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...
5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...