Job 11 - Section Supervision (SOC Wazuh) #5

Fusionnée
aliciabouaziz11 fusionné 32 commits depuis siem vers main 2026-10-26 17:04:56 +01:00
Propriétaire

Ajout de la section Supervision : SIEM Wazuh, agent, 3 journaux, regle de detection 100101.

Ajout de la section Supervision : SIEM Wazuh, agent, 3 journaux, regle de detection 100101.
La derniere ligne de la grille de reussite : chaque difference entre les
deux releves est voulue, et rattachee a l'etape qui l'a decidee.

Une seule ne l'etait pas : le port 127.0.0.1:6060, l'interface de
metriques Prometheus que CrowdSec active d'office. Verifiee dans
config.yaml, elle n'ecoute que sur la boucle locale — assumee et
conservee, c'est elle qui alimente cscli metrics.
Quatre cartes, une par couche, chacune avec sa configuration ET la
commande qui la prouve :

- HTTPS : l'extrait de sites-available, avec set_real_ip_from et
  real_ip_header, puis le certificat lu par openssl et le 301 du port 80.
- Les six en-tetes : le fichier snippets/entetes-securite.conf, puis la
  sortie reelle de curl -sI. Avec ce qu'il a fallu corriger pour l'obtenir
  sans 'unsafe-inline' : sortir le CSS et le script de la page.
- WAF : les inclusions de ModSecurity, les deux 403 contre le 200 du
  visiteur, et la ligne du journal expliquee -- le score additionne,
  la regle 949110 qui tranche, la phase 2.
- IDS/IPS : ou CrowdSec lit, la liste blanche qui evite de bannir
  l'infrastructure, et l'alerte reelle du telephone banni des sa
  premiere attaque (kind crowdsec, Events 1).

Montrer sans exposer, comme le demande le defi : les en-tetes et les 403
sont deja lisibles de l'exterieur, donc montres tels quels ; les adresses
du reseau prive sont remplacees par des plages de documentation, et il
n'est nulle part question de SSH.

Competences mises a jour, et HTTPS retire de 'en cours d'apprentissage'.

Aucun style ni script en ligne : la nouvelle section respecte la CSP
qu'elle decrit.
En publiant la section securite du portfolio, la page d'accueil est
tombee. Symptome trompeur : style.css et script.js a 200, mais la page
sans aucun code de reponse (000 pour curl, 500 pour un visiteur).

Le journal donnait tout en une ligne :
  Access denied, code 403, PHASE 4 -- donc la REPONSE, pas la requete
  TX:OUTBOUND_ANOMALY_SCORE 5 >= seuil 4
  id 951240, 'postgres SQL Information Leakage'
  data : 'Matched Data: PostgreSQL 16...'
  puis 'header already sent' -- d'ou le code vide.

La regle cherche des messages d'erreur PostgreSQL qui fuiteraient d'une
application. Elle a trouve le NOM de la technologie dans une liste de
competences. Ce vhost ne sert aucune base : elle n'avait rien a y
proteger.

Exception la plus etroite possible, dans le fichier prevu pour ca :
  SecRule REQUEST_URI "@rx ^/(index\.html)?$" \
      "id:1000,phase:1,pass,nolog,ctl:ruleRemoveById=951240"

Une regle, une page. Verifie apres coup : la page revient a 200, et
l'attaque /etc/passwd comme le faux Nikto recoivent toujours 403. 922
regles chargees au lieu de 921.

L'incident est documente dans securite.md et raconte sur le portfolio :
un WAF qui bloque sa propre page parce qu'elle parle de securite, c'est
plus parlant qu'une configuration qui marche du premier coup.
aliciabouaziz11 a fusionné la révision 5c65134485 dans main 2026-10-26 17:04:56 +01:00
Connectez-vous pour rejoindre cette conversation.
Sans évaluateur
Sans labels
Sans jalon
Sans projet
Sans assignation
1 participant
Notifications
Échéance
La date d’échéance est invalide ou hors plage. Veuillez utiliser le format "aaaa-mm-dd".

Aucune échéance n'a été définie.

Dépendances

Aucune dépendance définie.

Référence
aliciabouaziz11/portfolio-infra!5
Sans contenu.