Zum Hauptinhalt springen

Erste Schritte mit dem PQC Scanner

Gilt für:
Windows 10+LinuxmacOS

Voraussetzungen​

Voraussetzungen

  • Unterstütztes Betriebssystem (Windows 10+, Linux, macOS)
  • Administrator-/root-Zugriff für Agent-Scans und den Windows-Zertifikatspeicher
  • Netzwerkkonnektivität zu den Scan-Zielen (Port 443/TCP für Domain-Scans)
  • Mindestens 4 GB RAM (8 GB empfohlen)
  • 5 GB freier Festplattenspeicher

Installation​

Bereitstellung über Ihr Cockpit, keine öffentliche Veröffentlichung

dke-scanner-agent-Binärdateien werden weder auf GitHub noch in einer öffentlichen Docker-Registry veröffentlicht. Jeder Cockpit-Tenant stellt seinen eigenen signierten Download-Link mit kurzer Gültigkeitsdauer bereit, geschützt durch die Berechtigung Operations.Pki.Scanner.Agent.Download.

Installationsprogramm erzeugen

Gehen Sie in DuoKey Cockpit zu Scanner Agents → Generate Installer und wählen Sie eine Plattform (Windows x64, Linux x64/arm64, macOS x64/arm64). Sie erhalten einen signierten Download-Link sowie ein einmaliges Registrierungstoken, das 1 Stunde gültig ist.

Binärdatei herunterladen

Laden Sie die Binärdatei für Ihre Plattform über den Link herunter. Unter Linux/macOS machen Sie sie ausführbar und legen sie in Ihrem $PATH ab: chmod +x dke-scanner-agent-* && sudo mv dke-scanner-agent-* /usr/local/bin/dke-scanner-agent.

Bei Ihrem Cockpit registrieren

Führen Sie enroll einmalig aus, um den Host zu registrieren und ~/.dke/agent.toml anzulegen (Modus 0600 unter Unix):

dke-scanner-agent enroll --server https://cockpit.example.com --token <bundle-token>
Tipp

Übergeben Sie das Token über die Umgebungsvariable DKE_AGENT_ENROLL_TOKEN statt über --token, damit es nicht in der Shell-History oder der Prozessliste erscheint. Falls Ihr Cockpit-Release einen Hash der Binärdatei veröffentlicht hat, fügen Sie --expected-sha256 <hex> hinzu — die Registrierung wird dann bei einer Abweichung verweigert.

Schnellstart: Ihre ersten Scans​

Verfügbare Scan-Modi

filesystemVerzeichnisse nach Zertifikaten, Keystores und Schlüsseln scannen
domainEntfernte TLS/SSL-Endpunkte analysieren
agentVollständige systemweite kryptografische Bestandsaufnahme
sourcecodeStatische Analyse auf Krypto-Muster im Code

1. Dateisystem-Scan​

Scannen Sie ein Verzeichnis nach Zertifikaten, Keystores und privaten Schlüsseln:

# Aktuelles Verzeichnis scannen (Standard: rekursiv, max-depth 10)
dke-scanner-agent filesystem

# Bestimmtes Verzeichnis mit Ausgabe scannen
dke-scanner-agent filesystem --path /etc/ssl/certs --output scan.json

# Mit bestimmten Erweiterungen und Thread-Anzahl scannen
dke-scanner-agent filesystem \
--path /opt/app \
--extensions .pem,.crt,.p12,.jks \
--exclude node_modules,.git,target \
--threads 8 \
--format html \
--output report.html

# Scannen des Windows-Zertifikatspeichers einbeziehen
dke-scanner-agent filesystem --scan-windows-certstore

2. Domain-Scan​

Analysieren Sie entfernte TLS-Endpunkte und extrahieren Sie Zertifikatsketten:

# Einfacher Domain-Scan
dke-scanner-agent domain --target example.com

# Benutzerdefinierter Port mit Timeout
dke-scanner-agent domain --target api.example.com --port 8443 --timeout 30

# Mit Subdomain-Entdeckung (erfordert WhoisXML-API-Schlüssel)
dke-scanner-agent domain \
--target example.com \
--discover-subdomains \
--subdomain-api-key $WHOISXML_API_KEY \
--max-subdomains 50

# Erkennung von PQ-Schlüsselaustausch aktivieren (erfordert erhöhte Berechtigungen)
sudo dke-scanner-agent domain --target example.com --detect-pq-kex --interface eth0
Hinweis

Der Domain-Scanner verwendet Rustls für TLS-Verbindungen. Standardmäßig wird angenommen, dass der TLS-1.3-Schlüsselaustausch X25519 ist. Verwenden Sie --detect-pq-kex mit Paketerfassung, um X25519MLKEM768- oder Kyber768-Schlüsselaustausche zu erkennen.

3. Agent-Scan​

Umfassende systemweite kryptografische Bestandsaufnahme:

# Vollständiger Systemscan (erfordert erhöhte Berechtigungen)
sudo dke-scanner-agent agent

# Prozess-Scan überspringen für schnellere Ergebnisse
sudo dke-scanner-agent agent --no-process-scan

# Ergebnisse speichern
sudo dke-scanner-agent agent --output system-scan.json --format json

4. Quellcode-Scan​

Statische Analyse von Quellcode auf kryptografische Nutzungsmuster in 8 Sprachen mit über 150 Erkennungsregeln:

# Lokales Verzeichnis scannen
dke-scanner-agent sourcecode --path /path/to/code

# GitHub-Repository scannen
dke-scanner-agent sourcecode \
--github-repo owner/repo \
--github-token $GITHUB_TOKEN \
--branch main

# GitLab-Projekt scannen
dke-scanner-agent sourcecode \
--gitlab-project group/project \
--gitlab-token $GITLAB_TOKEN

# Azure-DevOps-Repository scannen
dke-scanner-agent sourcecode \
--azdo-org myorg \
--azdo-project myproject \
--azdo-repo myrepo \
--azdo-token $AZDO_TOKEN

5. CI/CD-Modus​

Integrieren Sie das Scannen in Ihre CI/CD-Pipeline mit SARIF-Ausgabe und Fail-on-Severity-Schwellenwerten:

# Mit SARIF-Ausgabe für die Security-Tabs von GitHub/GitLab scannen
dke-scanner-agent ci --source-path . --format sarif --output results.sarif

# Build bei Funden mit hohem Schweregrad fehlschlagen lassen
dke-scanner-agent ci --source-path ./src --fail-on high --output ci-scan.json

# Nur bei kritischen Funden fehlschlagen
dke-scanner-agent ci --fail-on critical

Workflows nach dem Scan​

CBOM generieren​

Exportieren Sie Funde als CycloneDX 1.7 Cryptographic Bill of Materials:

# Zuerst einen Scan ausführen
dke-scanner-agent filesystem --path /app --output scan.json

# CBOM generieren
dke-scanner-agent cbom \
--input scan.json \
--app-name "Payment Gateway" \
--app-version "2.5.1" \
--output payment-gateway-cbom.json

Compliance prüfen​

dke-scanner-agent compliance \
--scan-results scan.json \
--frameworks "NIST-800-131A,PCI-DSS-4.0,HIPAA,SOC2" \
--organization "Acme Corp" \
--format all \
--output compliance-reports/

An ServiceNow veröffentlichen​

dke-scanner-agent servicenow \
--instance $SERVICENOW_INSTANCE \
--token $SERVICENOW_TOKEN \
--input scan.json \
--auto-incidents true

Web-Dashboard starten​

# Auf Standardport 3000 starten
dke-scanner-agent serve

# Benutzerdefinierter Port
dke-scanner-agent serve --port 8080

Ergebnisse verstehen​

Risiko-Schweregradstufen​

SchweregradWertebereichPrioritätMaßnahme
Kritisch9.0-10.0P0Sofortige Maßnahme – RSA <2048, DSA, 3DES, RC4
Hoch7.0-8.9P1Innerhalb von 3 Monaten – RSA-2048, ECDSA, EdDSA
Mittel5.0-6.9P2Innerhalb von 6 Monaten – RSA-3072
Niedrig3.0-4.9P3Innerhalb von 12 Monaten – RSA-4096
Info0-2.9P4Beobachten – PQC-Algorithmen (ML-KEM, ML-DSA, SLH-DSA)

Struktur des Scan-Ergebnisses​

Konfiguration​

# Tokens der Git-Provider (für Quellcode-Scanning)
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"
export GITLAB_TOKEN="glpat-xxxxxxxxxxxx"
export AZDO_TOKEN="xxxxxxxxxxxx"

# ServiceNow-Anmeldedaten
export SERVICENOW_INSTANCE="https://dev12345.service-now.com"
export SERVICENOW_USER="api_user"
export SERVICENOW_PASSWORD="secret"
export SERVICENOW_TOKEN="oauth-token" # Alternative zu Benutzer/Passwort

# Subdomain-Entdeckung
export WHOISXML_API_KEY="your-api-key"

# Logging-Detailgrad
export RUST_LOG=info # debug, info, warn, error, trace

# Authentifizierung für das Web-Dashboard (optional)
export PQC_AUTH_MODE=none # none | oidc | api_key | both
export PQC_PORT=3000

Fehlerbehebung​

Tipp

Beginnen Sie mit einem einzelnen filesystem- oder domain-Scan, um sich mit dem Ausgabeformat vertraut zu machen, bevor Sie umfassende Infrastrukturbewertungen durchführen.