QL/docs/exceptions_v3.md

13 KiB
Raw Blame History

Exceptions et anomalies — Nomenclature Qualys V3 SANEF

Suivi des cas où la règle V3 produit un résultat incorrect (faux positif/négatif) et nécessite un ajustement de la QQL ou du nommage. À traiter par batch lors des cleanups Qualys.

Légende statut

  • 🔴 À fixer : action attendue côté Qualys (modif règle QQL) ou côté SANEF (renommage)
  • 🟡 Workaround : contournement appliqué dans l'app décodeur ou doc, fix Qualys pas encore fait
  • 🟢 Résolu : règle V3 modifiée, plus de souci

Exceptions

# Date Tag Asset / Pattern Problème Cause technique Pourquoi / Impact Fix appliqué Statut Date résolu
1 2026-04-22 ENV-TST svp* (Superviseur Péage) Postes Windows 11 Client tagués Test Préfixe sv* matche svp* Faussait le KPI patching Test : ~100 postes SVP comptés comme serveurs Test → reporting incorrect (180 au lieu de ~83 vrais serveurs Test). Risque de perdre les vrais serveurs Test dans la masse et de prioriser à tort le patching côté postes utilisateurs. Exclusion and not asset.name:svp* appliquée à la QQL Qualys + gen_xlsx.py 🟢 2026-04-22
2 2026-04-22 EQT-SRV svp* Postes workstation détectés comme serveurs physiques Préfixe s* matche svp* Faussait l'inventaire serveurs physiques : KPI "EQT-SRV" gonflé artificiellement par les ~100 SVP, qui ne sont ni des serveurs ni dans le scope patching serveurs. Faux positifs en reporting infra. Exclusion and not asset.name:svp* appliquée à la QQL Qualys + gen_xlsx.py 🟢 2026-04-22
3 2026-04-24 POS-BI VPAPTAPSH1.SANEF.GROUPE (Win 10) Workstation taggée POS-BI Préfixe vpapt* dans QQL POS-BI matche aussi vpapta* (Apta gestion = POS-GES) Confusion périmètre métier : un poste utilisateur apparaît dans le périmètre BI alors qu'il est métier Gestion (Apta Talend). Tableau de bord BI faux + ambiguïté pour les responsables BI/Gestion. 1) Ajout and operatingSystem.category2:"Server" à POS-BI
2) Exclusion vpapta* de POS-BI (= POS-GES)
🟢 2026-04-24
4 2026-04-24 Tous les POS-* Tous assets Postes de travail susceptibles d'être tagués POS-* à tort Les règles QQL POS-* ne filtraient pas par OS Server Pollution générale des KPI métier : le périmètre métier (Trafic, Péage, BI, Gestion, FluxLibre, Infra) devient ambigu si des postes utilisateurs y entrent. Les chefs de projet ne savent pas qui est responsable de quoi. Le scope patching/sécurité serveurs devient difficile à isoler. Ajout and operatingSystem.category2:"Server" à toutes les règles POS-* 🟢 2026-04-24
4b 2026-04-24 Tous les ENV-* Tous assets Workstations avec préfixe v*/s*/l* hors svp* pourraient être tagués ENV-* Les règles QQL ENV-* filtraient uniquement sur préfixe nom, pas sur category2 OS Cohérence du parc serveur : ENV (PRD/REC/PPR/TST/DEV) ne doit catégoriser QUE les serveurs (le poste de travail d'un dev n'est pas "ENV-DEV"). Sinon les counts SLA/cycle de vie sont biaisés. Ajout and operatingSystem.category2:"Server" à toutes les règles ENV-* 🟢 2026-04-24
5 2026-04-24 OS-LIN-SRV Ubuntu / Oracle Linux / SUSE / Rocky / Alma / Fedora / Amazon Linux App montre 723 vs Qualys 730 (-7) Décodeur app ne reconnaissait que red hat, centos, debian comme Linux Chiffres incohérents en présentation DSI : si on cite "730 serveurs Linux" dans un slide et que l'app dit 723, on perd la confiance dans l'outil. Et à long terme le parc SANEF va voir arriver d'autres distros (Rocky/Alma post-CentOS, Ubuntu pour conteneurs, etc.) → besoin de couvrir large. Patterns Linux étendus dans _filter_os_only côté app (ubuntu, oracle linux, suse, sles, rocky, alma, fedora, amazon linux) 🟢 2026-04-24
6 2026-04-24 POS-BI vs POS-GES vpapt* vs vpapta* / vrapt* vs vrapta* Préfixe vpapt* dans POS-BI englobait vpapta* (Apta = POS-GES) Pas d'exclusion mutuelle dans QQL Tag double / contradictoire : un asset Apta apparaissait à la fois comme POS-BI (à tort) et POS-GES (correct). Reporting flou + ownership métier ambigu. POS-BI modifié : vpapt* and not (asset.name:vpapta* or asset.name:vrapta*) 🟢 2026-04-24
7 2026-04-24 POS-INF vs POS-GES aii* vs aiiat* / dsi* vs dsiat* Préfixes courts (aii, dsi) dans POS-INF englobaient aiiat/dsiat (Aide pilotage / Reporting DSI = POS-GES) Pas d'exclusion mutuelle Confusion Infrastructure vs Gestion DSI : les serveurs d'aide au pilotage et de reporting DSI étaient comptés comme infra technique, alors qu'ils sont des outils de gestion. Mauvaise priorisation des incidents et MEP. POS-INF modifié : exclusion not (asset.name:vpaiiat* or asset.name:vraiiat* or asset.name:vrdsiat*) 🟢 2026-04-24
8 2026-04-24 POS-INF vs POS-GES ges* (Gestion fichiers POS-INF) vs gesb* (Gestion budgets POS-GES) Le préfixe générique ges* n'existait pas dans POS-INF V3 mais le décodeur app l'avait avec POS-INF (legacy "Gestion fichiers") Décodeur app : ges mappé POS-INF (legacy) Faux positif visible dans l'app : pour les vpgesb* (gestion budgets), le décodeur suggérait POS-INF alors que c'est POS-GES. Si on suivait la suggestion on aurait collé le mauvais tag. Map ges→POS-INF retirée du décodeur app (server_decoder.py) 🟢 2026-04-24
9 2026-04-24 Tags Qualys natifs (Cloud Agent*, Obsolete, Active...) Tous assets Affichés comme "Hors V3" dans le décodeur de l'app Pas reconnus comme natifs Fausses alertes ergonomiques : l'opérateur voyait "Hors V3 - à supprimer" sur des tags Qualys built-in qu'il NE FAUT PAS supprimer (ils reviendraient au prochain check Cloud Agent). Risque d'erreur manuelle et perte de temps à investiguer. Liste QUALYS_BUILTIN_EXACT + QUALYS_BUILTIN_PREFIX ajoutée dans server_decoder.py ; affichés en violet "Tag Qualys natif (auto-attribué)" 🟢 2026-04-24
10 2026-04-24 POS-DMZ Assets en zone DMZ Suggéré "Hors V3" alors qu'utilisé légitimement POS-DMZ pas dans la liste V3 dynamique mais utilisé en STAT manuel pour la zone réseau DMZ Tag SANEF légitime non reconnu : POS-DMZ est utilisé pour identifier les serveurs en zone DMZ (sécurité périmétrique). Si l'app dit "Hors V3" l'opérateur risque de le supprimer alors qu'il sert au reporting sécu. Décodeur app suggère POS-DMZ si zone Excel = "DMZ" 🟢 2026-04-24
11 2026-04-24 TAG-SED TAG-SEI 18 assets en POS-DMZ sans SED ni SEI Audit DMZ : 48 POS-DMZ vs 34 SEDSEI = 14 orphelins (corrigé manuellement par Khalid) Tags SED/SEI sont STAT (bulk SQATM), pas DYN — ajout manuel oublié à mesure que de nouveaux assets DMZ arrivent Trou de classification sécu : un asset DMZ sans SED/SEI n'est pas distingué entre frontal exposé (priorité audit) et backend (priorité moindre). Risque de mal prioriser les patchs/scans. Khalid a complété manuellement bulk_tag_sed.txt et bulk_tag_sei.txt + bulk SQATM 🟢 2026-04-24
12 2026-04-24 POS-TRA manquant vpgmoaprx1 Serveur Trafic non taggé POS-TRA Le préfixe vpgmo* (Gestion Mode Opératoire) n'était pas couvert par la QQL POS-TRA Asset Trafic non visible dans le périmètre Trafic Ajout asset.name:vpgmo* or asset.name:vrgmo* à la QQL POS-TRA + parens + Server filter 🟢 2026-04-24
13 2026-04-24 POS-GES manquant vppintaweb1, vppintaweb2 (Pré-Prod ENV-PPR OK) Serveurs Intranet Gestion non taggés POS-GES Différence entre QQL console Qualys et gen_xlsx.py + pas de re-evaluate Sites Intranet non rattachés au périmètre Gestion Resync QQL POS-GES depuis gen_xlsx.py + parens + Server filter + Re-evaluate 🟢 2026-04-24
14 2026-04-24 POS-DMZ à vérifier vppataels1 Patrouille ELS — légitimité DMZ à confirmer Le serveur est tagué POS-DMZ mais à confirmer en zone DMZ Faux positif POS-DMZ potentiel : si pas réellement en DMZ, fausse l'audit DMZ Vérification confirmée — toutes anomalies POS-DMZ rectifiées 🟢 2026-04-24
15 2026-04-24 POS-TRA manquant vrexpbtex1, vrameased1 Serveurs Trafic Recette non taggés POS-TRA Préfixes vrexp* et vramea* absents de la QQL POS-TRA Assets Trafic Recette non visibles dans le périmètre Trafic Ajout vrexp* à la QQL POS-TRA (vramea* déjà couvert par vrame*) + parens + Server 🟢 2026-04-24
16 2026-04-24 POS-INF vs POS-GES *echat* (vpechat, vrechat, vdechat) Préfixes Echat/Achat dans les 2 règles → double tag Erreur historique de classification : Echat/Achat est métier Gestion (POS-GES), pas Infrastructure Conflit tag : assets vpechat01 recevaient à la fois POS-INF et POS-GES Retrait asset.name:vpechat*, vrechat*, vdechat* de la QQL POS-INF (gardés uniquement dans POS-GES) 🟢 2026-04-24
17 2026-04-24 Toutes les ENV-* et POS-* Toutes les rules QQL Précédence opérateurs : OR ... AND Server sans parenthèses → seul le dernier OR est filtré par Server Manque de parenthèses autour des grands OR dans les rules QQL Filtre Server inopérant : les workstations passaient à travers les filtres ENV-/POS- (sauf le dernier item du OR) → KPI faussés Ajout systématique de ( ... ) autour de tous les grands OR dans toutes les rules ENV-* et POS-* (5+6 = 11 règles) + gen_xlsx.py mis à jour 🟢 2026-04-24
18 2026-04-24 TAG-OBS OS obsolètes manquants Liste TAG-OBS incomplète Manquaient : Win Server 2008 R2, Win7 (sans espace, embedded), RHEL 7 (EOL juin 2024), Oracle Linux 5/6, SLES 11/12, Solaris 10, AIX 6.1 + typo "Server 5" double espace Audit obsolescence incomplet : assets EOL non détectés → risque sécu non remonté Liste étendue dans gen_xlsx.py + typo fixée (à appliquer en console Qualys) 🟡 (gen_xlsx fait, console à faire)
19 2026-04-24 POS-DMZ vs TAG-SED/TAG-SEI 7 assets en désaccord audit DMZ 3 en POS-DMZ sans SED/SEI + 4 avec SED/SEI hors POS-DMZ Tags STAT manuels non synchronisés à la création/modif d'assets DMZ Trou audit sécurité : assets DMZ non classifiés en exposition directe/indirecte → mauvaise priorisation patch/scan Rectification finale 2026-04-25 : 3 ajouts à SED/SEI (vppintaweb1 SED, vppintaweb2 SED, vrameased1 SEI) + 1 retrait vpdecasas4 (n'aurait pas dû être en SEI) + 3 confirmés légitimement hors DMZ (LAN exposé via NAT : vpdsiawsus1 SED, vppeaabst3 SEI, vpvpnaems1 SED Ubuntu). Total cohérent : POS-DMZ=48, SED+SEI=48 🟢 2026-04-25
20 2026-04-25 POS-INF trop restrictif 5 assets seulement API Qualys live confirme 5 (vpbipamod1, vpsimasvp1, vraptbjup1, vraiiavid1/2) rule_type console = GLOBAL_ASSET_VIEW alors que gen_xlsx.py dit Asset Inventory (= Asset Search). Les 5 retournés sont d'ailleurs tous dans la liste d'EXCLUSIONS de la QQL gen_xlsx (vpbipa*, vpsimas*, vraptb*, vraiia* tous exclus dans dom_inf_rule_v2.txt) → confirme que la rule appliquée par la console n'est PAS celle de notre référentiel Périmètre Infrastructure totalement faux : la rule active dans Qualys est inconnue/obsolète, le dashboard remonte 5 alors qu'on devrait avoir 91 préfixes match. DSI sous-estime la surface d'attaque infra. Console Qualys : éditer POS-INF, changer Tag Rule Type de Global Asset ViewAsset Inventory (Asset Search) + coller la QQL de C:\Claude\sanef\QL\inputs\dom_inf_rule_v2.txt + Re-evaluate 🔴 À fixer (QQL console)

Tags Qualys legacy à nettoyer (concurrence avec V3)

À supprimer ou désactiver une fois la transition V3 validée :

Tag legacy Remplacé par V3 Statut migration
Production ENV-PRD À supprimer
Recette ENV-REC À supprimer
Linux Server OS-LIN-SRV À supprimer
Windows Server OS-WIN-SRV À supprimer
flux_libre, Flux Libre, FreeFlow POS-FL À fusionner/supprimer
DEX À déterminer À analyser
DSI POS-INF (partiellement) À analyser
VRF_INCONNUE VRF-* (à créer) Configurer VRF métier
TAG-SRVEXPOSEINTERNET TAG-SED À fusionner

Workflow de mise à jour

  1. Constat anomalie : ajouter une ligne dans le tableau ci-dessus avec date, tag, asset, problème
  2. Validation Khalid : décider du fix (Qualys QQL, app décodeur, ou les deux)
  3. Implémentation :
    • Si fix QQL : modifier la règle dans console Qualys + mettre à jour C:\Claude\sanef\QL\gen_xlsx.py pour la doc
    • Si fix app : modifier C:\Claude\sanef\sanef-qualys-manager\server_decoder.py
  4. Test : recharger les tags dans la console Qualys, vérifier le delta sur 5-10 assets témoins
  5. Statut : passer à 🟢 dans le tableau

Contacts / liens utiles

  • Console Qualys : https://qualysguard.qualys.eu > VMDR > Assets > Tags
  • Référentiel V3 : C:\Claude\sanef\QL\docs\SANEF_Qualys_Tags_V3_RuleTypes_v2.xlsx
  • Décodeur app : C:\Claude\sanef\sanef-qualys-manager\server_decoder.py
  • Mémoire détaillée : C:\Users\netadmin\.claude\projects\C--Users-netadmin\memory\qualys.md