Pour une installation automatique complète de Wazuh sur Ubuntu, exécutez la commande suivante qui télécharge et lance le script d'installation :
curl -sO https://packages.wazuh.com/4.12/wazuh-install.sh && sudo bash ./wazuh-install.sh -a
adminTéléchargez d'abord l'outil de gestion des mots de passe :
curl -so wazuh-passwords-tool.sh https://packages.wazuh.com/4.12/wazuh-passwords-tool.sh
Ensuite, modifiez le mot de passe par défaut de l'utilisateur admin (remplacez Secr3tP4ssw*rd par votre mot de passe) :
bash wazuh-passwords-tool.sh -u admin -p Secr3tP4ssw*rd
Téléchargez l'outil de génération de certificats et le fichier de configuration :
curl -sO https://packages.wazuh.com/4.14/wazuh-certs-tool.sh
curl -sO https://packages.wazuh.com/4.14/config.yml
Modifiez le fichier de configuration pour y ajouter l'adresse IP de votre serveur Wazuh :
sudo vim config.yml
nodes:
# Wazuh indexer nodes
indexer:
- name: node-1
ip: "192.168.19.139"
#- name: node-2
# ip: "<indexer-node-ip>"
#- name: node-3
# ip: "<indexer-node-ip>"
# Wazuh server nodes
# If there is more than one Wazuh server
# node, each one must have a node_type
server:
- name: wazuh-1
ip: "192.168.19.139"
# node_type: master
#- name: wazuh-2
# ip: "<wazuh-manager-ip>"
# node_type: worker
#- name: wazuh-3
# ip: "<wazuh-manager-ip>"
# node_type: worker
# Wazuh dashboard nodes
dashboard:
- name: dashboard
ip: "192.168.19.139"
Générez les certificats SSL pour sécuriser les communications entre les composants :
sudo bash ./wazuh-certs-tool.sh -A
Créez une archive des certificats générés puis nettoyez le répertoire temporaire :
sudo tar -cvf ./wazuh-certificates.tar -C ./wazuh-certificates/ .
sudo rm -rf ./wazuh-certificates
Installez les dépendances nécessaires :
apt-get install debconf adduser procps
Installez les outils nécessaires pour gérer les dépôts APT sécurisés :
sudo apt-get install gnupg apt-transport-https
Importez la clé GPG de Wazuh et ajoutez le dépôt officiel à votre système :
sudo curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH |
sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && sudo chmod 644 /usr/share/keyrings/wazuh.gpg
sudo echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee -a /etc/apt/sources.list.d/wazuh.list
Mettez à jour la liste des paquets disponibles :
apt update
Installez le composant Wazuh Indexer (basé sur OpenSearch) :
apt-get -y install wazuh-indexer
Modifiez le fichier de configuration pour définir l'adresse réseau sur laquelle l'indexer écoutera :
sudo vim /etc/wazuh-indexer/opensearch.yml
Ajoutez l'IP de votre serveur dans network.host :
network.host: "192.168.19.139"
Définissez le nom du nœud indexer (utilisez le même nom que dans config.yml) :
NODE_NAME=<INDEXER_NODE_NAME>
Déployez les certificats SSL dans le répertoire de l'indexer :
sudo mkdir /etc/wazuh-indexer/certs
sudo tar -xf ./wazuh-certificates.tar -C /etc/wazuh-indexer/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./admin.pem ./admin-key.pem ./root-ca.pem
sudo mv -n /etc/wazuh-indexer/certs/$NODE_NAME.pem /etc/wazuh-indexer/certs/indexer.pem
sudo mv -n /etc/wazuh-indexer/certs/$NODE_NAME-key.pem /etc/wazuh-indexer/certs/indexer-key.pem
sudo chmod 500 /etc/wazuh-indexer/certs
sudo chmod 400 /etc/wazuh-indexer/certs/*
sudo chown -R wazuh-indexer:wazuh-indexer /etc/wazuh-indexer/certs
Démarrez et activez le service Wazuh Indexer :
sudo systemctl daemon-reload
sudo systemctl enable wazuh-indexer
sudo systemctl start wazuh-indexer
Désactivez les mises à jour automatiques pour éviter les incompatibilités :
sed -i "s/^deb /#deb /" /etc/apt/sources.list.d/wazuh.list
apt update
Initialisez la sécurité de l'indexer :
/usr/share/wazuh-indexer/bin/indexer-security-init.sh
Vérifiez que l'indexer fonctionne correctement (mot de passe par défaut : admin) :
sudo curl -k -u admin https://192.168.19.139:9200
Installez le gestionnaire Wazuh qui collecte et analyse les événements de sécurité :
apt-get -y install wazuh-manager
Installez Filebeat pour transférer les données du manager vers l'indexer :
apt-get -y install filebeat
Téléchargez le fichier de configuration Filebeat préconfiguré pour Wazuh :
sudo curl -so /etc/filebeat/filebeat.yml https://packages.wazuh.com/4.14/tpl/wazuh/filebeat/filebeat.yml
Modifiez le fichier pour ajouter l'IP de votre indexer dans la section hosts :
sudo vim /etc/filebeat/filebeat.yml
Stockez les identifiants de l'indexer de manière sécurisée dans le keystore Filebeat :
sudo echo admin | sudo filebeat keystore add username --stdin --force
sudo echo admin | sudo filebeat keystore add password --stdin --force
Téléchargez le template Elasticsearch pour Wazuh :
sudo curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.14.1/extensions/elasticsearch/7.x/wazuh-template.json
sudo chmod go+r /etc/filebeat/wazuh-template.json
Installez le module Wazuh pour Filebeat :
sudo curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.4.tar.gz | sudo tar -xvz -C /usr/share/filebeat/module
Définissez le nom du nœud serveur (utilisez le même nom que dans config.yml) :
NODE_NAME=<SERVER_NODE_NAME>
Déployez les certificats SSL pour Filebeat :
mkdir /etc/filebeat/certs
tar -xf ./wazuh-certificates.tar -C /etc/filebeat/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
mv -n /etc/filebeat/certs/$NODE_NAME.pem /etc/filebeat/certs/filebeat.pem
mv -n /etc/filebeat/certs/$NODE_NAME-key.pem /etc/filebeat/certs/filebeat-key.pem
chmod 500 /etc/filebeat/certs
chmod 400 /etc/filebeat/certs/*
chown -R root:root /etc/filebeat/certs
Configurez les identifiants dans le keystore de Wazuh Manager :
echo 'admin' | sudo /var/ossec/bin/wazuh-keystore -f indexer -k username
echo 'admin' | sudo /var/ossec/bin/wazuh-keystore -f indexer -k password
Modifiez la configuration du manager pour pointer vers l'indexer :
sudo vim vim /var/ossec/etc/ossec.conf
Ajoutez l'IP de votre serveur indexer dans la section <indexer> :
<indexer>
<enabled>yes</enabled>
<hosts>
<host>https://0.0.0.0:9200</host>
</hosts>
<ssl>
<certificate_authorities>
<ca>/etc/filebeat/certs/root-ca.pem</ca>
</certificate_authorities>
<certificate>/etc/filebeat/certs/filebeat.pem</certificate>
<key>/etc/filebeat/certs/filebeat-key.pem</key>
</ssl>
</indexer>
Démarrez et activez le service Wazuh Manager :
systemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-manager
Vérifiez que le service fonctionne correctement :
systemctl status wazuh-manager
Démarrez et activez le service Filebeat :
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat
Testez la connexion entre Filebeat et l'indexer :
sudo filebeat test output
Installez les dépendances nécessaires pour le dashboard :
apt-get install debhelper tar curl libcap2-bin #debhelper version 9 or later
Installez le composant Wazuh Dashboard (interface web) :
apt-get -y install wazuh-dashboard
Définissez le nom du nœud dashboard (utilisez le même nom que dans config.yml) :
NODE_NAME=<DASHBOARD_NODE_NAME>
Déployez les certificats SSL pour le dashboard :
mkdir /etc/wazuh-dashboard/certs
tar -xf ./wazuh-certificates.tar -C /etc/wazuh-dashboard/certs/ ./$NODE_NAME.pem ./$NODE_NAME-key.pem ./root-ca.pem
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME.pem /etc/wazuh-dashboard/certs/dashboard.pem
mv -n /etc/wazuh-dashboard/certs/$NODE_NAME-key.pem /etc/wazuh-dashboard/certs/dashboard-key.pem
chmod 500 /etc/wazuh-dashboard/certs
chmod 400 /etc/wazuh-dashboard/certs/*
chown -R wazuh-dashboard:wazuh-dashboard /etc/wazuh-dashboard/certs
Démarrez et activez le service Wazuh Dashboard :
systemctl daemon-reload
systemctl enable wazuh-dashboard
systemctl start wazuh-dashboard
Vous pouvez maintenant accéder à l'interface web de Wazuh via votre navigateur à l'adresse https://192.168.19.139 (ou l'IP de votre serveur).
Un groupe d'agents est une façon de regrouper plusieurs agents Wazuh en fonction de différents critères. Ensuite on peut appliquer à ces groupes les choses suivante :
/var/ossec/bin/manage_agentsPour configurer un compte VirusTotal, il suffit de se rendre sur le site https://virustotal.com et de s'inscrire. Une fois inscrit, allez dans votre profil et cliquez sur "API Key". Copiez ensuite cette clé dans un endroit sécurisé.

Action à faire sur le Serveur Wazuh
Copiez les lignes suivantes dans le fichier /var/ossec/etc/ossec.conf.
<ossec_config>
<integration>
<name>virustotal</name>
<api_key><YOUR_VIRUS_TOTAL_API_KEY></api_key> <!-- Replace with your VirusTotal API key -->
<rule_id>100200,100201</rule_id>
<alert_format>json</alert_format>
</integration>
</ossec_config>
Il est ensuite préférable de redémarer le service Wazuh Manager.
systemctl restart wazuh-manager
Action à faire sur le Serveur Wazuh
Copiez les lignes suivantes dans le fichier /var/ossec/etc/local_rule.xml
<group name="syscheck,pci_dss_11.5,nist_800_53_SI.7,">
<!-- Rules for Linux systems -->
<rule id="100200" level="7">
<if_sid>550</if_sid>
<field name="file">/root</field>
<description>File modified in /root directory.</description>
</rule>
<rule id="100201" level="7">
<if_sid>554</if_sid>
<field name="file">/root</field>
<description>File added to /root directory.</description>
</rule>
</group>
Action à faire sur l'agent Wazuh du Poste concerné
Modifier le fichier /var/ossec/etc/ossec.conf
<disabled>no</disabled>)Directories to check <!-- File integrity monitoring -->
<syscheck>
<disabled>no</disabled>
<!-- Frequency that syscheck is executed default every 12 hours -->
<frequency>43200</frequency>
<scan_on_start>yes</scan_on_start>
<!-- Directories to check (perform all possible verifications) -->
<directories>/etc,/usr/bin,/usr/sbin</directories>
<directories>/bin,/sbin,/boot</directories>
<directories check_all="yes" report_changes="yes" realtime="yes">/root</directories>
Action à faire sur un Poste qui a l'agent Wazuh configuré comme vu précedemment
wget https://secure.eicar.org/eicar.com.txt

apt install suricata
cd /tmp/ && curl -LO https://rules.emergingthreats.net/open/suricata-6.0.10/emerging.rules.tar.gz
tar -xvzf emerging.rules.tar.gz && mv rules/*.rules /etc/suricata/rules/
chmod 640 /etc/suricata/rules/*.rules
.yamlnano /etc/suricata/suricata.yaml
HOME_NET : IP_HOST
EXTERNAL_NET : ANY
address-groups:
#HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]"
HOME_NET: "[192.168.137.12/24]"
#HOME_NET: "[10.0.0.0/8]"
#HOME_NET: "[172.16.0.0/12]"
#HOME_NET: "any"
#EXTERNAL_NET: "!$HOME_NET"
EXTERNAL_NET: "any"
default-rule-path & rule-filesdefault-rule-path: /etc/suricata/rules
rule-files:
- "*.rules"
decoder_order_sizeFichier sur le Manager
nano /var/ossec/etc/internal_options.conf
# Maximum number of fields in a decoder (order tag) [32..1024]
analysisd.decoder_order_size=1024
nano /var/ossec/etc/ossec.conf
<localfile>
<log_format>json</log_format>
<location>/var/log/suricata/eve.json</location>
</localfile>
systemctl restart wazuh-agent
nmap -sS -sV -Pn 192.168.137.12

apt update
apt install curl
sudo bash -c "$(curl --fail --show-error --silent --location https://raw.githubusercontent.com/IamCarron/DVWA-Script/main/Install-DVWA.sh)"

http://<DVWA_IP_ADDRESS>/DVWA/vulnerabilities/sqli/?id=a' UNION SELECT "Hello","Hello Again";-- -&Submit=Submit

<script>alert("Hello");</script>
