« LINUX:Wazuh-Actions préventives » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(21 versions intermédiaires par le même utilisateur non affichées)
Ligne 4 : Ligne 4 :
----
----
=But=
=But=
Jusqu'ici nous avons traité de l'aspect des actions immédiates à toute attaque. Wazuh dispose de divers autres modules ayant une action préventives. Ils tentent à repérer des problèmes potentiels de sécurité afin que nous puissions combler ces trous de sécurité.  
Jusqu'ici nous avons traité de l'aspect des actions immédiates à toute attaque. Wazuh dispose de divers autres modules ayant une action préventive. Ils tentent de repérer des problèmes potentiels de sécurité afin que nous puissions combler ces trous de sécurité.  




=SCA=
=[[LINUX:Wazuh-ROOTCHECK|ROOTCHECK]]=
Ce module a pour but d'analyser la configuration du système et de divers services au terme duquel un rapport est généré. Il se base sur des fichiers de tests. On peut en créer soi-même mais quelques uns sont fournis pour divers systèmes ou logiciels phares. Il joue un rôle semblable au logiciel "[[LINUX:Lynis|Lynis]]" vu dans un autre article.
Le module a pour tâche de repérer divers malwares. Il joue un rôle semblable au logiciel "[[LINUX:Rkhunter|Rkhunter]]" vu dans un autre article.




==Configuration==
=[[LINUX:Wazuh-SYSCHECK|SYSCHECK]]=
Cette configuration est incluse dans le fichier "/var/ossec/etc/ossec.conf".  
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 "[[LINUX:Rkhunter|Rkhunter]]" vu dans un autre article.


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


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"'''.
=[[LINUX:Wazuh-SCA|SCA]]=
Ce module a pour but d'analyser la configuration du système et de divers services au terme duquel un rapport est généré. Il se base sur des fichiers de contrôles en se basant sur diverses règles. On peut en créer soi-même mais quelques uns sont fournis pour divers systèmes ou logiciels phares. Il joue un rôle semblable au logiciel "[[LINUX:Lynis|Lynis]]" vu dans un autre article.


De plus dans le cas de partage de configuration "SCA", il est requit d'ajouter sur l'agent distant une option qui permet d'activer ce module. Celle-ci est à mettre dans le fichier ''''"/var/ossec/etc/local_internal_options.conf"''' comme conseillé précédemment.
----
sca.remote_commands=1
----
La configuration est comprise entre les balises '''<nowiki><sca></nowiki>''' et '''<nowiki></sca></nowiki>'''.
Voici une configuration de base:
----
  <sca>
    <enabled>yes</enabled>
    <scan_on_start>no</scan_on_start>
    <interval>12h</interval>
    <skip_nfs>yes</skip_nfs>
  </sca>
----
Explication des options:
* enabled: active le module
* scan_on_start: lance le traitement dès le lancement du service
* interval: définit l'intervalle entre le lancement de deux traitements; ici 12h
* skip_nfs: le traitement évite les partitions NFS


=[[LINUX:Wazuh-SYSCOLLECTOR|SYSCOLLECTOR]]=
Ce module récolte les informations globales du système comme les logiciels installés, le matériel présent, les interfaces réseaux, les ports réseaux, les processus. Il est actif sur tous les agents local et distants. Ces informations sont centralisées auprès de la machine manager. Elles y seront analysées par le module VULNERABILITY-DETECTOR.


==Policies==
L'ensemble des règles de contrôles des configurations sur système globalement sont reprises sous format YAML dans des fichiers ayant l'extension "yml".


=[[LINUX:Wazuh-VULNERABILITY-DETECTEUR|VULNERABILITY-DETECTEUR]]=
Sur la machine manager, les informations récoltées récoltées et reçues par le module SYSCOLLECTOR, sont analysées afin d'y repérer des risques d'attaques.


Un ensemble de fichiers de ces règles toutes faites se retrouvent dans le répertoire "/var/ossec/ruleset/sca". Chaque fichier reprend les règles pour un thème donné. Par exemple le fichier "cis_apache_24.yml" est dédié au service WEB Apache de version 2.4 et le fichier "cis_rhel8_linux.yml" est dédié au système Linux de la distribution RedHat Entreprise version 8. Par défaut, tous les fichiers de ce répertoire ayant l'extension "yml" seront traités. Sous Fedora, tous les fichiers sont désactivés car ils portent l'extension "yml.disabled" sauf un, le fichier "cis_rhel8_linux.yml".


=[[LINUX:Wazuh-VULNERABILITY-DETECTOR|VULNERABILITY-DETECTOR]]=
Dans la nouvelle version, cette option a été revue et renommée [[LINUX:Wazuh-VULNERABILITY-DETECTEUR|VULNERABILITY-DETECTEUR]] et n'est donc plus disponible sous ce nom.


Malheureusement à chaque mise à jour, le contenu de ce répertoire est réinitialisé. Or il faudra d'une part renommer les fichiers désirés, adapter un peu leur contenu et d'autre part ils devront être transférés vers les agents distants.


Pour pallier à ces limitations, nous avons opté pour l'utilisation du système de partage. Nous allons mettre les fichiers retenus dans le répertoire '''"/var/ossec/etc/shared/default"''' sur la machine manager après les avoir renommés avec l'extension "yml". Ces fichiers seront transférés automatiquement dans le répertoire '''"/var/ossec/etc/default"'''. Mais il faut ensuite signaler au module "SCA" où les trouver.  
=OSQUERY=
Ce module est désactivé par défaut sur le manager et sur les agents distants. Il fait appel à un logiciel tiers.


Nous avons retenu les fichiers:
Voici la configuration du manager dans le fichier "/var/ossec/etc/ossec.conf" et du fichier "/var/ossec/etc/shared/default/agent.conf" transmis aux agents distants:
* cis_apache_24.yml
* cis_mysql5-6_community.yml
* cis_rhel8_linux.yml
* cis_rhel9_linux.yml
* sca_unix_audit.yml
* web_vulnerabilities.yml
Les noms des fichiers sont assez explicites pour devoir les expliquer.
 
Sur la machine manager, la configuration est amendée comme suit:
----
----
   <sca>
   <wodle name="osquery">
    <enabled>yes</enabled>
     <disabled>yes</disabled>
    <scan_on_start>no</scan_on_start>
   </wodle>
    <interval>12h</interval>
     <skip_nfs>yes</skip_nfs>
    '''<policies>'''
    '''<policy>etc/shared/default/cis_apache_24.yml</policy>'''
    '''<policy>etc/shared/default/cis_mysql5-6_community.yml</policy>'''
    '''<policy>etc/shared/default/cis_rhel8_linux.yml</policy>'''
    '''<policy>etc/shared/default/cis_rhel9_linux.yml</policy>'''
    '''<policy>etc/shared/default/sca_unix_audit.yml</policy>'''
    '''<policy>etc/shared/default/web_vulnerabilities.yml</policy>'''
    '''<policy enabled="no">ruleset/sca/cis_rhel8_linux.yml</policy>'''
    '''</policies>'''
   </sca>
----
----
On remarque que le fichier "/var/ossec/ruleset/sca/cis_rhel8_linux.yml" est désactivé car son homologue "/var/ossec/etc/shared/default/cis_rhel8_linux.yml" devra être adapté pour être opérationnel et que le n° des règles seront en double et par ce fait, elles entreront en conflit entre elles.


Remarquons que le chemin de ces fichiers est relatif; en effet le chemin de base pour Wazuh est "/var/ossec".


=CIS-CAT=
Ce module est désactivé par défaut sur le manager et sur les agents distants. Il fait appel à un logiciel propriétaire tiers.


Dans le fichier de partage pour les agents '''"/var/ossec/etc/shared/default/agent.conf"''' sur la machine manager, la configuration devient:
Voici la configuration du manager dans le fichier "/var/ossec/etc/ossec.conf" et du fichier "/var/ossec/etc/shared/default/agent.conf" transmis aux agents distants:
----
----
   <sca>
   <wodle name="cis-cat">
    <enabled>yes</enabled>
     <disabled>yes</disabled>
    <scan_on_start>no</scan_on_start>
  </wodle>
    <interval>12h</interval>
     <skip_nfs>yes</skip_nfs>
    '''<policies>'''
    '''<policy>etc/shared/cis_apache_24.yml</policy>'''
    '''<policy>etc/shared/cis_mysql5-6_community.yml</policy>'''
    '''<policy>etc/shared/cis_rhel8_linux.yml</policy>'''
    '''<policy>etc/shared/cis_rhel9_linux.yml</policy>'''
    '''<policy>etc/shared/sca_unix_audit.yml</policy>'''
    '''<policy>etc/shared/web_vulnerabilities.yml</policy>'''
    '''<policy enabled="no">ruleset/sca/cis_rhel8_linux.yml</policy>'''
    '''</policies>'''
  </sca>
----
----
Dans ce cas le chemin sera celui de la machine de l'agent distant "/var/ossec/etc/shared".
Dans notre cas, du côté des agents, ce sont toutes des machines Linux. Il est évident que si nous sommes en présence aussi de machines Windows, il faut ajouter un profil autre que le défaut adapté à Windows et lier les agents de ces machines à ce profil.
==Adaptation des policies==
Les principales modifications à effectuer concerne le nom des fichiers de configuration à analyser. La syntaxe YAML est facilement compréhensible. Les modifications sont faciles.
Quelques exemples:
* Le fichier "cis_mysql5-6_community.yml" est adapté à MySql or nous utilisons MariaDB. Les fichiers de configuration sont similaires mais leurs noms et le répertoire sont différents.
* Nous avons ajouté un second service SSH spécial pour les sauvegardes avec un fichier de configuration spécifique; ce second fichier doit être ajouté.
* Les fichiers de configurations du service WEB Apache, on été découpés et organisés dans des répertoires par nom de domaine et protocoles pour une question de lisibilité. Le dossier contenant les sources des sites WEB a été déplacé pour une question de place et n'est plus dans le répertoire "/var/www".
Enfin les fichiers de règles concernant un OS et une distribution spécifique contiennent des vérifications sur l'OS et la version concernée. Nous utilisons la distribution de Linux Fedora appartenant à l'ensemble des distributions sous l'égide de RedHat. Or les fichiers "cis_rhel8_linux.yml" et "cis_rhel9_linux.yml" n'acceptent pas Fedora. Il faut donc ajouter une règle.
Sous la section "requirements" et la sous-section "rules" du fichier "cis_rhel8_linux.yml", nous avons quelques règles qui nous serviront de base.
Voici le contenu de cette section:
----
requirements:
  title: "Check RHEL8 family platform"
  description: "Requirements for running the policy against RHEL 8 family."
  condition: any
  rules:
    - 'f:/etc/redhat-release -> r:^Red Hat Enterprise Linux && r:release 8'
    - 'f:/etc/redhat-release -> r:^Cloud && r:release 8'
    - 'f:/etc/redhat-release -> r:^Oracle && r:release 8'
    - 'f:/etc/redhat-release -> r:^Better && r:release 8'
    - 'f:/etc/redhat-release -> r:^OpenVZ && r:release 8'
----
Nous ajoutons vers la ligne 31, les deux lignes suivantes précédé d'une ligne de commentaire pour repérer facilement les modifications apportées:
----
# ADB
    - 'f:/etc/redhat-release -> r:^Fedora && r:release 36'
    - 'f:/etc/redhat-release -> r:^Fedora && r:release 37'
----
Ces règles analysent le fichier ("f") "/etc/redhat-release". Ce fichier doit commencer par le mot "Fedora" relatif à la distribution et doit contenir "release 36" ou "release 37" pour les versions actuellement présentes. Les autres règles peuvent être mises en commentaire.
==Vérification==





Dernière version du 14 juillet 2024 à 11:51


retour à Wazuh: HIDS


But

Jusqu'ici nous avons traité de l'aspect des actions immédiates à toute attaque. Wazuh dispose de divers autres modules ayant une action préventive. Ils tentent de repérer des problèmes potentiels de sécurité afin que nous puissions combler ces trous de sécurité.


ROOTCHECK

Le module a pour tâche de repérer divers malwares. Il joue un rôle semblable au logiciel "Rkhunter" vu dans un autre article.


SYSCHECK

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.


SCA

Ce module a pour but d'analyser la configuration du système et de divers services au terme duquel un rapport est généré. Il se base sur des fichiers de contrôles en se basant sur diverses règles. On peut en créer soi-même mais quelques uns sont fournis pour divers systèmes ou logiciels phares. Il joue un rôle semblable au logiciel "Lynis" vu dans un autre article.


SYSCOLLECTOR

Ce module récolte les informations globales du système comme les logiciels installés, le matériel présent, les interfaces réseaux, les ports réseaux, les processus. Il est actif sur tous les agents local et distants. Ces informations sont centralisées auprès de la machine manager. Elles y seront analysées par le module VULNERABILITY-DETECTOR.


VULNERABILITY-DETECTEUR

Sur la machine manager, les informations récoltées récoltées et reçues par le module SYSCOLLECTOR, sont analysées afin d'y repérer des risques d'attaques.


VULNERABILITY-DETECTOR

Dans la nouvelle version, cette option a été revue et renommée VULNERABILITY-DETECTEUR et n'est donc plus disponible sous ce nom.


OSQUERY

Ce module est désactivé par défaut sur le manager et sur les agents distants. Il fait appel à un logiciel tiers.

Voici la configuration du manager dans le fichier "/var/ossec/etc/ossec.conf" et du fichier "/var/ossec/etc/shared/default/agent.conf" transmis aux agents distants:


 <wodle name="osquery">
   <disabled>yes</disabled>
 </wodle>


CIS-CAT

Ce module est désactivé par défaut sur le manager et sur les agents distants. Il fait appel à un logiciel propriétaire tiers.

Voici la configuration du manager dans le fichier "/var/ossec/etc/ossec.conf" et du fichier "/var/ossec/etc/shared/default/agent.conf" transmis aux agents distants:


 <wodle name="cis-cat">
   <disabled>yes</disabled>
 </wodle>




retour à Wazuh: HIDS