Wazuh est une solution de surveillance de la sécurité gratuite, open source et prête pour l'entreprise pour la détection des menaces, la surveillance de l'intégrité, la réponse aux incidents et la conformité.
Dans ce tutoriel, nous allons montrer l'installation de l'architecture distribuée. Les architectures distribuées contrôlent le gestionnaire Wazuh et les clusters de piles élastiques via différents hôtes. Le gestionnaire Wazuh et Elastic Stack sont gérés sur la même plate-forme par des implémentations à hôte unique.
Serveur Wazuh :Exécute l'API et Wazuh Manager. Les données des agents déployés sont collectées et analysées.
Elastic Stack :Exécute Elasticsearch, Filebeat et Kibana (y compris Wazuh). Il lit, analyse, indexe et stocke les données d'alerte du gestionnaire Wazuh.
Agent Wazuh :s'exécute sur l'hôte surveillé, collecte les données de journalisation et de configuration et détecte les intrusions et les anomalies.
1. Installation du serveur Wazuh
Pré-configuration
Définissons d'abord le nom d'hôte. Lancez Terminal et saisissez la commande suivante :
hostnamectl set-hostname wazuh-server
Mettre à jour CentOS et les packages :
yum update -y
Ensuite, installez NTP et vérifiez son état de service.
yum install ntp
systemctl status ntpd
Si le service n'est pas démarré, démarrez-le à l'aide de la commande ci-dessous :
systemctl start ntpd
Activer NTP au démarrage du système :
systemctl enable ntpd
Modifiez les règles de pare-feu pour autoriser le service NTP. Exécutez les commandes suivantes pour activer le service.
firewall-cmd --add-service=ntp --zone=public --permanent
firewall-cmd --reload
Installation du gestionnaire Wazuh
Ajoutons la clé :
rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
Modifiez le dépôt Wazuh :
vim /etc/yum.repos.d/wazuh.repo
Ajoutez le contenu suivant au fichier.
[wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/3.x/yum/ protect=1
Enregistrez et quittez le fichier.
Lister les dépôts en utilisant le repolist commande.
yum repolist
Installez le gestionnaire Wazuh à l'aide de la commande ci-dessous :
yum install wazuh-manager -y
Ensuite, installez Wazuh Manager et vérifiez son état.
systemctl status wazuh-manager
Installation de l'API Wazuh
NodeJS>=4.6.1 est requis pour exécuter l'API Wazuh.
Ajoutez le dépôt NodeJS officiel :
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
installer NodeJS :
yum install nodejs -y
Installez l'API Wazuh. Il mettra à jour NodeJS si nécessaire :
yum install wazuh-api
Vérifiez l'état de wazuh-api.
systemctl status wazuh-api
Modifiez manuellement les informations d'identification par défaut à l'aide des commandes suivantes :
cd /var/ossec/api/configuration/auth
Définissez un mot de passe pour l'utilisateur.
node htpasswd -Bc -C 10 user darshana
Redémarrez l'API.
systemctl restart wazuh-api
Si vous en avez besoin, vous pouvez modifier le port manuellement. Le fichier /var/ossec/api/configuration/config.js contient le paramètre :
// TCP Port used by the API. config.port = "55000";
Nous ne modifions pas le port par défaut.
Installer Filebeat
Filebeat est l'outil du serveur Wazuh qui transmet en toute sécurité les alertes et les événements archivés à Elasticsearch. Pour l'installer, exécutez la commande suivante :
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Référentiel d'installation :
vim /etc/yum.repos.d/elastic.repo
Ajoutez le contenu suivant au serveur :
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Installez Filebeat :
yum install filebeat-7.5.1
Téléchargez le fichier de configuration Filebeat à partir du référentiel Wazuh. Ceci est préconfiguré pour transmettre les alertes Wazuh à Elasticsearch :
curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/v3.11.0/extensions/filebeat/7.x/filebeat.yml
Modifier les autorisations de fichier :
chmod go+r /etc/filebeat/filebeat.yml
Téléchargez le modèle d'alertes pour Elasticsearch :
curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v3.11.0/extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json
Téléchargez le module Wazuh pour Filebeat :
curl -s https://packages.wazuh.com/3.x/filebeat/wazuh-filebeat-0.1.tar.gz | sudo tar -xvz -C /usr/share/filebeat/module
Ajoutez l'IP du serveur Elasticsearch. Modifiez "filebeat.yml".
vim /etc/filebeat/filebeat.yml
Modifiez la ligne suivante.
output.elasticsearch.hosts: ['http://ELASTIC_SERVER_IP:9200']
Activez et démarrez le service Filebeat :
systemctl daemon-reload systemctl enable filebeat.service systemctl start filebeat.service
2. Installation d'Elastic Stack
Nous allons maintenant configurer le deuxième serveur Centos avec ELK.
Effectuez les configurations sur votre serveur de pile élastique.
Préconfigurations
Comme d'habitude, définissons d'abord le nom d'hôte.
hostnamectl set-hostname elk
Mettre à jour le système :
yum update -y
Installer ELK
Installez Elastic Stack avec les packages RPM, puis ajoutez le référentiel Elastic et sa clé GPG :
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Créez un fichier de référentiel :
vim /etc/yum.repos.d/elastic.repo
Ajoutez le contenu suivant au fichier :
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Installer Elasticsearch
Installez le package Elasticsearch :
yum install elasticsearch-7.5.1
Elasticsearch écoute par défaut sur l'interface de bouclage (localhost). Configurez Elasticsearch pour écouter une adresse sans bouclage en modifiant /etc/elasticsearch/elasticsearch.yml et en décommentant la configuration network.host. Ajustez la valeur IP à laquelle vous souhaitez vous connecter :
network.host: 0.0.0.0
Modifier les règles de pare-feu.
firewall-cmd --permanent --zone=public --add-rich-rule=' rule family="ipv4" source address="34.232.210.23/32" port protocol="tcp" port="9200" accept'
Recharger les règles de pare-feu :
firewall-cmd --reload
La configuration supplémentaire sera nécessaire pour le fichier de configuration de la recherche élastique.
Modifiez le fichier "elasticsearch.yml".
vim /etc/elasticsearch/elasticsearch.yml
Modifiez ou modifiez "node.name" et "cluster.initial_master_nodes".
node.name: <node_name>
cluster.initial_master_nodes: ["<node_name>"]
Activez et démarrez le service Elasticsearch :
systemctl daemon-reload
Activer au démarrage du système.
systemctl enable elasticsearch.service
Démarrer le service de recherche élastique.
systemctl start elasticsearch.service
Vérifiez l'état de la recherche élastique.
systemctl status elasticsearch.service
Vérifiez le fichier journal pour tout problème.
tail -f /var/log/elasticsearch/elasticsearch.log
Une fois qu'Elasticsearch est opérationnel, nous devons charger le modèle Filebeat. Exécutez la commande suivante sur le serveur Wazuh (nous y avons installé filebeat.)
filebeat setup --index-management -E setup.template.json.enabled=false
Installer Kibana
Installez le package Kibana :
yum install kibana-7.5.1
Installez le plug-in d'application Wazuh pour Kibana :
sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-3.11.0_7.5.1.zip
Plugin KibanaBesoin de modifier les configurations de Kibana pour accéder à Kibana de l'extérieur.
Modifiez le fichier de configuration Kibana.
vim /etc/kibana/kibana.yml
Modifiez la ligne suivante.
server.host: "0.0.0.0"
Configurez les URL des instances Elasticsearch.
elasticsearch.hosts: ["http://localhost:9200"]
Activez et démarrez le service Kibana :
systemctl daemon-reload systemctl enable kibana.service systemctl start kibana.service
Ajout de l'API Wazuh aux configurations Kibana
Modifiez "wazuh.yml".
vim /usr/share/kibana/plugins/wazuh/wazuh.yml
Modifier le nom d'hôte, le nom d'utilisateur et le mot de passe :
Enregistrez et quittez le fichier et redémarrez le service Kibana.
systemctl restart kibana.service
Nous avons installé le serveur Wazuh et le serveur ELK. Nous allons maintenant ajouter des hôtes à l'aide d'un agent.
3. Installation de l'agent Wazuh
Je. Ajout du serveur Ubuntu
un. Installation des packages nécessaires
apt-get install curl apt-transport-https lsb-release gnupg2
Installez la clé GPG du dépôt Wazuh :
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | apt-key add -
Ajoutez le référentiel, puis mettez à jour les référentiels.
echo "deb https://packages.wazuh.com/3.x/apt/ stable main" | tee /etc/apt/sources.list.d/wazuh.list
apt-get update
b. Installation de l'agent Wazuh
La commande Blow ajoute automatiquement l'IP "WAZUH_MANAGER" à la configuration de wazuh-agent lors de son installation.
WAZUH_MANAGER="52.91.79.65" apt-get install wazuh-agent
II. Ajout de l'hôte CentOS
Ajoutez le dépôt Wazuh.
rpm --import http://packages.wazuh.com/key/GPG-KEY-WAZUH
Modifier et ajouter au référentiel :
vim /etc/yum.repos.d/wazuh.repo
Ajoutez le contenu suivant :
[wazuh_repo] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=Wazuh repository baseurl=https://packages.wazuh.com/3.x/yum/ protect=1
Installez l'agent.
WAZUH_MANAGER="52.91.79.65" yum install wazuh-agent
4. Accéder au tableau de bord Wazuh
Naviguez sur Kibana en utilisant l'IP.
http://IP or hostname:5601/
Vous verrez l'interface ci-dessous.
Cliquez ensuite sur l'icône "Wazuh" pour accéder à son tableau de bord. Vous verrez le tableau de bord "Wazuh" comme suit.
Ici, vous pouvez voir les agents connectés, la gestion des informations de sécurité, etc. lorsque vous cliquez sur les événements de sécurité ; vous pouvez voir une vue graphique des événements.
Si vous êtes arrivé jusqu'ici, félicitations ! Il s'agit d'installer et de configurer le serveur Wazuh sur CentOS.