LINUX:Wazuh-SYSCHECK


retour au menu pour les actions préventives


But

Ce module repère tout changement de taille et de contenu d'une vaste sélection de fichiers du système. Il joue un rôle semblable au logiciel "Rkhunter" vu dans un autre article.


Configuration

Sur la machine où le service "wazuh-manager" s'exécute, cette configuration est placée dans le fichier "/var/ossec/etc/ossec.conf".

Sur les machines hébergeant l'agent distant, la configuration peut être contenue dans le fichier du même nom mais il est plus pratique de transmettre cette configuration via le système de partage vu précédemment. Dans le cas du partage par défaut, sur la machine Manager, ce fichier se nomme "/var/ossec/etc/shared/default/agent.conf" et sur l'agent distant, il se trouve sous le nom "/var/ossec/etc/default/agent.conf".

La configuration est comprise entre les balises <syscheck> et </syscheck>. Celle venant en base lors de l’installation est suffisante.

Voici une configuration de base:


 <syscheck>
   <disabled>no</disabled>
   <frequency>43200</frequency>
   <scan_on_start>no</scan_on_start>
   <alert_new_files>yes</alert_new_files>
   <auto_ignore frequency="10" timeframe="3600">no</auto_ignore>
 
   <directories>/etc,/usr/bin,/usr/sbin</directories>
   <directories>/bin,/sbin,/boot</directories>
 
   <ignore>/etc/mtab</ignore>
   <ignore>/etc/hosts.deny</ignore>
   <ignore>/etc/mail/statistics</ignore>
   <ignore>/etc/random-seed</ignore>
   <ignore>/etc/random.seed</ignore>
   <ignore>/etc/adjtime</ignore>
   <ignore>/etc/httpd/logs</ignore>
   <ignore>/etc/utmpx</ignore>
   <ignore>/etc/wtmpx</ignore>
   <ignore>/etc/cups/certs</ignore>
   <ignore>/etc/dumpdates</ignore>
   <ignore>/etc/svc/volatile</ignore>
   <ignore>/etc/webmin/system-status/info</ignore>
   <ignore>/etc/webmin/system-status/history</ignore>
   <ignore type="sregex">.log$|.swp$</ignore>
   <nodiff>/etc/ssl/private.key</nodiff>
 
   <skip_nfs>yes</skip_nfs>
   <skip_dev>yes</skip_dev>
   <skip_proc>yes</skip_proc>
   <skip_sys>yes</skip_sys>
   <process_priority>10</process_priority>
   <max_eps>100</max_eps>
 
   <synchronization>
     <enabled>yes</enabled>
     <interval>5m</interval>
     <max_interval>1h</max_interval>
     <max_eps>10</max_eps>
   </synchronization>
 </syscheck>

J'ai gardé en grande partie la configuration proposée lors de l'installation.

Une partie mérite votre attention. Le serveur vérifie les modifications apportées à un certains nombre de fichiers et spécialement le répertoire "/etc" qui contient toutes les configurations. J'ai installé "WebMin" et certains fichiers se modifient continuellement; nous allons donc les ignorer.


Vérification

Pour une exécution rapide pour test, modifiez dans le fichier de configuration la ligne "<scan_on_start>yes</scan_on_start>" et redémarrons le service.

En premier lieu, suivez l'exécution du module "SYSCHECK" dans le fichier journal "/var/ossec/logs/ossec.log" (machine manager et machines des agents distants). Repérez toute erreur et y remédier. Voici un extrait du journal.

En filtrant ce journal:

grep wazuh-syscheckd: /var/ossec/logs/ossec.log

on devrait obtenir ce type de messages.

Lors du démarrage, nous avons les lignes suivantes:


2022/11/24 12:34:23 wazuh-syscheckd: INFO: Started (pid: 1988172).
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6003): Monitoring path: '/bin', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | scheduled'.
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6003): Monitoring path: '/boot', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | scheduled'.
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6003): Monitoring path: '/etc', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | scheduled'.
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6003): Monitoring path: '/sbin', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | scheduled'.
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6003): Monitoring path: '/usr/bin', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | scheduled'.
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6003): Monitoring path: '/usr/sbin', with options 'size | permissions | owner | group | mtime | inode | hash_md5 | hash_sha1 | hash_sha256 | scheduled'.
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/mtab'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/hosts.deny'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/mail/statistics'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/random-seed'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/random.seed'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/adjtime'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/httpd/logs'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/utmpx'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/wtmpx'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/cups/certs'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/dumpdates'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/svc/volatile'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/webmin/system-status/info'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6206): Ignore 'file' entry '/etc/webmin/system-status/history'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6207): Ignore 'file' sregex '.log$|.swp$'
2022/11/24 12:34:23 wazuh-syscheckd: INFO: (6004): No diff for file: '/etc/ssl/private.key'
2022/11/24 12:34:24 wazuh-syscheckd: INFO: (6000): Starting daemon...
2022/11/24 12:34:24 wazuh-syscheckd: INFO: (6010): File integrity monitoring scan frequency: 43200 seconds

Et périodiquement les traitements s'effectuent:


2022/11/24 12:34:24 wazuh-syscheckd: INFO: (6008): File integrity monitoring scan started.
2022/11/24 12:36:04 wazuh-syscheckd: INFO: (6009): File integrity monitoring scan ended.


Résultats

Ensuite si vous avez activé la réception de mails, vous devrez recevoir un rapport succinct. Ces rapports sont aussi centralisés sur la machine manager dans les journaux d'alertes. Le fichier courant est "/var/ossec/logs/alerts/alerts.json". Ceci pour autant que les niveaux d'alerte soient supérieurs ou égaux à ceux définis dans le fichier de configuration entre les balises <alerts> et </alerts> comme vu précédemment.


Si vous avez installé le module WUI de Wazuh que nous verrons dans un autre article, vous pouvez y voir le détail. Dans le menu en haut à gauche, on clique sur "WAZUH" et en dessous sur "Modules". Enfin dans l'écran qui s'ouvre, on clique sur "Integrity monitoring". On peut au préalable sélectionner un agent comme filtre préliminaire.




retour au menu pour les actions préventives