Recherche de site Web

Comment surveiller la sécurité du serveur Linux avec Osquery


Osquery est un cadre d'instrumentation, de surveillance et d'analyse de système d'exploitation open source gratuit, puissant et multiplateforme basé sur SQL pour les systèmes Linux, FreeBSD, Windows et Mac/OS X, construit par Facebook. Il s'agit d'un explorateur de système d'exploitation simple et facile à utiliser.

Il combine un certain nombre d'outils qui effectuent des analyses et une surveillance de bas niveau du système d'exploitation ; ces outils révèlent un système d'exploitation comme une base de données relationnelle hautes performances telle que MySQL/MariaDB, PostgreSQL et plus encore, où les concepts du système d'exploitation sont représentés dans sous forme de tableau, permettant ainsi aux utilisateurs d'utiliser des commandes SQL pour effectuer la surveillance et l'analyse du système.

Osquery utilise un simple plugin et une API d'extensions pour implémenter des tables SQL, il existe une collection de tables prêtes à l'emploi, et d'autres sont en cours d'écriture. Certaines tables ne peuvent être trouvées que sur un système d'exploitation spécifique, par exemple, vous ne trouvez la table kernel_modules que sur les systèmes Linux.

De plus, vous pouvez exécuter des requêtes pour surveiller et analyser l'état du système d'exploitation sur un seul hôte via le shell osqueryi, ou sur plusieurs hôtes sur un réseau via un planificateur ou les exécuter à partir de n'importe laquelle de vos applications personnalisées à l'aide d'osquery Thrift. Apis.

Comment installer Osquery sous Linux

Osquery peut être installé à partir du référentiel officiel à l'aide de l'outil de gestion de packages apt yum ou dnf sur votre distribution Linux respective, comme indiqué.

Sur Debian/Ubuntu

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

Sur RHEL/CentOS

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 --enable osquery-s3-rpm-repo
sudo yum install osquery

Sur Fedora 22+

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 install osquery

Comment surveiller et analyser Linux à l'aide d'Osquery

Une fois que vous avez installé avec succès Osquery sur votre système, lancez le shell osqueryi pour commencer à interroger l'état de votre système d'exploitation, comme indiqué.

osqueryi

Using a virtual database. Need help, type '.help'
osquery> 

Pour obtenir un résumé des informations sur le système Linux, exécutez la commande suivante.

osquery> SELECT  * FROM system_info;

Pour obtenir une liste bien formatée de tous les utilisateurs du système Linux, exécutez la requête suivante.

osquery> SELECT * FROM users;

Pour obtenir une liste de tous les modules du noyau Linux et leur état, exécutez la requête suivante.

osquery> SELECT * FROM kernel_modules;

Pour obtenir une liste de tous les packages RPM installés sur CentOS, RHEL et Fedora, exécutez la requête suivante.

osquery> .all rpm_packages;

Pour obtenir des informations sur l'exécution des processus Linux, exécutez la requête suivante.

osquery> SELECT DISTINCT processes.name, listening_ports.port, processes.pid FROM listening_ports JOIN processes USING (pid) WHERE listening_ports.address = '0.0.0.0';

Si vous exécutez osquery sur un ordinateur de bureau et que Firefox ou Chrome est installé, vous pouvez répertorier tous vos modules complémentaires à l'aide de la requête suivante.

osquery> .all firefox_addons;
osquery> .all  chrome_extensions;

Pour afficher une liste de toutes les tables implémentées sous Linux, utilisez la commande .tables comme indiqué.

osquery> .tables;	#list all implemented tables
osquery> .help; 	#view help message

Osquery fournit également des fonctionnalités de surveillance de l'intégrité des fichiers (FIM), d'audit des processus et des sockets, etc. Il s'agit donc d'un outil de détection d'intrusion, mais cela nécessite certaines configurations avant de pouvoir le faire. déployez-le dans un tel but. Vous pouvez trouver plus d'informations dans le référentiel Osquery Github.