diff --git a/docs/exceptions_v3.md b/docs/exceptions_v3.md new file mode 100644 index 0000000..d1b4dab --- /dev/null +++ b/docs/exceptions_v3.md @@ -0,0 +1,64 @@ +# 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 | Fix proposé | Statut | +|---|---|---|---|---|---|---|---| +| 1 | 2026-04-22 | `ENV-TST` | `svp*` (Superviseur Péage) | Postes Windows 11 Client tagués Test | Préfixe `sv*` matche `svp*` | Exclusion `and not asset.name:svp*` ajoutée à la QQL | 🟢 | +| 2 | 2026-04-22 | `EQT-SRV` | `svp*` | Postes workstation détectés comme serveurs physiques | Préfixe `s*` matche `svp*` | Exclusion `and not asset.name:svp*` ajoutée | 🟢 | +| 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). De plus c'est un poste, pas un serveur | 1) Ajouter `and operatingSystem.category2:"Server"` à POS-BI
2) Exclure `vpapta*` de POS-BI (= POS-GES) | 🔴 | +| 4 | 2026-04-24 | `POS-BI` `POS-GES` `POS-INF` `POS-FL` `POS-PEA` `POS-TRA` `NOM-LEGACY` | Tous les POS-* | Postes de travail susceptibles d'être tagués POS-* à tort | Les règles QQL POS-* ne filtrent pas par OS Server | Ajouter `and operatingSystem.category2:"Server"` à toutes les règles POS-* | 🔴 | +| 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 reconnaît que `red hat`, `centos`, `debian` comme Linux | Étendre patterns Linux dans `_filter_os_only` (côté app uniquement) | 🟡 | +| 6 | 2026-04-24 | `POS-BI` vs `POS-GES` | `vpapt*` vs `vpapta*` / `vrapt*` vs `vrapta*` | Préfixe `vpapt*` dans POS-BI englobe `vpapta*` (Apta = POS-GES) | Pas d'exclusion mutuelle dans QQL | Modifier POS-BI pour exclure les `apta*` : `vpapt* and not (asset.name:vpapta* or asset.name:vrapta*)` | 🔴 | +| 7 | 2026-04-24 | `POS-INF` vs `POS-GES` | `aii*` vs `aiiat*` / `dsi*` vs `dsiat*` | Préfixes courts (`aii`, `dsi`) dans POS-INF englobent `aiiat`/`dsiat` (Aide pilotage / Reporting DSI = POS-GES) | Pas d'exclusion mutuelle | Modifier POS-INF pour exclure les `aiiat*`/`dsiat*` : `... and not (asset.name:vpaiiat* or asset.name:vraiiat* or asset.name:vrdsiat*)` | 🔴 | +| 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'existe 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) | Si pas de cas réel `vpges*` autre que `vpgesb*`, retirer la map `ges`→POS-INF du décodeur app | 🟡 | +| 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 | Liste `QUALYS_BUILTIN_EXACT` + `QUALYS_BUILTIN_PREFIX` ajoutée dans `server_decoder.py` | 🟢 | +| 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 | Décodeur app : suggère POS-DMZ si zone Excel = "DMZ" | 🟢 | + +--- + +## 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` diff --git a/inputs/tag recpa v3 important.jpg b/inputs/tag recpa v3 important.jpg new file mode 100644 index 0000000..2343502 Binary files /dev/null and b/inputs/tag recpa v3 important.jpg differ