Aller au contenu principal

Mode agent - Scanner système

S'applique à :
Windows / Linux / macOSFilesystem + Domain ScanningProcess EnumerationCertificate Store InventoryOS SSL/TLS Configurationv1.0.0
Statut

Implémenté - Disponible en v1.0.0. Le mode agent est un scanner combiné qui orchestre l'analyse du système de fichiers, l'analyse de domaine, l'énumération des processus avec sockets TLS actifs et l'inventaire du magasin de certificats à l'échelle du système.

Vue d'ensemble​

Le mode agent est le mode d'analyse le plus complet. Il combine l'analyse du système de fichiers et l'analyse de domaine en une seule opération et ajoute des capacités au niveau du système : l'énumération des processus pour trouver les processus en cours d'exécution disposant de sockets TLS actifs, l'inventaire du magasin de certificats à l'échelle du système, et l'analyse de la configuration SSL/TLS au niveau du système d'exploitation. Ce mode est conçu pour une découverte approfondie des actifs cryptographiques au niveau de l'hôte.

Fonctionnement​

Flux du mode agent

1

Analyse du système de fichiers

Exécute le scanner complet du système de fichiers pour découvrir les certificats, les magasins de clés et les clés

2

Analyse de domaine

Exécute le scanner de domaine sur les points de terminaison TLS découverts ou configurés

3

Énumération des processus

Énumère les processus disposant de sockets TLS actifs (facultatif)

4

Inventaire du magasin de certificats

Inventorie les magasins de certificats à l'échelle du système sur l'ensemble du système d'exploitation

5

Configuration SSL/TLS de l'OS

Analyse les paramètres de configuration SSL/TLS au niveau du système d'exploitation

6

Rapport consolidé

Fusionne toutes les découvertes en un seul rapport complet

Ce que le mode agent combine​

Le mode agent orchestre plusieurs composants de scanner en une seule exécution :

📁 Scanner de système de fichiers

  • PEM, DER, PKCS#12/PFX, JKS/JCEKS, clés privées
  • Magasin de certificats Windows (schannel)
  • Peut être désactivé avec --no-filesystem-scan

🌐 Scanner de domaine

  • Handshake TLS via rustls (TLS 1.2/1.3)
  • Extraction complète de la chaîne de certificats
  • Détection de la suite de chiffrement et de l'échange de clés
  • Découverte de sous-domaines et détection du KEX PQ

⚙ Énumération des processus

  • Découvre les processus en cours d'exécution disposant de sockets TLS actifs
  • Fonctionnalité facultative pour une visibilité au niveau de l'hôte
  • Peut être désactivée avec --no-process-scan

🔒 Inventaire du magasin de certificats

  • Énumération du magasin de certificats à l'échelle du système
  • Analyse de la configuration SSL/TLS au niveau de l'OS
  • Prise en charge multiplateforme

Utilisation​

Analyse de base​

# Run agent mode (combines filesystem + domain + process + certstore scanning)
dke-scanner-agent agent

# Run with output to file
dke-scanner-agent agent --output agent-report.json

# Run with specific output format
dke-scanner-agent agent --format yaml --output report.yaml

Options en ligne de commande​

IndicateurDescriptionDéfautRequis
--no-process-scanIgnore l'énumération des processus (découverte des sockets TLS)falseNon
--no-filesystem-scanIgnore l'analyse du système de fichiersfalseNon
--output <FILE>Chemin du fichier de sortiestdoutNon
--format <FMT>Format de sortie : json, yaml, terminal ou htmljsonNon
Options héritées

Le mode agent hérite de toutes les options du scanner de système de fichiers et du scanner de domaine. Vous pouvez passer des indicateurs de système de fichiers tels que --path, --extensions, --scan-windows-certstore, et des indicateurs de domaine tels que --target, --discover-subdomains, etc.

Exemples avancés​

Architecture​

Le mode agent agit comme un orchestrateur, combinant les scanners de système de fichiers et de domaine avec une découverte supplémentaire au niveau du système :

  1. Exécute l'analyse du système de fichiers (certificats, magasins de clés, clés) sauf si elle est désactivée avec --no-filesystem-scan.
  2. Exécute l'analyse de domaine sur les points de terminaison TLS découverts.
  3. Énumère les sockets TLS actifs des processus en cours d'exécution sauf si elle est désactivée avec --no-process-scan.
  4. Inventorie les magasins de certificats du système.
  5. Analyse la configuration SSL/TLS au niveau du système d'exploitation.

Exemple de sortie​

{
"scan_metadata": {
"scanner_version": "1.0.0",
"scan_mode": "agent",
"scan_date": "2025-01-30T14:32:10Z",
"hostname": "webserver-prod-01",
"os": "Linux 5.15.0-91-generic",
"platform": "Ubuntu 22.04.3 LTS"
},
"summary": {
"total_findings": 247,
"critical": 12,
"high": 45,
"medium": 123,
"low": 67,
"certificates_found": 89,
"keystores_found": 23,
"processes_with_tls": 34
},
"findings": [
{
"id": "agent-001",
"source": "filesystem",
"type": "certificate",
"location": "/etc/ssl/certs/api-server.crt",
"certificate": {
"subject": "CN=api.bank.com, O=Example Bank, C=US",
"issuer": "CN=DigiCert Global Root CA",
"algorithm": "RSA",
"key_size": 2048,
"not_after": "2026-01-01T23:59:59Z"
},
"risk_assessment": {
"quantum_risk_score": 8.2,
"priority": "P1",
"severity": "HIGH"
}
},
{
"id": "agent-002",
"source": "domain",
"type": "tls_endpoint",
"target": "api.bank.com:443",
"tls_info": {
"protocol_version": "TLS 1.3",
"cipher_suite": "TLS_AES_256_GCM_SHA384",
"key_exchange": "X25519"
},
"certificates": [
{
"position": 0,
"type": "leaf",
"subject": "CN=api.bank.com",
"algorithm": "RSA",
"key_size": 2048,
"quantum_vulnerable": true
}
]
},
{
"id": "agent-003",
"source": "process_scan",
"type": "process",
"process": {
"pid": 1234,
"name": "nginx",
"active_tls_sockets": 12
},
"risk_assessment": {
"quantum_risk_score": 7.5,
"priority": "P1",
"severity": "HIGH"
}
},
{
"id": "agent-004",
"source": "certstore",
"type": "certificate_store",
"store": "LocalMachine\\My",
"certificates": 15,
"quantum_vulnerable": 12
}
],
"os_tls_config": {
"default_tls_versions": ["TLS 1.2", "TLS 1.3"],
"system_cipher_suites": ["TLS_AES_256_GCM_SHA384", "TLS_CHACHA20_POLY1305_SHA256"]
}
}

Privilèges et autorisations​

Privilèges élevés recommandés

Le mode agent accède aux magasins de certificats du système, énumère les processus et lit des chemins protégés du système de fichiers. Des privilèges élevés sont recommandés pour obtenir des résultats complets.

Linux​

# Run with sudo for full system access
sudo dke-scanner-agent agent --output report.json

# Or grant specific capabilities
sudo setcap cap_sys_ptrace,cap_dac_read_search+ep /usr/local/bin/dke-scanner-agent
dke-scanner-agent agent

Windows​

# Run from an elevated (Administrator) PowerShell
dke-scanner-agent agent --output report.json

Des privilèges d'administrateur sont nécessaires pour accéder au magasin de certificats LocalMachine et pour l'énumération des processus.

macOS​

# Run with sudo
sudo dke-scanner-agent agent --output report.json

Accordez l'« accès complet au disque » à Terminal.app dans les Préférences Système pour un accès complet au trousseau (Keychain).

Quand utiliser le mode agent​

💻

Inventaire complet de l'hôte

Découvrez tous les actifs cryptographiques d'un même hôte : fichiers, points de terminaison, processus et magasins de l'OS

📊

Audits de conformité

Générez des rapports complets pour les audits de préparation PQC et la documentation de conformité

📋

Évaluation avant migration

Avant de migrer vers la PQC, comprenez l'empreinte cryptographique complète de chaque serveur

🔄

Validation après migration

Après la migration PQC, vérifiez que tous les actifs ont été mis à jour sur l'ensemble du système

Dépannage​

Bonnes pratiques​