My Personal Wiki

La théorie, c'est quand on sait tout et que rien ne fonctionne.... La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

Outils pour utilisateurs

Outils du site


securite:system:wazuh

Wazuh HIDS


Installation

Indexer

Mini RAM (Go) Mini CPU (Cores) Reco RAM (Go) Reco CPU (Cores)
4 2 16 8

Pour 80 Pc, 10 serveurs, 10 équipements réseaux prévoir 230 Go d'espace disque.

Assistant

Télécharger le Script et le fichier de configuration .yml

curl -sO https://packages.wazuh.com/4.3/wazuh-install.sh
curl -sO https://packages.wazuh.com/4.3/config.yml

Éditer le ficher de Config “config.yml”

nodes:
  # Wazuh indexer nodes
  indexer:
    - name: node-1
      ip: <indexer-node-ip>
    #- 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: <wazuh-manager-ip>
    #  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: <dashboard-node-ip>

Changer les noms et ip des serveurs de votre infra.

Exécutez l'assistant avec l'option –generate-config-files pour générer la clé de cluster Wazuh, les certificats et les mots de passe nécessaires à l'installation. Vous pouvez trouver ces fichiers dans ./wazuh-install-files.tar.

bash wazuh-install.sh --generate-config-files

Ajouter l'option -i pour toutes vos commandes d'installation si vous utiliser une distro Debian

bash wazuh-install.sh -i --generate-config-files

Ceci afin d'ignorer le check de config.

Copiez le fichier wazuh-install-files.tar sur tous les serveurs du déploiement distribué, y compris le serveur Wazuh, l'indexeur Wazuh et les nœuds du tableau de bord Wazuh. Cela peut être fait en utilisant l'utilitaire scp.

Lancer l'installation du noeud indexer.

bash wazuh-install.sh --wazuh-indexer node-1

node-1 correspond à votre nom de server dans le fichier .yml.

Initialiser votre Cluster

bash wazuh-install.sh --start-cluster

Tester l'installation de votre cluster.
Executer cette commande pour extraire le mot de passe Amin de l'archive des fichiers de conf.

tar -axf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt -O | grep -P "\'admin\'" -A 1

Tester que votre serveur réponde bien.

curl -k -u admin:<ADMIN_PASSWORD> https://<WAZUH_INDEXER_IP>:9200

Server

Mini RAM (Go) Mini CPU (Cores) Reco RAM (Go) Reco CPU (Cores)
2 2 4 8

Pour 80 Pc, 10 serveurs, 10 équipements réseaux prévoir 10 Go d'espace disque.

Assistant

Télécharger le Script d'installation.

curl -sO https://packages.wazuh.com/4.3/wazuh-install.sh

Assurer vous d'avoir copié sur votre serveur le fichier wazuh-install-files.tar depuis l'indexer via la commande SCP.
Lancer l'installation de votre serveur.

bash wazuh-install.sh --wazuh-server wazuh-1

Modifier l'entrée wazuh-1 par le nom donnée à votre serveur dans le ficher de conf.

Noublier pas l'option -i lors de l'installation si vous opter pour une distro debian.

Dashboard

Indexer

Mini RAM (Go) Mini CPU (Cores) Reco RAM (Go) Reco CPU (Cores)
4 2 8 4

Assistant

Télécharger le Script et le fichier de configuration .yml

curl -sO https://packages.wazuh.com/4.3/wazuh-install.sh

Assurer vous d'avoir copié sur votre serveur le fichier wazuh-install-files.tar depuis l'indexer via la commande SCP. \ Lancer l'installation de votre serveur dashboard.

bash wazuh-install.sh --wazuh-dashboard dashboard

Une fois l'installation terminée:

INFO: --- Summary ---
INFO: You can access the web interface https://<wazuh-dashboard-ip>
   User: admin
   Password: <ADMIN_PASSWORD>
 
INFO: Installation finished.

Vous avez maintenant installé et configuré Wazuh. Tous les mots de passe générés par l'assistant d'installation de Wazuh se trouvent dans le fichier wazuh-passwords.txt à l'intérieur de l'archive wazuh-install-files.tar. Pour les imprimer, exécutez la commande suivante :

tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txt

Web UI

URL: https://<wazuh-dashboard-ip>
 
Username: admin
 
Password: <ADMIN_PASSWORD>

Paramètrages

Password Enrollement

Wazuh Manager

Pour permettre à l'agent de s'enrôler avec un mot de passe d'hautentification:
Activez l'option d'authentification par mot de passe en ajoutant la configuration mise en évidence ci-dessous à la section <auth> du fichier de configuration du serveur manager dans /var/ossec/etc/ossec.conf.

<auth>
  <use_password>yes</use_password>
</auth>

<!-- Configuration for wazuh-authd -->
  <auth>
    <disabled>no</disabled>
    <port>1515</port>
    <use_source_ip>no</use_source_ip>
    <purge>yes</purge>
    <use_password>yes</use_password>
    <ciphers>HIGH:!ADH:!EXP:!MD5:!RC4:!3DES:!CAMELLIA:@STRENGTH</ciphers>
    <!-- <ssl_agent_ca></ssl_agent_ca> -->
    <ssl_verify_host>no</ssl_verify_host>
    <ssl_manager_cert>etc/sslmanager.cert</ssl_manager_cert>
    <ssl_manager_key>etc/sslmanager.key</ssl_manager_key>
    <ssl_auto_negotiate>no</ssl_auto_negotiate>
  </auth>

Définissez un mot de passe à utiliser avec l'inscription de l'agent. Ceci peut être réalisé de deux manières:

Recommandé - Définir votre propre mot de passe. Cela se fait en créant le fichier /var/ossec/etc/authd.pass sur le manager avec votre mot de passe.

Remplacez <CUSTOM_PASSWORD> par le mot de passe d'inscription de l'agent que vous avez choisi et exécutez la commande suivante:

echo "<CUSTOM_PASSWORD>" > /var/ossec/etc/authd.pass

Modifier les autorisations et la propriété du fichier authd.pass.

chmod 640 /var/ossec/etc/authd.pass
chown root:wazuh /var/ossec/etc/authd.pass

Redémarrer le service wazuh pour prendre effet.

systemctl restart wazuh-manager

Autoriser le service d'inscription à définir un mot de passe aléatoire. Un nouveau mot de passe aléatoire est généré à chaque redémarrage du service Wazuh manager.

Redémarrez le gestionnaire afin que le service d'inscription génère un mot de passe aléatoire. Ce mot de passe est stocké dans /var/ossec/logs/ossec.log.

systemctl restart wazuh-manager

Exécutez la commande suivante pour obtenir le mot de passe d'inscription de l'agent :

grep "Random password" /var/ossec/logs/ossec.log

Sortie:

2022/01/11 12:41:35 wazuh-authd: INFO: Accepting connections on port 1515. Random password chosen for agent authentication: 6258b4eb21550e4f182a08c10d94585e

Certificate Enrollement

Wazuh Manager

En l'absence d'une autorité de certification déjà configurée, exécutez la commande suivante sur le serveur Wazuh pour l'utiliser comme autorité de certification :

openssl req -x509 -new -nodes -newkey rsa:4096 -keyout rootCA.key -out rootCA.pem -batch -subj "/C=FR/ST=LYS/O=Wazuh"
  1. Générez une demande de signature de certificat (CSR) pour l'agent Wazuh sur le serveur Wazuh :
  • Vérification de l'agent Wazuh sans validation de l'hôte : Ceci est effectué sans spécifier l'adresse IP ou le nom d'hôte de l'agent Wazuh.
openssl req -new -nodes -newkey rsa:4096 -keyout sslagent.key -out sslagent.csr -batch
  • Vérification de l'agent Wazuh avec validation de l'hôte : cela se fait en spécifiant l'adresse IP ou le nom d'hôte de l'agent Wazuh.
openssl req -new -nodes -newkey rsa:4096 -keyout sslagent.key -out sslagent.csr -subj '/C=FR/CN=<agent_IP>'
  • sslagent.csrest le CSR à soumettre à l'autorité de certification.
  • sslagent.keyest la clé privée CSR générée.
  1. Signez le CSR de l'agent généré à l'aide des clés CA :
openssl x509 -req -days 365 -in sslagent.csr -CA rootCA.pem -CAkey rootCA.key -out sslagent.cert -CAcreateserial
  • sslagent.csrest le CSR à soumettre à l'autorité de certification.
  • sslagent.certest le certificat SSL signé par le CSR.
  • rootCA.pemest le certificat racine de l'autorité de certification.
  • rootCA.keyest la clé privée du certificat racine de l'autorité de certification.

Copier le rootCA.pem dans le répertoire /var/ossec/etc/ de votre serveur Wazuh.
Editer le fichier de configuration /var/ossec/etc/ossec.conf en ajouter le chemin du rootCA.pem

<auth>
   ...
   <ssl_agent_ca>/var/ossec/etc/rootCA.pem</ssl_agent_ca>
</auth

Redemarrer le service wazuh-manager:

systemctl restart wazuh-manager

Clients Windows


Mot de passe

Sur le client windows créer un fichier authd.pass.
C:\Program Files (x86)\ossec-agent pour les OS 64-bit
C:\Program Files\ossec-agent pour les OS 32-bit

echo<CUSTOM_PASSWORD>> "C:\Program Files (x86)\ossec-agent\authd.pass"

Noter en lieux et place de <CUSTOM_PASSWORD> saisisser le mot de passe venant du manager.

Ajouter l'adress ip et les infos d'enrôlement du Wazuh manager dans le fichier de conf du client:

C:\Program Files (x86)\ossec-agent\ossec.conf
<client>
   <server>
       <address>MANAGER_IP</address>
      ...
   </server>
.......
<enrollment>
   <enabled>yes</enabled>
   <manager_address>ip_manager</manager_address>
   <groups>Windows</groups>
</enrollment>
</client>

Relancer le service en PowerShell:

Restart-Service -Name wazuh

Déploiement

Pour déployer un client en ligne de commande (Powershell)

Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.3.9-1.msi -OutFile ${env:tmp}\wazuh-agent-4.3.9.msi; msiexec.exe /i ${env:tmp}\wazuh-agent-4.3.9.msi /q WAZUH_MANAGER='ip_manager' WAZUH_REGISTRATION_SERVER='ip_manager' WAZUH_REGISTRATION_PASSWORD='************' WAZUH_AGENT_GROUP='Windows' 

Compléter avec les paramètre de votre serveur Wazuh.


Certificats

Assurez-vous que le certificat SSL signé et les fichiers de clés ( sslagent.certet sslagent.key) ont été copiés sur le poste.
Idéalement dans le profile de l'utilisateur (administrateur ou assimilé)

Modifiez le fichier de configuration de l’agent Wazuh situé dans “C:\Program Files (x86)\ossec-agent\ossec.conf” et incluez les éléments suivants :

<client>
   <server>
      <address>WAZUH_MANAGER_IP</address>
   </server>
   <enrollment>
      <agent_certificate_path>C:\Users\agent\sslagent\sslagent.cert</agent_certificate_path>
      <agent_key_path>C:\Users\agent\sslagent\sslagent.key</agent_key_path>
   </enrollment>
</client>

Relancer le service de l'agent ossec via PowerShell :

Restart-Service -Name wazuh

Si tout est Ok! vous devriez voir ceci dans votre fichier de log:

wazuh-agent: INFO: Valid key received
wazuh-agent: INFO: Waiting 20 seconds before server connection
wazuh-agent: INFO: Evaluation finished.

Depuis votre console Wazuh:


Client Linux

Déploiement

curl -so wazuh-agent-4.3.9.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.3.9-1_amd64.deb && sudo WAZUH_MANAGER='10.99.30.24' WAZUH_REGISTRATION_PASSWORD='*********' WAZUH_AGENT_GROUP='Linux' dpkg -i ./wazuh-agent-4.3.9.deb

Mot de passe

Créer le fichier contenant le mot de passe d'enrôlement.

echo "<CUSTOM_PASSWORD>" > /var/ossec/etc/authd.pass

Fixer les droits sur le fichier.

chmod 640 /var/ossec/etc/authd.pass
chown root:wazuh /var/ossec/etc/authd.pass

configuration de l'agent:

nano / etc/ossec/etc/ossec.conf

Applique la configuration comme suit:

<client>
    <server>
      <address>ip_manager</address>
      <port>1514</port>
      <protocol>tcp</protocol>
    </server>
    <config-profile>debian, debian11</config-profile>
    <notify_time>10</notify_time>
    <time-reconnect>60</time-reconnect>
    <auto_restart>yes</auto_restart>
    <crypto_method>aes</crypto_method>
<enrollment>
   <enabled>yes</enabled>
   <manager_address>ip_manager</manager_address>
   <authorization_pass_path><PATH_TO_PASSWORD_FILE></authorization_pass_path>
   <groups>Linux</groups>
</enrollment>
</client>
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

Certificate Enrollement

A l'aide de la commande SCP copier les fichiers sslagent.key et sslagent.cert sur le poste client.
Editer le fichier de configuration sur le poste client /var/ossec/etc/ossec.conf et modifier la section <client></client> comme dans l'exemple ci dessous:

<client>
   <server>
      <address><WAZUH_MANAGER_IP></address>
   </server>
   <enrollment>
      <agent_certificate_path>/<PATH_TO>/sslagent.cert</agent_certificate_path>
      <agent_key_path>/<PATH_TO>/sslagent.key</agent_key_path>
   </enrollment>
</client>

Redemarrer lagent wazuh sur le poste client:

systemctl restart wazuh-agent

Activer Vulnérabilitées

Serveur Wazuh

Pour activer la prise en charge des vulnérabilitées sur le serveur:

nano /var/ossec/etc/ossec.conf
 <vulnerability-detector>
    <enabled>yes</enabled>
    <interval>5m</interval>
    <min_full_scan_interval>6h</min_full_scan_interval>
    <run_on_start>yes</run_on_start>
 
    <!-- Ubuntu OS vulnerabilities -->
    <provider name="canonical">
      <enabled>yes</enabled>
      <os>trusty</os>
      <os>xenial</os>
      <os>bionic</os>
      <os>focal</os>
      <os>jammy</os>
      <update_interval>1h</update_interval>
    </provider>
 
    <!-- Debian OS vulnerabilities -->
    <provider name="debian">
      <enabled>yes</enabled>
      <os>stretch</os>
      <os>buster</os>
      <os>bullseye</os>
      <update_interval>1h</update_interval>
    </provider>
 
    <!-- RedHat OS vulnerabilities -->
    <provider name="redhat">
      <enabled>yes</enabled>
      <os>5</os>
      <os>6</os>
      <os>7</os>
      <os>8</os>
      <os>9</os>
      <update_interval>1h</update_interval>
    </provider>
 
    <!-- Amazon Linux OS vulnerabilities -->
    <provider name="alas">
      <enabled>no</enabled>
      <os>amazon-linux</os>
      <os>amazon-linux-2</os>
      <update_interval>1h</update_interval>
    </provider>
 
    <!-- Arch OS vulnerabilities -->
    <provider name="arch">
      <enabled>no</enabled>
      <update_interval>1h</update_interval>
    </provider>
 
    <!-- Windows OS vulnerabilities -->
    <provider name="msu">
      <enabled>yes</enabled>
      <update_interval>1h</update_interval>
    </provider>
 
    <!-- Aggregate vulnerabilities -->
    <provider name="nvd">
      <enabled>yes</enabled>
      <update_from_year>2010</update_from_year>
      <update_interval>1h</update_interval>
    </provider>
 
  </vulnerability-detector>

Client Linux

Editer la config et modifier comme suit:

/var/ossec/etc/ossec.conf
<!-- System inventory -->
  <wodle name="syscollector">
    <disabled>no</disabled>
    <interval>1h</interval>
    <scan_on_start>yes</scan_on_start>
    <hardware>yes</hardware>
    <os>yes</os>
    <network>yes</network>
    <packages>yes</packages>
    <ports all="no">yes</ports>
    <processes>yes</processes>
 
    <!-- Database synchronization settings -->
    <synchronization>
      <max_eps>10</max_eps>
    </synchronization>
  </wodle>

Relancer le service !

Client Windows

Sur le client Wazuh Windows éditer la config (attention executer le binaire en mode administrateur).

Ajouter la ligne: “<hotfixes>yes</hotfixes>” pour l'analyse.

<!-- System inventory -->
<wodle name="syscollector">
  <disabled>no</disabled>
  <interval>1h</interval>
  <scan_on_start>yes</scan_on_start>
  <hardware>yes</hardware>
  <os>yes</os>
  <network>yes</network>
  <packages>yes</packages>
  <ports all="no">yes</ports>
  <processes>yes</processes>
  <hotfixes>yes</hotfixes>
 
  <!-- Database synchronization settings -->
  <synchronization>
    <max_eps>10</max_eps>
  </synchronization>
</wodle>

Relancer le service!!


Changé le certificat auto signé

Si vous souhaitez changer les certificat par défaut par les votres.

cp /my-path/my certificat.pem /etc/wazuh-dashboard/certs/dashboard.pem
cp /my-path/my certificat-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

Aplliquer vos changement sur chaque serveur de votre infa.


Manage Agent

/var/ossec/bin/manage_agents
****************************************
* Wazuh v4.3.9 Agent manager.          *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: L

Remove agent

/var/ossec/bin/manage_agents -r 00x

Aller Plus Loins !


securite/system/wazuh.txt · Dernière modification : de sylvain

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki