Commit Graph

16 Commits

Author SHA1 Message Date
2746188f1c audit _run: detection sudo refused plus robuste (accent-insensitive, sudo:, no tty) 2026-04-15 12:12:22 +02:00
7480bbf5ac audit _run: fallback sans sudo si sudoers refuse bash -c (commandes read-only OK sans root) 2026-04-15 00:26:42 +02:00
3c4244597c Audit: ThreadPoolExecutor avec parallel borne (evite saturation DB/PSMP) 2026-04-15 00:20:12 +02:00
596276441b audit realtime: route via PSMP CyberArk si ssh_method=ssh_psmp
Nouvelle fonction _connect_via_psmp avec auth_interactive Vault Password,
lookup ssh_method par hostname avant _connect. Fallback SSH direct si
PSMP echoue.
2026-04-14 23:48:00 +02:00
9b3840bfa6 audit realtime: FQDN base = retour direct (plus de check port 22), boucle suffixes uniquement en fallback 2026-04-14 23:30:47 +02:00
a422894f83 Sync Qualys FQDN to servers + use fqdn first for DNS resolution 2026-04-14 15:00:40 +02:00
747e883d22 Smart DNS suffix order based on hostname convention (r=rec, p/i=prod) 2026-04-14 13:02:24 +02:00
53545585f0 Configurable DNS suffixes + 2s socket timeout for faster resolve 2026-04-14 12:58:54 +02:00
da1042fef4 Fix SSH key: read PEM content from settings + ssh_key_default_user 2026-04-14 12:56:09 +02:00
3f47fea8e6 Audit: jobs background paralleles + progression live
- Audit global/realtime: threads paralleles, job_id retourne immediat
- /audit/realtime/progress/{job_id}: KPIs + barre progression + tableau live
- Polling AJAX toutes les 2s, etapes animees (DNS/SSH/Audit/OK)
- PRETTY_NAME correction: extraction via grep -E 'PRETTY_NAME' + cut
- OS version: normalisation lors de save_audit_to_db (Debian GNU/Linux -> Debian X (Bookworm))
- Mise a jour base: itop sync bidirectionnel avec push OS version

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:51:05 +02:00
4801d805b1 Fix: ip_type='primary' au lieu de 'ipv4' dans server_ips 2026-04-10 20:57:14 +02:00
1be5e867dc Fix: server_ips colonne ip_address au lieu de ip 2026-04-10 20:18:59 +02:00
369ca7e5a3 Audit: mise a jour table servers avec IP, OS, FQDN depuis resultats audit
- Apres un audit reussi, update servers.os_version et servers.fqdn
- Resout l'IP via DNS et l'insere dans server_ips
- Ne touche que les serveurs avec status OK
2026-04-10 20:10:27 +02:00
16315ab3b5 Fix SSH audit: lire settings DB au lieu de hardcoder user/key/suffixes
- SSH key et user lus depuis app_secrets (ssh_key_file, ssh_user)
- Ajout .mpcz.fr dans DNS_SUFFIXES
- Auto-detect Ed25519/RSA/ECDSA
- Fallback password depuis secrets
2026-04-10 20:01:15 +02:00
Khalid MOUTAOUAKIL
49d5658475 Safe Patching wizard, SSE terminal, SSH password fallback, Qualys VMDR testé
Safe Patching Quick Win:
- Wizard 4 steps: Prérequis → Snapshot → Exécution → Post-patch
- Step 1: vérif SSH/disque/satellite par branche, exclure les KO
- Step 2: snapshot vSphere VMs
- Step 3: commande yum éditable, lancer hprod puis prod (100% requis)
- Step 4: vérification post-patch, export CSV
- Terminal SSE live (Server-Sent Events) avec couleurs
- Exclusion serveurs par checkbox dans chaque branche
- Label auto Quick Win SXX YYYY

SSH:
- Fallback password depuis settings si clé SSH absente
- Détection auto root (id -u) → pas de sudo si déjà root
- Testé sur VM doli CentOS 7 (10.0.2.4)

Qualys VMDR:
- API 2.0 testée et fonctionnelle avec compte sanef-ae
- Knowledge Base (CVE/QID/packages) accessible
- Host Detections (vulns par host) accessible
- Migration vers API 4.0 à prévoir (EOL dans 85 jours)

Qualys Agent installé sur doli (activation perso qg2)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 06:49:31 +02:00
Khalid MOUTAOUAKIL
8e62b1fb11 Qualys complet, contacts, audit refactoré, bulk serveurs
Qualys:
- Recherche API temps réel + cache 24h base locale
- Tags: liste DYN/STAT, mapping V3 (DOM-*, TYP-*, APP-*), nb assets cliquable
- CRUD tags: créer STAT, supprimer, resync API
- Détail asset: infos + décodage nomenclature V3 + tags assignés
- Ajout/retrait tag unitaire avec autocomplete filtrable
- Bulk add/remove tag en masse avec dropdown filtrable
- Tags retirer: charge dynamiquement les STAT assignés aux assets sélectionnés
- Resync assets sélectionnés + retour même recherche

Contacts:
- 50 contacts importés avec 93 scopes (domaine/app/serveur/zone par env)
- 13 rôles (responsable_domaine, ra_prod, ra_recette, referent_technique...)
- Recherche par nom/email/serveur (affiche contacts liés)
- CRUD complet: éditer, scopes, activer/désactiver, supprimer
- Serveurs liés calculés dynamiquement depuis les scopes

Audit:
- Restructuré: Audit général + sous-menu Spécifique
- Dernier audit global affiché avec date
- Lancer audit général avec exclusions (domaines/zones) et parallélisme
- KPIs Qualys KO et S1 KO cliquables
- Export CSV

Serveurs:
- Actions groupées bulk (domaine, env, tier, état, owner, licence)
- Dashboard: KPI EOL ajouté
- Filtre état: EOL + en décommissionnement ajoutés
- 138 serveurs EOL importés depuis Qualys (owner=na, hors périmètre)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 00:47:26 +02:00