Snad
Introduction :
Dans le cadre de notre Projet de Fin d'Études je suis concentrés sur le renforcement de la sécurité des systèmes
informatiques
Critique de l'existant :
Après avoir analysé le système d'information de les sociétés ,j'ai identifié trois principales catégories de points faibles : la disponibilité, la supervision et la sécurité. Les société éprouve des difficultés à garantir un accès constant et fiable à son système.
Problématique:
Dans cette optique, j'ai identifié la problématique suivante : Comment améliorer la détection et la prévention des incidents de sécurité informatique.
# whomai
Solution proposée :
Pour relever ces défis, nous avons opté pour l'implémentation de la solution open-source
Wazuh and Elastic Stack basic license
. En tant que système SIEM
Objectifs du projet:
# whomai
Méthodologie
# whomai
Conclusion : La solution Wazuh renforcera la sécurité informatique de notre entreprise en détectant et prévenant les incidents de sécurité de manière proactive. Ce projet de PFE nous permettra d'approfondir nos connaissances en sécurité informatique et de protéger activement les systèmes et les données de l'entreprise
# CHAPTER 2
Au cours de notre analyse du système d'information de les sociétés, nous avons identifié des points faibles
Difficultés à assurer un accès constant et fiable au système.
Manque d'outils de surveillance pour suivre les activités des utilisateurs et détecter les intrusions non autorisées.
Besoin d'attention pour améliorer la disponibilité, renforcer la supervision et assurer une meilleure sécurité du système d'information de les sociétés.
Gestion de logs décentralisée
Incapacité de bloquer plusieurs types d’intrusions
Absence d'un moyen pour mesurer le niveau de sécurité du SI
Manque de maturité de la sécurité
Absence d’outils de supervision
Vue limitée des activités de sécurité, difficulté à repérer les comportements suspects
# PRESENTING CODE
- Absence d'installation d'une solution SIEM (Security Information and Event Management) dans les sociétés.
- Lacunes en matière de surveillance, de détection et de gestion des incidents de sécurité. -
- Vue limitée des activités de sécurité, difficulté à repérer les comportements suspects et réagir efficacement aux menaces. -
- Nécessité impérative de mettre en place une solution SIEM pour améliorer la sécurité et protéger le système d'information de les sociétés.
# cd alias rm
Il est proposé de déployer un système de gestion d'informations et d'événements de sécurité appelé Wazzuh avec ELK basic pour répondre aux problèmes mentionnés précédemment.
Ce système permettrait de gérer de manière centralisée les données provenant de divers outils de sécurité, de les stocker et de les traiter afin de faciliter la tâche des administrateurs dans l'administration et la gestion de la sécurité.
Mise en place de la solution Wazuh et elastic stack basic
Wazuh est une plate-forme de sécurité open source qui intègre divers composants liés à la sécurité pour fournir des capacités de détection des menaces, d'analyse des journaux et de gestion de la conformité. Wazuh est conçu pour améliorer la surveillance de la sécurité, la détection des menaces et la réponse aux incidents dans les environnements informatiques.
2. conditions requises pour le téléchargement
Les besoins en termes de matériel sont étroitement liés au nombre de terminaux protégés et à la charge de travail dans la prod.
Ce nombre permet d'estimer la quantité de données qui seront analysées ainsi que le nombre d'alertes de sécurité qui seront stockées et indexées.
3.Systèmes d'exploitation
Pour l'installation des composants centraux de Wazuh, il est préférable d'utiliser un système d'exploitation Linux 64 bits. Wazuh recommande l'utilisation de l'une des versions suivantes du système d'exploitation
La pile ELK est un ensemble de logiciels open source largement utilisés pour la gestion et l'analyse des journaux (logs) et des données volumineuses. ELK est un acronyme pour Elasticsearch, Logstash et Kibana, les trois composants principaux de cette pile.
Le Wazuh Manager : est le composant central de l'architecture Wazuh. Il collecte et analyse les événements de sécurité à partir de différentes sources de données, y compris les journaux, les alertes et les événements système.
Agents Wazuh : les agents Wazuh sont des composants logiciels légers installés sur des hôtes surveillés. Ils collectent les logs système et applicatif, les transmettent au Wazuh Manager pour analyse.
L'application Wazuh : est un plugin Kibana qui fournit une interface conviviale pour visualiser et analyser les événements de sécurité collectés par Wazuh. Il propose des tableaux de bord, des rapports et des fonctionnalités de recherche prédéfinis pour explorer et enquêter sur les incidents de sécurité.
Wazuh Elasticsearch : Wazuh s'intègre à Elasticsearch, un puissant moteur de recherche et d'analyse, pour stocker et indexer les événements de sécurité. Elasticsearch permet une recherche, un filtrage et une agrégation rapides et efficaces des données de sécurité, ce qui facilite la détection et l'investigation des menaces de sécurité.
Le serveur Wazuh et Elastic Stack sont installés sur le même hôte. Ce type de déploiement est approprié pour les tests et les petits environnements de travail.
Les composants suivants seront installés :
Le serveur Wazuh, y compris le gestionnaire Wazuh en tant que cluster à nœud unique, et Filebeat.
Elastic Stack, y compris Elasticsearch en tant que cluster à nœud unique, et Kibana, y compris le plug-in Wazuh Kibana.
La communication est cryptée à l'aide de certificats.
# CHAPTER 2
Pour assurer la sécurité de l'entreprise, nous suivrons une méthodologie en plusieurs étapes.
ont a utilisée All-in-one deployment
c'est la meilleur solution pour répondre au besoins
apt-get install apt-transport-https zip unzip lsb-release curl gnupg# PRESENTING CODE
Certains packages supplémentaires sont nécessaires pour l'installation, tels que curl ou unzip, qui seront utilisés dans les étapes suivantes.
curl -s https://artifacts.elastic.co/GPG-KEY-elasticsearch |
gpg --no-default-keyring
--keyring gnupg-ring:/usr/share/keyrings/elasticsearch.gpg
--import && chmod 644 /usr/share/keyrings/elasticsearch.gpgecho "deb [signed-by=/usr/share/keyrings/elasticsearch.gpg]
https://artifacts.elastic.co/packages/7.x/apt stable main" |
tee /etc/apt/sources.list.d/elastic-7.x.list# PRESENTING CODE
Ajoutez le repository
Mettez à jour les informations sur le package
apt-get updateapt-get install elasticsearch=7.17.9# PRESENTING CODE
Installez le package Elasticsearch :
Téléchargez le fichier de configuration /etc/elasticsearch/elasticsearch.yml comme suit :
curl -so /etc/elasticsearch/elasticsearch.yml
https://packages.wazuh.com/4.4/tpl/elastic-basic
/elasticsearch_all_in_one.ymlcurl -so /usr/share/elasticsearch/instances.yml https://packages.wazuh.com/4.4/tpl/elastic-basic/instances_aio.yml# PRESENTING CODE
Télécharger le fichier de configuration pour créer les certificats
Dans les étapes suivantes, un fichier contenant un dossier nommé d'après l'instance définie ici sera créé. Ce dossier contiendra les certificats et les clés nécessaires pour communiquer avec le nœud Elasticsearch en utilisant SSL.
/usr/share/elasticsearch/bin/elasticsearch-certutil
cert ca --pem --in instances.yml --keep-ca-key
--out ~/certs.zip# PRESENTING CODE
Les certificats peuvent être créés à l'aide de l'outil elasticsearch-certutil
Extrayez le fichier certs.zip généré à l'étape précédente.
unzip ~/certs.zip -d ~/certsmkdir /etc/elasticsearch/certs/ca -p
cp -R ~/certs/ca/ ~/certs/elasticsearch/* /etc/elasticsearch/certs/
chown -R elasticsearch: /etc/elasticsearch/certs
chmod -R 500 /etc/elasticsearch/certs
chmod 400 /etc/elasticsearch/certs/ca/ca.* /etc/elasticsearch/certs/elasticsearch.*
rm -rf ~/certs/ ~/certs.zip# wa hasssann
L'étape suivante consiste à créer le répertoire /etc/elasticsearch/certs, puis à y copier le fichier CA, le certificat et la clé :
Activer et démarrer le service Elasticsearch
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearchModifier le fichier de configuration de elasticsearch
systemctl restart elasticsearch/usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto# PRESENTING CODE
Générez des informations d'identification pour tous les rôles et utilisateurs prédéfinis de la Suite Elastic
curl -XGET https://192.168.21.130:9200 -u elastic:YaIlvmcXVAv0HBAqD66v -k# PRESENTING CODE
Pour vérifier que l'installation s'est bien déroulée
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH |
gpg --no-default-keyring --keyring gnupg-ring:
/usr/share/keyrings/wazuh.gpg --import && chmod 644
/usr/share/keyrings/wazuh.gpg# PRESENTING CODE
Ajouter le repository
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg]
https://packages.wazuh.com/4.x/apt/ stable main" |
tee -a /etc/apt/sources.list.d/wazuh.listapt-get update# PRESENTING CODE
Mettre à jour les informations du package
apt-get install wazuh-managersystemctl daemon-reload
systemctl enable wazuh-manager
systemctl start wazuh-managersystemctl status wazuh-managerapt-get install filebeat=7.17.9# PRESENTING CODE
Filebeat est l'outil du serveur Wazuh qui transmet en toute sécurité les alertes et les événements archivés à Elasticsearch.
Installez le package Filebeat
Téléchargez le fichier de configuration Filebeat préconfiguré utilisé pour transmettre les alertes Wazuh à Elasticsearch
curl -so /etc/filebeat/filebeat.yml
https://packages.wazuh.com/4.4/tpl/elastic-basic/
filebeat_all_in_one.ymlcurl -so /etc/filebeat/wazuh-template.json
https://raw.githubusercontent.com/wazuh/wazuh/4.4/
extensions/elasticsearch/7.x/wazuh-template.json
chmod go+r /etc/filebeat/wazuh-template.json# PRESENTING CODE
Téléchargez le module Wazuh pour Filebeat
curl -s https://packages.wazuh.com/4.x/filebeat/
wazuh-filebeat-0.2.tar.gz |
tar -xvz -C /usr/share/filebeat/module# PRESENTING CODE
Editez le fichier /etc/filebeat/filebeat.yml
Copiez les certificats dans /etc/filebeat/certs/
cp -r /etc/elasticsearch/certs/ca/ /etc/filebeat/certs/
cp /etc/elasticsearch/certs/elasticsearch.crt
/etc/filebeat/certs/filebeat.crt
cp /etc/elasticsearch/certs/elasticsearch.key
/etc/filebeat/certs/filebeat.keysystemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat# PRESENTING CODE
Activez et démarrez le service Filebeat
Pour vous assurer que Filebeat a été installé avec succès, exécutez la commande suivante
filebeat test outputapt-get install kibana=7.17.9# PRESENTING CODE
Kibana est une interface Web flexible et intuitive pour l'exploration et la visualisation des événements et des archives stockés dans Elasticsearch.
Installer le package Kibana
mkdir /etc/kibana/certs/ca -p
cp -R /etc/elasticsearch/certs/ca/ /etc/kibana/certs/
cp /etc/elasticsearch/certs/elasticsearch.key /etc/kibana/certs/kibana.key
cp /etc/elasticsearch/certs/elasticsearch.crt /etc/kibana/certs/kibana.crt
chown -R kibana:kibana /etc/kibana/
chmod -R 500 /etc/kibana/certs
chmod 440 /etc/kibana/certs/ca/ca.* /etc/kibana/certs/kibana.
# PRESENTING CODE
Copiez les certificats Elasticsearch dans le dossier de configuration de Kibana :
Téléchargez le fichier de configuration Kibana :
curl -so /etc/kibana/kibana.yml https://packages.wazuh.com/4.4/tpl/
elastic-basic/kibana_all_in_one.yml# PRESENTING CODE
Modifiez le fichier /etc/kibana/kibana.yml
Créez le répertoire /usr/share/kibana/data
mkdir /usr/share/kibana/data
chown -R kibana:kibana /usr/share/kibanacd /usr/share/kibana
sudo -u kibana /usr/share/kibana/bin/kibana-plugin
install https://packages.wazuh.com/4.x/ui/kibana/
wazuh_kibana-4.4.4_7.17.9-1.zip# PRESENTING CODE
Installez le plugin Wazuh Kibana. L'installation du plugin doit se faire depuis le home Kibana
Lier le socket de Kibana au port privilégié 443
setcap 'cap_net_bind_service=+ep' /usr/share/kibana/node/bin/nodesystemctl daemon-reload
systemctl enable kibana
systemctl start kibana# CHAPTER 2
wazuh > Agent > Deploy new agent
# CHAPTER 2
Password spraying sur WinRM est une technique utilisée pour tenter de se connecter à des Windows à l'aide de combinaisons de noms d'utilisateurs systèmes courants et de mots de passe courants.
# CHAPTER 2
Wazuh utilise le module Vulnerability Detector pour identifier les vulnérabilités dans les applications et les systèmes d'exploitation exécutés sur les terminaux.
<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>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>yes</enabled>
<os>amazon-linux</os>
<os>amazon-linux-2</os>
<update_interval>1h</update_interval>
</provider>
<!-- SUSE OS vulnerabilities -->
<provider name="suse">
<enabled>yes</enabled>
<os>11-server</os>
<os>11-desktop</os>
<os>12-server</os>
<os>12-desktop</os>
<os>15-server</os>
<os>15-desktop</os>
<update_interval>1h</update_interval>
</provider>
<!-- Arch OS vulnerabilities -->
<provider name="arch">
<enabled>yes</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>
# PRESENTING CODE
Le serveur Wazuh crée automatiquement la base de données globale des vulnérabilités avec les données des référentiels suivants
https://canonical.com : utilisé pour extraire les CVE pour les distributions Ubuntu Linux.
https://www.redhat.com : utilisé pour extraire les CVE pour les distributions Red Hat et CentOS Linux.
https://www.debian.org : utilisé pour extraire les CVE des distributions Debian Linux.
https://security.archlinux.org : utilisé pour extraire les CVE des distributions Arch Linux.
https://nvd.nist.gov : utilisé pour extraire les CVE de la base de données nationale sur les vulnérabilités.
assurons que le mode est bien activée
Text
Text
# CHAPTER 2
SMTP server with authentication
avec POSTFIX
Les alertes par e-mail Wazuh ne prennent pas en charge les serveurs SMTP avec authentification tels que Gmail. Cependant, vous pouvez utiliser un serveur relais, comme Postfix, pour envoyer ces emails.
apt-get update && apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules# PRESENTING CODE
install the required packages
Ajoutez ces lignes à /etc/postfix/main.cf pour configurer Postfix.
relayhost = [smtp.outlook.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destinationecho [smtp.outlook.com]:587 oussama.snad@outlook.com:De*****07 > /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
chmod 400 /etc/postfix/sasl_passwd# PRESENTING CODE
Définissez l'adresse e-mail et le mot de passe de l'expéditeur.
Sécurisez notre fichier de base de données de mot de passe.
chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.dbRedémarrez Postfix.
systemctl restart postfixecho "Test mail from postfix" | mail -s "Test Postfix" -r "oussama.snad@outlook.com" oussama.snad@outlook.com# PRESENTING CODE
tester la configuration
Configure email notifications in the Wazuh server /var/ossec/etc/ossec.conf
<global>
<email_notification>yes</email_notification>
<smtp_server>localhost</smtp_server>
<email_from>oussama.snad@outlook.com</email_from>
<email_notification>yes</email_notification>
<email_to>oussama.snad@outlook.com</email_to>
</global><ossec_config>
<alerts>
<email_alert_level>10</email_alert_level>
</alerts>
...
</ossec_config># PRESENTING CODE
Une fois que ce qui précède a été configuré, l'email_alert_level doit être défini sur le niveau d'alerte minimum qui déclenchera un e-mail. Par défaut, ce niveau est défini sur 12.
nano /var/ossec/etc/ossec.conf
<alerts>
<log_alert_level>10</log_alert_level>
<email_alert_level>10</email_alert_level>
</alerts>
<email_alerts>
<email_to>oussama.snad@outlook.com</email_to>
<event_location>/log/secure$</event_location>
</email_alerts>
<email_alerts>
<email_to>oussama.snad@outlook.com</email_to>
<event_location>/192.168.21</event_location>
</email_alerts>
<email_alerts>
<email_to>oussama.snad@outlook.com</email_to>
<level>10</level>
</email_alerts>redémareez wazuh-manager
systemctl restart wazuh-managerexample de alert
# CHAPTER 2
obtenir une clé API VirusTotal.
Intégrez Wazuh Manager à VirusTotal
<!-- Wazuh VirusTotal Integration -->
<integration>
<name>virustotal</name>
<api_key>10d6e17cbe4760b00db3f61c1dadef3df6b8e29a91b8b4638259bfb4ca783c2f</api_key>
<group>syscheck</group>
<alert_format>json</alert_format>
</integration>Intégrez Wazuh Manager à VirusTotal
systemctl restart wazuh-manager# PRESENTING CODE
La mise en place de la solution Wazuh permettra à notre entreprise de renforcer sa sécurité informatique en détectant et en prévenant les incidents de sécurité de manière proactive. Ce projet de PFE représente pour nous une opportunité unique d'approfondir nos connaissances en matière de sécurité informatique et de contribuer activement à la protection des systèmes et des données de l'entreprise.
Nous tenons à exprimer notre sincère gratitude envers nos formateurs, M. Hassan Diki, M. Zakaria IGRAMEN et Salah CHOUACH, pour leur soutien et leurs précieux conseils tout au long de ce projet et de notre formation. Leur motivation et leur accompagnement ont été d'une grande aide. Nous souhaitons également remercier chaleureusement Ziad Abalil, Ahmed Flah, Othmane Elguass et Nizar Zoubir pour leur contribution précieuse à la réalisation de ce travail. Leur implication a été inestimable.