Pour garder ce tutoriel concis, nous ne plongerons pas profondément dans le «quoi» et le «comment» de la pile des élans. 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-le guide fourni nonobstant).
Qu'est-ce que Osquery?
Développé par Facebook, OsQuery est un outil d'open-source multiplateforme utilisé pour interroger et surveiller les systèmes à l'aide de requêtes basées sur SQL.
OSQuery peut interagir avec le système et recueillir des informations détaillées telles que l'utilisation de la mémoire, les processus en cours d'exécution, les modules de noyau chargé, 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.
À l'aide d'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 Debian Systems
L'installation d'OsQuery sur Debian Systems est très facile, et bien qu'elle ne soit pas disponible dans les principaux repos de Debian, l'ajout est assez simple.
Regardons la première méthode que vous pouvez utiliser pour installer OsQuery sur Debian:
La première étape la plus simple consiste à télécharger le programme d'installation Deb à partir de la page principale:
https: // pkg.osquery.IO / DEB / OSQUERY_4.6.0-1.linux_amd64.deb
wget https: // pkg.osquery.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 packages 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.
Export OSQuery_key = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv - keyserver hkp: // keyserver.ubuntu.com: 80 - recv-keys $ osquery_key
sudo add-att-repository 'deb [arch = amd64] https: // pkg.osquery.io / deb deb main '
Mise à jour Sudo apt-get
sudo apt-get install osquery
Comment utiliser Osquery sur Debian 10
Avant de plonger profondément dans la construction de scripts automatisés et de travailler avec la pile de wapitis, discutons une utilisation simple d'osquerie sur le système local.
OsQuery a trois composants principaux que vous pouvez utiliser pour interagir avec l'API.
Osquery: Le premier composant est Osqueryi, une session de coquille interactive. Le mode Osqueryi est entièrement autonome et ne nécessite pas d'interaction avec le démon Osquery-Osquery. À l'aide du mode Osqueryi, vous pouvez exécuter de manière interactive des requêtes SQL et explorer le système actuel similaire à un shell SQL.
NOTE: OsQuery respecte les espaces utilisateur et si vous exécutez le shell en mode utilisateur ordinaire, vous n'aurez pas accès à des tables privilégiées.
Osqueryd: L'autre composant est Osqueryd, le démon d'Osquery utilisé pour planifier les requêtes et enregistrer les modifications de l'état en arrière-plan. Le démon fonctionne en agrégeant les résultats de la requête exécutés sur un délai spécifique et génère des journaux utilisés pour comparer les modifications de l'état de chaque requête.
OSQueryctl: Le troisième composant est OsQueryctl, un script d'assistance utilisé pour tester la configuration du déploiement. Vous pouvez également l'utiliser en tant que gestionnaire de services Osquery, vous permettant de démarrer et d'arrêter le service.
Hors de la boîte, Osquery n'est rien de plus qu'un simple outil pour interroger les 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, elle devient plus qu'un outil de requête.
Pour obtenir Rollin ', 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 suivant, et le moyen le plus simple d'interagir avec Osquery, est d'utiliser la session d'Osqueryi. Par exemple, si vous exécutez la commande OsQueryi sans argument, vous vous déposera dans un shell de type SQL:
Sudo Osqueryi
À l'intérieur du shell Osqueryi, vous pouvez exécuter des commandes et une syntaxe SQL pour sélectionner des informations spécifiques sur le système.
Pour afficher le mode d'aide à l'intérieur du shell Osqueryi, utilisez la commande:
OSQuery> .aider
L'exécution de cette commande devrait afficher une aide concernant la session OSQuery.
Étant donné que OsQuery est un mappeur de base de données relationnelle pour votre système, il dispose d'une liste de tables que vous pouvez utiliser pour sélectionner des informations à l'aide de requêtes SQLite.
NOTE: 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
À l'intérieur du shell Osqueryi, utilisez la commande:
OSQuery> .les tables
Cette commande répertorie les tables disponibles contenant des informations système.
De là, vous pouvez sélectionner des informations dans les schémas disponibles. Par exemple, consultez les informations sur DNS Resolvers.
SELECT * FROM DNS_RESOLVERS;
Selon le schéma que vous interrogez, vous obtiendrez une cargaison d'informations et vous devrez peut-être utiliser une combinaison de requêtes SQL pour en donner un sens.
Vous pouvez en savoir plus sur les tables et les schémas OSQuery à partir de la ressource suivante:
Un guide SQL de base
OsQuery fonctionne en utilisant des requêtes de syntaxe SQLite pour recueillir des informations sur un système. Je ne sais pas pourquoi Facebook a choisi cette voie, mais cela fonctionne.
Ce didacticiel simple discutera des bases de SQLite pour expliquer comment vous pouvez l'utiliser pour interagir avec OsQuery.
NOTE: Ce n'est en aucun cas censé être un guide pour SQL ou les langues connexes. Pour plus de guides spécifiques à la langue, reportez-vous à la documentation principale.
Sélection des entrées spécifiques dans un tableau
En utilisant la syntaxe SQLite de base, nous pouvons sélectionner des informations spécifiques dans un tableau à l'aide de l'instruction SELECT comme indiqué:
Sélectionnez PID, nom, chemin dans les processus;
Ajout de fonctions SQL
OsQuery prend également en charge les fonctions SQL, vous permettant d'effectuer diverses actions avec des données recueillies à partir des requêtes.
Par exemple, la fonction Count peut vous permettre de visualiser le nombre d'utilisateurs de votre système.
Sélectionnez Count (*) parmi les utilisateurs;
Cette commande renverra le nombre total d'utilisateurs dans le système.
La possibilité d'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 avec facilité.
https: // osquery.lecture.IO / EN / STABLE / INTRODUCTION / SQL /
Un projet amusant et secondaire
Lorsque vous explorez davantage OsQuery et l'expérimentez, vous découvrirez que c'est un outil complet et puissant qui facilite la création de projets spécialement réglés pour surveiller vos systèmes.
En raison de la portée de ce tutoriel, et pour éviter les débutants déroutants, nous ne nous plongerons pas dans des projets complexes. Cela mentionné, voici quelques outils que vous pouvez créer à l'aide d'Osquery:
https: // osquery.lecture.io / en / stable / déploiement / log-agggation /
https: // www.élastique.CO / GUIDE / EN / BEATS / FILEBEAT / 7.10 / fichier-module-osquery.html
https: // github.com / fleetdm / flotte
Conclusion
Dans ce tutoriel, nous avons examiné les bases d'Osquery, y compris comment l'utiliser pour collecter les informations du système.
Bien qu'il ne soit pas complet, ce guide a été destiné à vous fournir une introduction rapide et simple à 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 tutoriel.