YADS - Umfassendes Benutzerhandbuch
Version: 3.0.0 Letzte Aktualisierung: 2026-03-28
Willkommen zum YADS (Yet Another Domain Scanner) Handbuch. Diese Anleitung deckt alle Aspekte der Anwendung ab, vom ersten Scan bis zur erweiterten Konfiguration und Mandantenfähigkeit.
Inhaltsverzeichnis
- Einführung
- Erste Schritte
- Dashboard-Übersicht
- Target-Verwaltung
- Scans durchführen
- Analyse-Module
- OSINT Markenüberwachung
- Visualisierungen
- Datenverwaltung & Berichte
- Benutzerverwaltung & Sicherheit
- Mandantenfähigkeit
- Systemeinstellungen & Queue
- KI-Intelligenz-Assistent
- Finding Management & Schwachstellen-Tracking
- Asset-Tagging & Organisation
- Executive Report & Portfolio-Ansicht
- Dark/Light Mode
- In-App-Bugmeldung
- Asset Discovery
- Mehrsprachigkeit (EN/DE)
- Best Practices
- Fehlerbehebung
- Support
- Standalone- & Lokale Installation
- Identity Provider & SSO
- Entwicklerportal
- Scan-Profile
- Einrichtungsassistent
- Datenspeicherung
- Excel-Export
- Angriffspfad-Visualisierer
- Scan-Vergleich
- WAF-Analyse
- Scanner-Import
- Integrationen
- Erw. Scanner-Modul-Referenz
- Custom-Modul-System
- PQC Readiness & CBOM
- Angriffsflächen-Matrix
- Worker & Queue Zuverlässigkeit
1. Einführung
YADS ist eine automatisierte Sicherheits-Reconnaissance-Plattform, die entwickelt wurde, um internetfähige Assets zu erfassen, zu analysieren und zu überwachen. Sie kombiniert mehrere Scan-Techniken – DNS-Enumeration, Port-Scanning, Web-Analyse und Schwachstellenerkennung – in einer einzigen, benutzerfreundlichen Oberfläche.
Hauptfunktionen
- Asset-Erkennung: Subdomains, Cloud-Ressourcen und vergessene Infrastruktur automatisch finden.
- 100+ modulare Scanner: Einzelne Module wählen oder vordefinierte Scan-Profile für gezielte Analysen nutzen.
- Schwachstellen-Scanning: Veraltete Software (CVEs), Fehlkonfigurationen und aktive Bedrohungen erkennen — mittels Nuclei und Custom-Scanner-Modulen.
- KI & Automatisierung Neu in v4.5.28: KI-Intelligenz-Assistent, KI-generierte Befundbeschreibungen und KI Add-on Lab — alles mit menschlicher Prüfung im Loop.
- PQC Readiness Neu in v4.5.28: Multi-Port-TLS-Scanning mit Hybrid-KEX-Erkennung (X25519MLKEM768), automatisierte CBOM-Erstellung und PQC-Trendcharts.
- Angriffspfad-Visualisierer Neu in v4.5.28: Multi-Target-D3.js-Kill-Chain-Graph mit Schweregradringen, Befund-Badges, 4K-PNG-Export und Change-Halos.
- Zenith Risk Orchestrator Neu in v4.5.28: Tenantweiter Angriffspfad-Intelligenz-Motor. Attackability Score (0–100), Dijkstra-Angriffspfade, Crown Jewel Registry, Remediation ROI und What-If-Simulation.
- Intelligence Hub Neu in v4.5.28: JARM-TLS-Fingerprinting mit C2-Erkennung, Origin-IP-WAF-Bypass-Hunter und Canary-Token-Deployment mit Webhook-Callbacks.
- Post-Quanten-Kryptographie (PQC) Report: Kryptographische Posture gegen Quantenbedrohungen bewerten – NIS2/DORA-konform.
- Modul-Report-Center: Jedes Scanner-Modul hat eine eigene Report-Seite mit PDF- und Excel-Export.
- Visuelle Intelligenz: Screenshots erfassen und Netzwerkbeziehungen via Angriffspfad und Netzwerk-Graph visualisieren.
- Kontinuierliche Überwachung: Änderungen im Zeitverlauf mit automatischer Änderungserkennung verfolgen.
- Vollständig DE/EN: Oberfläche, PDFs, Excel-Exporte und KI-Ausgaben in Deutsch und Englisch verfügbar.
- Multi-User & Multi-Tenant: Mehrere Teams oder Kunden sicher in einer Instanz verwalten.
2. Erste Schritte
2.0 Systemvoraussetzungen
YADS wird als vollständig containerisierte Anwendung ausgeliefert. Auf dem Host-System werden nur Docker und einige Hilfswerkzeuge benötigt — keine Python-Laufzeitumgebung, keine Datenbankinstallation, nichts weiter.
Hardware
| Ressource | Minimum | Empfohlen |
|---|---|---|
| CPU | 2 Kerne | 4+ Kerne |
| RAM | 8 GB | 16 GB+ |
| Festplatte | 20 GB frei | 50 GB+ (Scandaten wachsen) |
| Betriebssystem | Linux x86-64 | Ubuntu 22.04 LTS / Debian 12 |
Software-Voraussetzungen
| Abhängigkeit | Mindestversion | Hinweis |
|---|---|---|
| Docker Engine | 24.0 | Offizielles Docker CE — keine Distributions-Pakete |
| Docker Compose | 2.20 | V2 Plugin (docker compose, nicht docker-compose) |
| git | aktuelle Version | Zum Klonen der Repositories |
| Internetzugang | — | Port 443 ausgehend zu github.com (Klonen) und Docker Hub (Basis-Images) |
Warum offizielles Docker? Distributions-Pakete (z.B.
apt install docker.io) liefern Docker 20.x, dem Compose V2 und mehrere Swarm-Features fehlen, die YADS benötigt. Bitte immer von docs.docker.com installieren.
Docker Engine & Compose installieren
# Alte Pakete entfernen
sudo apt-get remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true
# Offiziellen GPG-Key und Repository hinzufügen
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker Engine + Compose Plugin + curl installieren
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin curl
# Docker ohne sudo ausführen
sudo usermod -aG docker $USER
newgrp docker
# Überprüfen
docker --version # → Docker version 26.x oder neuer
docker compose version # → Docker Compose version v2.x
System überprüfen
Vor dem Klonen kurz gegenprüfen:
docker --version && docker compose version && git --version
# Alle drei sollten Versionsinformationen ausgeben
2.1 Ersteinrichtungs-Assistent (Setup Wizard)
Beim ersten Start einer neuen Instanz fängt YADS den gesamten Datenverkehr ab und präsentiert einen Setup-Assistenten. Sie müssen diesen 3-schrittigen Prozess abschließen, bevor Sie auf das Dashboard zugreifen können:
- Datenbank: Definieren Sie ein sicheres Passwort für die interne PostgreSQL-Datenbank. Dieses Passwort wird automatisch in
/app/data/config.envgespeichert. - Initialisierung:
- Upgrade: Behält vorhandene Daten bei und führt Schema-Migrationen durch (verwenden Sie dies für Updates).
- Purge (Factory Reset): WARNUNG: Löscht ALLE Daten und beginnt von vorne.
- Admin Erstellen: Erstellen Sie das erste Systemadministrator-Konto.
2.2 Klonen & Konfigurieren
YADS gibt es nur als Source — kein Download-Paket, keine private Registry. Das Deployment liegt im Repo yads-infra, das die API-/Worker-Images aus einem sibling yads-Checkout baut.
git clone https://github.com/MrMarco74/yads.git
git clone https://github.com/MrMarco74/yads-infra.git
cd yads-infra
cp .env.example .env
nano .env # POSTGRES_PASSWORD, SECRET_KEY, SIGNING_KEY, REFRESH_SECRET, YADS_ENCRYPTION_KEY, RABBITMQ_PASSWORD setzen
2.2b Stack starten
Bauen und starten per Docker Compose — derselbe Befehl funktioniert lokal, per SSH oder aus einer CI/CD-Pipeline, ohne separaten "Headless-Modus":
docker compose -f docker-compose.server.yml up -d --build
http://<ihr-server>:8000 öffnen — Sie landen direkt im Setup-Wizard (siehe 2.1 oben).
2.2c YADS verwalten — Start, Stop, Neustart
Reines Docker Compose, kein separates Control-Script. Alle Befehle aus yads-infra/ heraus ausführen:
# YADS starten
docker compose -f docker-compose.server.yml up -d
# YADS stoppen (Daten bleiben erhalten)
docker compose -f docker-compose.server.yml down
# Alle Container neu starten
docker compose -f docker-compose.server.yml restart
# Container-Status anzeigen
docker compose -f docker-compose.server.yml ps
# Live-Logs verfolgen (alle Container)
docker compose -f docker-compose.server.yml logs -f
# Logs eines bestimmten Dienstes
docker compose -f docker-compose.server.yml logs -f yads-api
docker compose -f docker-compose.server.yml logs -f yads-worker
# Update: neuesten Source ziehen und neu bauen
git -C ../yads pull
git pull
docker compose -f docker-compose.server.yml up -d --build
Hinweis:
docker compose downstoppt die Container, aber erhält alle Daten (Datenbank-Volumes, Redis-Status). Um alle Daten dauerhaft zu löschen, verwenden Siedocker compose down -v— dieser Vorgang ist nicht umkehrbar.
2.2d Zugriff auf das System
Navigieren Sie zu Ihrer YADS-Instanz (z.B. https://yads.your-domain.com).
- Login: Geben Sie Ihren Benutzernamen und Ihr Passwort ein.
- MFA: Falls aktiviert, geben Sie Ihr zeitbasiertes Einmalpasswort (TOTP) aus Ihrer Authenticator-App ein.
2.3 Oberflächen-Einstellungen
- Tag/Nacht-Modus: Klicken Sie auf das Mond/Sonne-Symbol in der oberen Navigationsleiste, um zwischen dunklem (Standard) und hellem Design zu wechseln.
2.4 Die ersten Schritte
- Dashboard: Sie landen auf dem Haupt-Dashboard, das eine Übersicht Ihrer Ziele zeigt.
- Ziel hinzufügen: Verwenden Sie das Eingabefeld oben (oder die Schaltfläche "Ziel hinzufügen"), um eine Domain einzugeben (z.B.
example.com). - Scan starten: Klicken Sie nach dem Hinzufügen auf die Schaltfläche "Scan", um mit der Datenerfassung zu beginnen.
3. Dashboard-Übersicht
Das Dashboard ist Ihre Kommandozentrale.
- Kritische Aufmerksamkeits-HUD: Ein prominenter Warnblock oben, der unmittelbare Bedrohungen hervorhebt (z.B. abgelaufenes SSL, kritische Schwachstellen). Bei sicherem System wird dies bestätigt.
- Statistik-Karten: Schnellansicht von Gesamt-Targets, aktiven Scans und Queue-Status.
- Target-Liste: Eine paginierte Tabelle aller überwachten Domains.
- Status-Indikatoren: Zeigt an, ob ein Scan
Idle,Queued,RunningoderFailedist. - Gesundheitschecks: Schnellindikatoren für SSL-Status, Online-Status und Risikobewertung.
- Status-Indikatoren: Zeigt an, ob ein Scan
- Live-Aktivität: Das Panel "Aktive Scans" rechts zeigt den Echtzeit-Fortschritt laufender Jobs.
4. Target-Verwaltung
Targets hinzufügen
- Einzeln: Domain im Dashboard-Eingabefeld eingeben.
- Massenimport: Klicken Sie auf "Import", um eine Textdatei hochzuladen (eine Domain pro Zeile) oder eine Liste einzufügen.
- Option: "DNS verifizieren" prüft, ob Domains auflösbar sind, bevor sie hinzugefügt werden.
Massenaktionen
Wählen Sie mehrere Targets über die Checkboxen in der Tabelle für Batch-Operationen: * Massen-Scan: Bestimmte Scan-Module für alle ausgewählten Targets auslösen. * Massen-Löschen: Targets und deren Daten entfernen.
Filterung
Verwenden Sie die Spaltenfilter in der Tabellenansicht, um bestimmte Targets zu finden:
* Nach Name filtern: Nach Teil-Domain-Übereinstimmungen suchen.
* Nach Status filtern: Nur Failed oder Running Scans anzeigen.
* Nach Tags filtern: Targets mit benutzerdefinierten Tags organisieren.
5. Scans durchführen
Sie können Scans in zwei Modi ausführen:
Quick Scan
Klicken Sie auf die "Play"-Schaltfläche bei einem Target, um das Standard-Scan-Profil auszuführen, das beinhaltet: * DNS-Enumeration * Web-Analyse * SSL-Prüfung
Benutzerdefinierter Scan
Auf der Target-Details-Seite klicken Sie auf "Neuer Scan", um die erweiterte Auswahl zu öffnen. Sie können einzelne Module aktivieren:
* Subdomain Recon: Findet sub.example.com.
* DNS Records: A/AAAA/MX/TXT-Einträge.
* Web Analyzer: Screenshots, Tech-Stack und Header.
* Typosquatting: Prüft auf Phishing-Domains (z.B. exampel.com).
* CVE Scanner: Prüft erkannte Software gegen Schwachstellen-Datenbanken.
* Port Scan: Testet gängige Ports (80, 443, 8080, etc.).
* Wayback Machine: Sucht nach historischen Dateien und Endpunkten.
* FULL SCAN: Führt alle verfügbaren Module aus.
Scan-Profile
(Neu in v4.5.28) Scan-Profile ermöglichen die Definition wiederverwendbarer Scanner-Modul-Sets. Anstatt jedes Mal einzelne Module zu aktivieren, wählen Sie ein Profil und alle zugehörigen Module werden automatisch aktiviert.
- Profile erstellen: Navigieren Sie zu Scan-Profile in der Seitenleiste. Klicken Sie auf "Neues Profil", geben Sie einen Namen ein (z.B. "Quick Recon", "Vollständige Analyse") und wählen Sie die enthaltenen Module.
- Profile verwenden: Im "Neuer Scan"-Dialog wählen Sie ein Profil aus der Dropdown-Liste, um alle Modulauswahlen vorauszufüllen. Einzelne Module können vor dem Start noch angepasst werden.
- Standard-Profil: Ein Profil kann als Standard markiert werden – dieses wird beim Klick auf den Schnell-"Scan"-Button in der Target-Liste ausgeführt.
- Teilen: Profile sind mandantengebunden und für alle Benutzer im Mandanten sichtbar.
Geplante Scans
(Neu in v4.5.28) Sie können Ihre Reconnaissance automatisieren, indem Sie wiederkehrende Zeitpläne einrichten. 1. Navigieren Sie zur Zeitpläne-Seite über die Seitenleiste. 2. Klicken Sie auf "Zeitplan erstellen". 3. Wählen Sie ein Target und eine Häufigkeit (Täglich oder Wöchentlich). * Täglich: Läuft alle 24 Stunden. * Wöchentlich: Läuft alle 7 Tage. 4. Verwalten Sie bestehende Zeitpläne (Löschen/Nächste Ausführung anzeigen) direkt aus der Liste.
Hinweis: Geplante Scans führen automatisch das FULL SCAN-Profil aus, um umfassende Abdeckung zu gewährleisten.
6. Analyse-Module
Web Analyzer & OSINT
Besucht die Seite wie ein echter Benutzer. * Visuelles: Vollständiger Screenshot und Favicon. * Technologien: Erkennt CMS (WordPress), Server (Nginx) und Frameworks. * OSINT: Extrahiert E-Mails, Telefonnummern und Social-Media-Links von der Seite.
Schwachstellenbericht (CVEs)
- Gleicht Versionsnummern (z.B. "Apache 2.4.49") mit bekannten CVEs ab.
- Zeigt Schweregrad (CVSS) und Beschreibungen an.
- Hinweis: Diese Logik basiert auf genauer Versionserkennung.
Infrastruktur-Scanner
- Geo-Lokalisierung: Ordnet die Server-IP einem physischen Standort zu.
- ASN-Info: Identifiziert den Hosting-Anbieter (z.B. AWS, DigitalOcean).
- Cloud-Prüfung: Erkennt, ob das Asset bei einem großen Cloud-Anbieter gehostet wird.
- Reputation: Prüft die IP gegen Spam-/Malware-Blacklists.
DNS & Subdomain
- Passive Recon: Nutzt öffentliche Logs (CT), um Subdomains zu finden, ohne das Ziel direkt zu kontaktieren.
- Aktives Brute-Force: Testet gängige Subdomain-Namen.
- Dangling CNAMEs: Warnt, wenn eine Subdomain auf eine nicht existierende Cloud-Ressource zeigt (Hijacking-Risiko).
Schwachstellen-Scanning (Aktiv)
(Neu in v4.5.28) YADS integriert jetzt Nuclei für aktive Schwachstellenerkennung. * Fähigkeiten: Scannt nach 5000+ bekannten Schwachstellen (CVEs), Fehlkonfigurationen und exponierten Panels. * Schweregrad: Befunde werden als Critical, High, Medium, Low oder Info kategorisiert. * Verwendung: Wählen Sie "Nuclei Vulnerability Scan" im Neuer Scan-Dialog.
Stealth Port-Scanning
(Neu in v4.5.28)
* Stealth-Modus: Verwendet Nmap mit Evasion-Flags (-sS, -T2, -D RND:5), um Ports zu prüfen, ohne IDS/IPS auszulösen.
* Langsam & Sicher: Für Stealth konzipiert, dauert dieser Scan länger, reduziert aber das Erkennungsrisiko.
* Optionale Abhängigkeit mit Socket-Fallback: Nmap wird nicht mit YADS mitgeliefert. Ist Nmap nicht installiert, wird das Modul nicht deaktiviert — es wechselt automatisch in einen einfachen TCP-Socket-Scan. Siehe Nmap installieren für den vollen Funktionsumfang.
Nmap nicht installiert — Socket-Fallback-Modus
Ist Nmap nicht verfügbar, wechselt nmap_scanner automatisch in einen eingebauten TCP-Socket-Fallback. Das Modul bleibt in der Scan-Typ-Auswahl aktiviert, zeigt jedoch ein gelbes Eingeschränkt-Badge zur Kennzeichnung des reduzierten Funktionsumfangs.
Was im Socket-Fallback funktioniert:
- TCP-Connect-Scan auf 20 gängige Ports (21, 22, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 3306, 3389, 5432, 6379, 8080, 8443, 8888, 27017)
- HTTP/HTTPS-Diensterkennung auf Web-Ports
- Einfaches Banner-Grab auf FTP-, SSH- und SMTP-Ports
- Port offen/geschlossen und Dienstname
Was Nmap erfordert (im Fallback nicht verfügbar):
- Stealth-Scanning (
-sSSYN-Scan,-T2-Timing, Decoy-IPs) - OS-Erkennung und Versions-Fingerprinting
- Vollständiger Port-Bereich (über die 20 vordefinierten Ports hinaus)
- UDP-Port-Scanning
- NSE-Script-Ausführung
Das Scan-Ergebnis enthält "method": "socket_fallback" als Hinweis auf den verwendeten Modus.
Nmap installieren (empfohlen)
Nmap ist eine optionale externe Abhängigkeit und unter GPL-2.0 lizenziert. Da YADS es als Subprocess aufruft (keine Bibliothekseinbindung), gilt die GPL nicht für YADS selbst. Die Installation erfolgt separat auf dem Docker-Host oder im Container:
# Option A — auf dem Docker-Host (empfohlen, bleibt nach Container-Neustart erhalten)
apt-get install -y nmap # Debian / Ubuntu
yum install -y nmap # RHEL / CentOS / Rocky
# Option B — in einem laufenden YADS-Container (geht bei Neustart verloren)
docker exec -it yads-api apt-get install -y nmap
# Option C — über die YADS-Admin-Oberfläche
# Einstellungen → Scanner-Ressourcen → Schaltfläche „Nmap installieren"
# (führt apt-get install automatisch im API-Container aus)
Hinweis: Nach der Installation muss der YADS-API-Container neu gestartet werden, damit die Verfügbarkeitsprüfung aktualisiert wird. Der Worker-Container erkennt das Binary sofort beim nächsten Scan-Aufruf.
Um zu prüfen, ob Nmap von YADS erkannt wird: Einstellungen → Scanner-Ressourcen. Die Statusanzeige zeigt Installiert ✓, sobald das Binary gefunden wird.
JavaScript SAST
(Neu in v4.5.28)
* Statische Analyse: Lädt automatisch clientseitige JavaScript-Dateien herunter und analysiert sie.
* Sink-Erkennung: Identifiziert potenzielle DOM-XSS-Sinks (z.B. innerHTML, document.write).
* Routen-Erkennung: Extrahiert versteckte API-Routen aus JS-Code.
API-Erkennung
(Neu in v4.5.28)
Teil des Web Analyzers, dieses Modul erkennt automatisch:
* Dokumentation: Findet swagger.json, openapi.yaml und WSDL-Dateien.
* Endpunkte: Identifiziert GraphQL-Endpunkte (/graphql) und versionierte REST-Pfade (/api/v1/).
* Ergebnisse: Werden in der Web-Analyse-Karte auf der Target-Detailseite angezeigt.
SOC2 Compliance-Engine
(Neu in v4.5.28) Echtzeit-Bewertung der Compliance-Bereitschaft Ihrer Infrastruktur. * Score: Wird dynamisch (0-100%) basierend auf aktiven Scan-Ergebnissen berechnet. * Abzüge: * Abgelaufenes SSL: -20 Pkt. * Kritische CVEs: -15 Pkt. * Riskante Ports: -10 Pkt. (z.B. 21, 23, 3389 aus dem Internet erreichbar) * Öffentliche Buckets: -25 Pkt. * Einblicke: Bewegen Sie die Maus über das Score-Widget im Dashboard, um spezifische Mängel zu sehen.
E-Mail-Sicherheits-Scanner
(Neu in v4.5.28)
Analysiert alle E-Mail-Authentifizierungs- und Anti-Spoofing-Mechanismen einer Domain.
* SPF: Validiert den Sender Policy Framework-Eintrag, berichtet über Strenge (-all vs. ~all).
* DKIM: Prüft DKIM-Publikschlüssel auf gängigen Selektoren.
* DMARC: Bewertet die Policy (none, quarantine, reject) und Reporting-Adressen.
* BIMI: Erkennt Brand Indicator for Message Identification-Einträge.
* Score: 0–100 Kompositbewertung; Ergebnisse in der Analyseansicht /email-security.
HTTP-Sicherheits-Header
(Neu in v4.5.28)
Prüft alle OWASP-empfohlenen HTTP-Response-Header des Targets.
* Geprüfte Header: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, Cross-Origin-*.
* Jeder Header wird bewertet: Vorhanden / Teilweise konfiguriert / Fehlend – mit Behebungshinweisen.
Cookie-Sicherheits-Analyzer
(Neu in v4.5.28)
Prüft alle vom Target gesetzten Cookies auf Sicherheitsattribute.
* Checks: Secure, HttpOnly, SameSite (Strict/Lax/None), __Host--Präfix-Verwendung.
* Session-Cookies ohne Secure oder HttpOnly werden als High-Severity-Befunde markiert.
CORS-Fehlkonfigurations-Scanner
(Neu in v4.5.28)
Testet das Target mit vier verschiedenen Origin-Header-Mustern, um zu freizügige CORS-Richtlinien zu erkennen.
* Muster: Null-Origin, Subdomain-Wildcard, beliebige Domain und evil.com.
* Erkennt Access-Control-Allow-Origin: * und Credentials-aktiviertes CORS (Allow-Credentials: true mit reflektiertem Origin).
Zertifikat-Mismatch-Scanner
(Neu in v4.5.28)
Verbindet sich über Pythons Standard-ssl-Bibliothek (keine externen Tools erforderlich), um zu prüfen ob das TLS-Zertifikat zur Domain passt.
* Erkennt: Hostname-Mismatches, abgelaufene Zertifikate, selbstsignierte Certs und fehlende SANs.
* Ergebnisse im SSL-Card auf der Target-Detailseite.
Threat-Intelligence-Scanner
(Neu in v4.5.28) Prüft alle aufgelösten IPs gegen drei Bedrohungsintelligenz-Feeds (BYOK API-Schlüssel erforderlich): * AbuseIPDB: Abuse-Confidence-Score und Meldungsanzahl für jede IP. * OTX AlienVault: Pulse-Anzahl und Reputationsindikatoren. * VirusTotal: Schädliches/verdächtiges Stimmverhältnis von 90+ Engines. * Ergebnisse werden zu einem Gesamt-Bedrohungsscore aggregiert und auf der Security-Findings-Seite angezeigt.
Shodan / Censys Host Intelligence
(Neu in v4.5.28) Reichert Target-Daten mit passiven internetweiten Scan-Daten an (BYOK API-Schlüssel erforderlich): * Shodan: Offene Ports, Banner, CVEs und Hostnamen aus Shodans Datenbank. * Censys: Certificate Transparency, exponierte Dienste und Autonomous-System-Daten. * Daten werden mit Nmap-Ergebnissen zusammengeführt für eine einheitliche Port/Service-Ansicht ohne aktives Scanning.
JavaScript-Secrets-Scanner
(Neu in v4.5.28)
Lädt alle clientseitigen JavaScript-Dateien herunter und analysiert sie statisch auf eingebettete Secrets.
* 25+ Regex-Muster: AWS-Schlüssel, GitHub-Tokens, Google-API-Schlüssel, Stripe-Secrets, Private Keys, JWTs und mehr.
* Jeder Fund enthält Dateiname, Zeilenkontext und Schweregradwertung.
* Befunde erscheinen im Sensible-Daten-Report (/secrets).
Git-Exposure-Scanner
(Neu in v4.5.28)
Testet 49 sensible Pfade, die häufig auf Webservern exponiert sind.
* Checks: /.git/config, /.git/HEAD, /Dockerfile, /.env, /wp-config.php, Backup-Dateien und mehr.
* Eine 200-Antwort für einen dieser Pfade wird als High/Critical-Befund markiert.
Subdomain-Takeover-Scanner
(Neu in v4.5.28) Erkennt verwaiste DNS-Einträge, die auf stillgelegte Cloud-Services zeigen. * 30+ Provider-Fingerprints: GitHub Pages, Heroku, Fastly, Azure, AWS S3, Shopify, Zendesk und viele mehr. * Logik: Wenn ein CNAME auf die Domain eines Providers zeigt und eine bekannte "unclaimed"-Fehlerseite zurückgibt, wird es als High-Severity-Takeover-Risiko markiert.
DNS-Zonentransfer (AXFR) Scanner
(Neu in v4.5.28) Versucht einen Zonentransfer gegen alle autoritativen Nameserver der Domain. * Ein erfolgreicher Transfer enthüllt die vollständige interne DNS-Zone – eine kritische Fehlkonfiguration. * Ergebnisse zeigen, welcher Nameserver den Transfer zugelassen hat und wie viele Einträge exponiert wurden.
Security.txt Validator
(Neu in v4.5.28)
Prüft das Vorhandensein und die Gültigkeit einer security.txt-Datei gemäß RFC 9116.
* Testet sowohl /.well-known/security.txt als auch /security.txt.
* Validiert: Pflichtfelder (Contact, Expires), Ablaufdatum (markiert abgelaufene Dateien) und optionale Felder (Encryption, Policy, Preferred-Languages).
7. OSINT Markenüberwachung
(Neu in v4.5.28)
Das OSINT-Modul hilft Ihnen, nicht überwachte Assets zu entdecken, indem es findet, wo Ihre Marken-Assets (Logos) im Web erscheinen.
Google Cloud Einrichtung (Voraussetzung)
Um diese Funktion zu nutzen, muss Ihr Mandanten-Admin die Google Cloud Vision API konfigurieren: 1. API aktivieren: Aktivieren Sie in Ihrer Google Cloud Console die "Cloud Vision API". 2. API-Schlüssel: Erstellen Sie einen API-Schlüssel unter "Credentials". * Wichtig: Wenn Sie Ihren API-Schlüssel einschränken (empfohlen), stellen Sie sicher, dass Cloud Vision API in der Liste der erlaubten APIs aktiviert ist. 3. Abrechnung: Die Cloud Vision API erfordert ein aktives Abrechnungskonto, das mit dem Projekt verknüpft ist (auch für die kostenlose Stufe).
Rückwärts-Bildersuche
- Vorbereitung: Stellen Sie sicher, dass Ihr Mandanten-Admin die Google Cloud Vision API-Schlüssel in den Mandanten-Einstellungen konfiguriert hat.
- Upload: Ziehen Sie Ihr offizielles Logo (PNG/JPG) per Drag & Drop in die Suchzone.
- Analyse: Das System nutzt Googles Vision API (Web Detection), um exakte Kopien oder visuell ähnliche Bilder im gesamten Web zu finden.
- Ergebnisfilterung:
- Unbekannt: Domains, die derzeit nicht in Ihrer Target-Liste sind. Sie können diese mit einem Klick importieren.
- Überwacht: Domains, die Sie bereits verfolgen.
Nutzungskontingente
Die Rückwärts-Bildsuche nutzt die Google Cloud Vision API, die über Ihr eigenes Google-Cloud-Konto pro Anfrage abgerechnet wird. * Nutzungslimits: Ihr Admin kann ein monatliches Suchkontingent pro Mandant festlegen, um die Vision-API-Kosten zu kontrollieren. Bei Überschreitung werden Suchen bis zum nächsten Zyklus blockiert.
8. Visualisierungen
Netzwerk-Graph
Ein interaktiver Knoten-Graph, der Beziehungen zwischen Domains, IPs und ASNs zeigt. * Graph erstellen: Klicken Sie auf die Schaltfläche "Graph erstellen" in der Seitenleiste, um Daten abzurufen und anzuzeigen. * Kontextnachrichten: Wenn keine Daten für die ausgewählten Filter verfügbar sind, gibt das System spezifisches Feedback (z.B. "Wurde dieses Target bereits gescannt?"). * Filter: * Web-Links anzeigen: Sichtbarkeit von HTTP-basierten Kanten umschalten. * DNS ausgrauen: Blendet DNS-Verbindungen grau aus, um die Web-Struktur hervorzuheben. * Cluster: Sehen Sie, welche Domains dieselbe Hosting-Infrastruktur teilen. * Zoom/Schwenken: Navigieren Sie einfach in großen Infrastrukturen. * Angriffspfad-Visualisierung (Neu in v4.5.28): * Umschalten: Aktivieren Sie "Angriffspfade", um riskante Kanten und kompromittierte Knoten hervorzuheben. * Einblicke: Visualisiert potenzielle laterale Bewegungspfade basierend auf Schwachstellen- und Netzwerkdaten.
Analytics-Dashboard
Hochrangige Metriken für das Management. * Weltkarte: Physischer Standort aller Assets. * Tech-Verteilung: Diagramme, die die häufigsten Technologien zeigen (z.B. "80% Nginx"). * Risiko-Überblick: Zusammenfassung kritischer Schwachstellen im gesamten Portfolio.
Compliance & Bewertung
(Aktualisiert in v4.5.28) Oben auf jeder Target-Detail-Seite zu finden: * Sicherheitsbewertung (A-F): Ein zusammengesetzter Score basierend auf SSL, Headern, Schwachstellen und offenen Ports. * Risikofaktoren: Listet explizit die Gründe für Score-Abzüge auf (z.B. "Fehlendes HSTS -10"). * Compliance-Lücken: Ordnet technische Befunde Industriestandards zu: * OWASP Top 10: z.B. A05 (Fehlkonfiguration), A02 (Krypto-Fehler). * DSGVO / ISO 27001: Erkennt PII-Exposition und Secrets.
Spiderweb (Redirect-Graph)
Visualisiert Redirect-Ketten. * Einstiegspunkte: Sehen Sie, wo Benutzer nach Eingabe einer Domain landen.
Externe Links Analyse
Die Externe Links-Ansicht hilft Ihnen, Drittanbieter-Abhängigkeiten und potenzielle Shadow-IT zu identifizieren.
- Zugriff: Gehen Sie zu Berichte > Externe Links Bericht oder über Analytics.
- Zweck: Listet alle während der Scans gefundenen Domains (via Crawler oder DNS), die nicht Teil Ihrer definierten Targets sind.
- Funktionen:
- Scope-Bewusstsein: Schließt automatisch Ihre eigenen Targets/Subdomains aus.
- Quellen: Zeigt, welche Ihrer Targets zur externen Domain verlinken.
- Typ: Zeigt an, ob der Link über einen Webseiten-Link (link), Mail Exchange Record (MX), Nameserver (NS) etc. gefunden wurde.
- Export: Klicken Sie auf "PDF exportieren" auf der Berichte-Seite.
Tote Links Analyse
(Neu in v4.5.28)
Identifizieren Sie Gesundheitsprobleme in Ihrem eigenen Inventar.
- Zugriff: Gehen Sie zu Analytics > Tote Links.
- Nicht erreichbare Targets: Listet Targets, bei denen kürzliche Scans fehlgeschlagen sind (Offline oder Server-Fehler).
- Verwaiste Targets: Listet Targets in Ihrem Inventar, die von keinem anderen Target in Ihrem Scope verlinkt werden. Nützlich zum Finden vergessener Assets.
9. Datenverwaltung & Berichte
(Erweitert in v4.5.28)
YADS bietet dedizierte Berichte, die Ihnen helfen, spezifische Datensätze und Risiken zu analysieren.
Modul-Report-Center
(Neu in v4.5.28) Jedes Scanner-Modul hat jetzt eine eigene dedizierte Report-Seite, erreichbar über Berichte → Modul-Reports. Jeder Modul-Report bietet:
- Modulspezifische KPIs: Zusammenfassungsstatistiken und Trendindikatoren für die Befunde dieses Scanners.
- Detaillierte Befundtabelle: Alle Befunde des Moduls, filterbar nach Schweregrad, Domain, yf_id und Zeitraum.
- PDF-Export: Professionell formatierter PDF-Report für das gewählte Modul und den Zeitraum.
- Excel-Export: Strukturierter Spreadsheet-Export mit allen Datenspalten für weitere Analysen.
- KI-Anreicherung: Modul-Reports können KI-generierte Executive Summaries und Behebungsempfehlungen enthalten.
- Direktzugriff: Schneller Zugriff über den neuen Bereich "Modul-Reports" in der Haupt-Seitenleiste.
Module mit dedizierten, visuell optimierten Report-Designs: Git-Exposure (mit Pfad-Analyse), E-Mail-Sicherheit, HTTP-Header, Cookie-Sicherheit, CORS, SSL/TLS, Threat Intelligence, Subdomain-Takeover, JavaScript-Secrets, Nuclei, DNS und Port-Scan.
Sensible Daten
Pfad: /secrets
Aggregiert Funde von exponierten API-Schlüsseln, Anmeldedaten und Konfigurationsdateien (z.B. .env, Backups), die von Nuclei und Web Analyzer erkannt wurden.
* Kategorien: Anmeldedaten, Konfigurationen, PII.
* Aktion: Rotieren Sie sofort alle hier gefundenen Anmeldedaten.
E-Mail-Sicherheit
Pfad: /email-security
Analysiert SPF- und DMARC-Einträge, um Domains zu identifizieren, die für E-Mail-Spoofing anfällig sind.
* Sicher: Starke SPF + DMARC Reject/Quarantine.
* Monitoring: DMARC-Policy ist none.
* Anfällig: Fehlende SPF- oder DMARC-Einträge.
Port-Exposition
Pfad: /ports
Ein Dashboard mit Fokus auf Nmap-Ergebnisse, das riskante offene Ports in Ihrer Infrastruktur hervorhebt.
* Hebt die häufigsten offenen Ports hervor (z.B. 22 SSH, 3389 RDP).
* Listet alle Targets mit offenen Ports, die im letzten Scan erkannt wurden.
Technologie-Drift
Pfad: /tech-drift
Eine Zeitleiste, die zeigt, wann Technologien zu Ihren Assets hinzugefügt oder entfernt wurden.
* Verwenden Sie dies, um "Shadow IT" zu erkennen (z.B. ein neuer Nginx-Server, der über Nacht erscheint) oder Wartungsänderungen zu verifizieren.
Angriffsflächen-Reduktion
Pfad: /asr
Eine "Bereinigungsliste" von Assets, die auf Außerbetriebnahme geprüft werden sollten.
* Tote Endpunkte: Subdomains, die 404/5xx-Fehler zurückgeben.
* Unkonfigurierte Server: Server, die Standard-Platzhalterseiten anzeigen.
* Abgelaufene Zertifikate: SSL-Zertifikate, die abgelaufen sind.
Broken Link Hijacking
Pfad: /analytics/hijacking
Identifiziert defekte externe Links (404s) auf Ihren Assets, die auf gültige Domains zeigen.
* Risiko: Angreifer können diese Domains registrieren und die Link-/Script-Ausführung übernehmen.
* Aktion: Entfernen Sie den defekten Link oder registrieren Sie die Domain.
Technologie-Radar
Pfad: /analytics/tech-radar
Eine visuelle Aufschlüsselung der Technologie-Stack-Nutzung in Ihrem Portfolio.
* Kategorien: Server, Frameworks, CMS.
* Verwendung: Identifizieren Sie veraltete Technologie oder nicht autorisierte Software-Stacks.
Daten exportieren
Alle Systemexporte sind jetzt unter der Berichte-Seite in der Seitenleiste konsolidiert.
Verfügbare Berichte
- Infrastruktur Executive Summary: Ein professioneller PDF-Bericht mit Details zu Cloud-Anbietern, geografischer Verteilung und kritischen Risiken in Ihrem Mandanten.
- Compliance-Bericht: Eine interaktive detaillierte Aufschlüsselung Ihres SOC2-Bereitschaftsscores mit einer umsetzbaren "Verbesserungsplan"-Checkliste.
- Externe Links Bericht: PDF-Export von Drittanbieter-Domains, die mit Ihrer Infrastruktur verlinkt sind.
Custom Report Builder
(Neue Funktion)
Erstellen Sie vollständig angepasste Sicherheitsberichte mit eigenem Branding, Struktur und Inhalt mithilfe von Markdown-Vorlagen.
Hauptfunktionen
- Markdown-Vorlagen: Schreiben Sie Berichte in vertrauter Markdown-Syntax mit einem Live-Vorschau-Panel.
- 200+ Dynamische Variablen: Greifen Sie auf alle Scan-Daten mit Jinja2-Template-Variablen zu (z.B.
{{ dns.subdomains|count }}). - Multi-Target-Berichte: Kombinieren Sie Daten aus mehreren Domains in einem umfassenden Bericht.
- Eingebaute Hilfe: Klicken Sie auf "Template-Hilfe" für eine In-App-Variablenreferenz und Beispiele.
- Mandanten-Datenisolation: Variablen sind automatisch auf die Daten Ihres Mandanten beschränkt.
Schnellstart
- Navigieren Sie zu Berichte → Report Builder.
- Wählen Sie ein oder mehrere Targets aus dem linken Panel.
- Schreiben Sie Ihre Markdown-Vorlage mit Variablen wie
{{ tenant.report_company_name }}. - Verwenden Sie die Live-Vorschau, um zu überprüfen, ob Ihre Vorlage korrekt gerendert wird.
- Klicken Sie auf Bericht generieren, um Ihr PDF zu erstellen.
Beispielvorlage
# Sicherheitsbericht für {{ tenant.report_company_name }}
**Erstellt:** {{ now|datetime }}
## Zusammenfassung
| Metrik | Anzahl |
|--------|--------|
| Kritisch | {{ summary.critical_count }} |
| Hoch | {{ summary.high_count }} |
## Befunde
{% for t in targets %}
### {{ t.domain }}
Sicherheitsscore: {{ t.security_score }}
{% endfor %}
💡 Tipp: Verwenden Sie den "Template-Hilfe"-Button, um alle verfügbaren Variablen nach Scanner-Modul organisiert zu sehen.
Datenexporte
- Target CSV: Laden Sie Ihr gesamtes Roh-Target-Inventar (Domain, Status, Letzter Scan) als CSV-Datei herunter.
- Excel-Export: Die Target-Übersichtsseite bietet einen erweiterten Excel-Export mit allen UI-Spalten.
- Backup: Admin-Benutzer können die gesamte Datenbank und Assets als ZIP-Datei von der Einstellungsseite exportieren.
System-Logs
- Logs anzeigen: Admins können Echtzeit-Anwendungs- und Worker-Logs zur Fehlerbehebung einsehen.
- Stream: Der Log-Viewer aktualisiert sich live während des Scan-Fortschritts.
10. Benutzerverwaltung & Sicherheit
(Nur Admin)
Benutzer verwalten
Gehen Sie zu Benutzer in der Navigationsleiste. * Benutzer erstellen: Definieren Sie Benutzername, Passwort und initiale Rolle. * Rollen: * Viewer: Nur-Lese-Zugriff auf Dashboards. * Scanner: Kann Targets hinzufügen und Scans ausführen. * Admin: Voller Systemzugriff, einschließlich Einstellungen und Benutzerverwaltung.
Multi-Faktor-Authentifizierung (MFA)
- Benutzer können 2FA in ihrem Profil aktivieren.
- Admins können sehen, wer MFA aktiviert hat, können es aber nicht für sie deaktivieren (Benutzer müssen bei Verlust zurücksetzen, oder Admin löscht Benutzer).
Mandanten-Zuweisung
- Weisen Sie Benutzer bestimmten Mandanten zu, um deren Sicht zu isolieren. Ein Benutzer, der "Kunde A" zugewiesen ist, sieht nur Targets, die zu "Kunde A" gehören.
11. Mandantenfähigkeit
YADS unterstützt mehrere isolierte Umgebungen (Mandanten). * Isolation: Targets, Ergebnisse und Benutzer sind auf einen Mandanten beschränkt. * Wechseln: Benutzer mit Zugriff auf mehrere Mandanten können den Kontext über das Dropdown in der oberen Navigationsleiste wechseln. * Verwaltung: Admins können Mandanten umbenennen und Mitgliedschaften über die Mandanten-Seite verwalten. * Plattform-Admin: Ein Admin ohne spezifischen Mandanten sieht alles und kann die Mandanten selbst verwalten.
Webhook-Benachrichtigungen
(Neu in v4.5.28)
Mandanten können Echtzeit-Webhooks konfigurieren, um externe Systeme zu integrieren (Slack, Discord, Tines, etc.).
1. Gehen Sie zu Mandanten-Einstellungen.
2. Scrollen Sie zur Webhook-Benachrichtigungen-Karte.
3. Fügen Sie eine URL hinzu und wählen Sie Ereignisse (z.B. scan_finished, new_asset).
4. Verwenden Sie die Test-Schaltfläche, um die Verbindung zu überprüfen.
12. Systemeinstellungen & Queue
(Nur Admin)
Queue-Steuerung
- Pause/Fortsetzen: Stoppt den Hintergrund-Worker von der Verarbeitung neuer Scans. Der Worker prüft alle 60 Sekunden auf das Fortsetzen-Signal.
- Queue leeren: PANIK-KNOPF. Bricht alle ausstehenden und laufenden Scans ab und setzt ihren Status in der Datenbank auf "Idle" zurück. Verwenden Sie dies, wenn das System hängt.
- System-Reset: Setzt das System in einen "sauberen Zustand" zurück. Dies entfernt alle Scan-Daten und Mandanten, behält aber Benutzerkonten und Systemkonfigurationen bei.
Konfiguration
- Web-Timeout: Legen Sie das globale Timeout für HTTP-Anfragen fest (Standard: 10s).
- Gleichzeitigkeits-Limits: Definieren Sie, wie viele Header-Scanner parallel laufen.
Verteilte Worker
YADS unterstützt horizontale Skalierung durch verteilte Worker über Docker Swarm Nodes.
- Worker-Registrierungstoken: Generieren und verwalten Sie das Token für die Worker-Authentifizierung
- Globale Ressourcenlimits: Legen Sie maximale gleichzeitige Scans und Netzwerkdurchsatzgrenzen fest
- Worker-Status: Zeigen Sie aktive Worker, deren Auslastung und Task-Anzahl in Echtzeit an
- Worker-Steuerung: Pausieren, Fortsetzen oder Entleeren von Workern ohne Neustart der Dienste
Worker-Zustände
| Zustand | Beschreibung |
|---|---|
| Active | Läuft und akzeptiert neue Tasks |
| Suspended | Pausiert, akzeptiert keine neuen Tasks |
| Draining | Beendet aktuelle Tasks vor dem Offline-Gehen |
| Offline | Antwortet nicht (fehlende Heartbeats) |
Einheitliche Protokollierung
Greifen Sie auf aggregierte Logs aller Worker über Einstellungen > Einheitliche Scan-Logs anzeigen zu. Filtern nach:
- Mandant: Logs für bestimmte Organisationen anzeigen
- Worker: Bestimmte Worker-Nodes debuggen
- Log-Level: Nach INFO, WARNING oder ERROR filtern
Hinweis: Detaillierte Einrichtungsanweisungen finden Sie in der Anleitung für verteilte Worker.
RabbitMQ Nachrichtenbroker
(Pflicht ab v4.5.28)
YADS v4.5.28 setzt RabbitMQ als Celery-Task-Broker voraus. Redis/Valkey bleibt als Result Backend und Echtzeit-Log-Streaming-Schicht im Einsatz. Beide Dienste sind für diese Rollen nicht mehr austauschbar.
- Konfigurations-Variable:
BROKER_URL=amqp://yads:passwort@rabbitmq:5672// - Result Backend:
REDIS_URL=redis://valkey:6379/0(unverändert) - Consumer Timeout: Der RabbitMQ-Standard-
consumer_timeoutvon 30 Minuten ist für lang laufende Scans zu kurz. YADS liefert einerabbitmq/conf.d/99-yads.conf, die das Timeout auf 70 Minuten erhöht. Diese Datei wird durch die mitgeliefertedocker-compose.ymlautomatisch eingebunden. Diesen Wert nicht reduzieren, wenn Nuclei oder vollständige Port-Scans laufen.
Warteschlange für Maintenance-Tasks
Eine dedizierte maintenance-Celery-Queue verwaltet nmap- und Nuclei-Installations-/Update-Tasks. Diese Queue ist stets aktiv — sie wird nicht pausiert, wenn die Haupt-Scan-Queue über die Queue-Steuerung pausiert wird. Damit sind Tool-Updates unabhängig vom Scan-Scheduling.
One-Click Updates
(Neu in v4.5.28)
YADS enthält einen In-App Update-Mechanismus, der kontrollierte Updates ohne manuellen Eingriff durchführt.
- Nach Updates suchen: Navigieren Sie zu Einstellungen und finden Sie die "System Updates"-Karte. Klicken Sie auf "Nach Updates suchen", um zu prüfen, ob eine neue Version verfügbar ist.
- Update-Prozess: Wenn ein Update verfügbar ist, klicken Sie auf "Update starten", um den Prozess zu beginnen:
- Die Scan-Queue wird automatisch pausiert
- Aktive Tasks werden abgeschlossen (bis zu 5 Minuten)
- Das neue Docker-Image wird heruntergeladen
- Die Dienste werden kontrolliert neu gestartet
- Fortschrittsüberwachung: Ein Echtzeit-Fortschrittsbalken zeigt die aktuelle Update-Phase
- Changelog-Vorschau: Sehen Sie vor dem Update, was neu ist
- Abbrechen: Updates können während der Vorbereitungs- oder Download-Phase abgebrochen werden
⚠️ Wichtig: Updates können nicht abgebrochen werden, sobald die Neustart-Phase begonnen hat. Stellen Sie sicher, dass Sie aktuelle Backups haben, bevor Sie aktualisieren.
Sicherheits-Audit-Logging (MITRE ATT&CK)
(Neu in v4.5.28)
YADS enthält umfassendes Sicherheits-Audit-Logging, das am MITRE ATT&CK Framework ausgerichtet ist. Alle Authentifizierungs- und Benutzerverwaltungsereignisse werden mit vollständigem Kontext für SIEM-Integration und Compliance protokolliert.
Protokollierte Ereignisse
| Ereignistyp | MITRE-Technik | Beschreibung |
|---|---|---|
| Login Erfolgreich | T1078 (Valid Accounts) | Erfolgreiche Authentifizierung |
| Login Fehlgeschlagen | T1110 (Brute Force) | Fehlgeschlagene Anmeldeversuche (ungültiger Benutzer/Passwort/MFA) |
| Logout | T1070 (Indicator Removal) | Sitzungsbeendigung |
| Passwortänderung | T1098 (Account Manipulation) | Passwort durch Benutzer oder Admin geändert |
| MFA Aktiviert/Deaktiviert | T1556 (Modify Auth Process) | MFA-Konfigurationsänderungen |
| Benutzer Erstellt | T1136 (Create Account) | Neues Benutzerkonto erstellt |
| Benutzer Gelöscht | T1531 (Account Access Removal) | Benutzerkonto gelöscht |
| Rolle Geändert | T1078.003 (Local Accounts) | Benutzerrolle/Berechtigung geändert |
| Mandantenwechsel | T1087 (Account Discovery) | Benutzer hat Mandantenkontext gewechselt |
Erfasste Daten
- Zeitstempel: Ereigniszeit (indiziert für schnelle Abfragen)
- Benutzername/Benutzer-ID: Handelnder Benutzer
- Quell-IP: Client-IP-Adresse
- User-Agent: Browser-/Client-Identifikation
- Mandanten-ID: Mandantenkontext
- Zielbenutzer: Für Admin-Aktionen auf andere Benutzer
- MITRE-Mapping: Taktik- und Technik-IDs
SIEM-Integration
Ereignisse werden automatisch an Splunk weitergeleitet, wenn über Umgebungsvariablen konfiguriert:
SPLUNK_HEC_URL: Splunk HTTP Event Collector URLSPLUNK_HEC_TOKEN: Authentifizierungstoken
💡 Tipp: Verwenden Sie die MITRE-Technik-IDs, um YADS-Ereignisse mit anderen Sicherheitstools in Ihrem SOC zu korrelieren.
Prometheus Metriken-Export
(Neu in v4.5.28)
YADS bietet native Prometheus-Metriken für Infrastruktur-Monitoring, Alerting und Performance-Dashboards.
Metriken aktivieren
Setzen Sie die folgenden Umgebungsvariablen, um den /metrics-Endpunkt zu aktivieren:
METRICS_ENABLED=true: Haupt-Toggle zum Aktivieren der MetrikenMETRICS_AUTH_MODE: Authentifizierungsmodus (none,tokenoderuser)METRICS_TOKEN: Bearer-Token für Authentifizierung (beitoken-Modus)METRICS_INCLUDE_TENANT_LABELS: tenant_id-Labels einschließen (Standard:false)METRICS_POLL_INTERVAL: Datenbank-Polling-Intervall in Sekunden (Standard:30)
Verfügbare Metriken
| Metrik | Typ | Beschreibung |
|---|---|---|
yads_scans_total | Counter | Gesamte Scans nach Modul und Status |
yads_scan_duration_seconds | Histogram | Scan-Dauer nach Modul |
yads_http_requests_total | Counter | HTTP-Anfragen nach Methode, Pfad, Status |
yads_http_request_duration_seconds | Histogram | HTTP-Anfrage-Latenz |
yads_security_events_total | Counter | Sicherheits-Audit-Ereignisse nach Typ |
yads_active_scans | Gauge | Aktuell laufende Scans |
yads_queue_depth | Gauge | Ausstehende Tasks in der Queue |
yads_workers_total | Gauge | Worker nach Status |
Monitoring-Stack Deployment
Deployen Sie den kompletten Monitoring-Stack mit Prometheus und Grafana:
docker compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d
- Prometheus: Zugriff unter
http://localhost:9090 - Grafana: Zugriff unter
http://localhost:3000(admin/admin)
Ein vorgefertigtes YADS-Dashboard wird automatisch in Grafana provisioniert.
13. KI & Automatisierung
(Neu in v4.5.28)
YADS v4.5.28 führt drei integrierte KI-Funktionen ein — alle nach dem Prinzip Human-in-the-Loop entworfen: KI schlägt vor, Menschen entscheiden. Kein autonomes Deployment, kein Auto-Push. Alle Funktionen unterstützen OpenAI und Anthropic (BYOK) und haben regelbasierte Fallbacks ohne API-Schlüssel.
Human-in-the-Loop-Prinzip: Das ist eine bewusste Architekturentscheidung. KI erzeugt Vorschläge, Code oder Analysen — ein Mensch muss aber immer prüfen und freigeben, bevor etwas gespeichert, deployt oder ausgeführt wird. Das KI Add-on Lab erzeugt Modul-Code, kann ihn aber nicht installieren oder aktivieren. Befundbeschreibungen werden zur Prüfung markiert. Kein Scan wird jemals autonom durch KI ausgelöst.
13.0 KI-Anbieter konfigurieren
KI-Funktionen erfordern einen API-Schlüssel von OpenAI oder Anthropic. Schlüssel können auf zwei Ebenen gesetzt werden:
- Plattformweit: Navigieren Sie zu Einstellungen → Systemkonfiguration und setzen Sie
OPENAI_API_KEYoderANTHROPIC_API_KEY. Dies gilt für alle Mandanten ohne eigenen Schlüssel. - Pro Mandant (BYOK): Mandantenadministratoren können ihre eigene
llm_provider-,llm_api_key- undllm_model-Konfiguration unter Mandanteneinstellungen → KI-Konfiguration setzen. Mandantenschlüssel haben Vorrang vor plattformweiten Schlüsseln.
Unterstützte Modelle: OpenAI GPT-4o, GPT-4o-mini; Anthropic Claude 3.5 Sonnet, Claude 3 Haiku.
💡 Regelbasierter Fallback: Ohne API-Schlüssel fallen alle KI-Funktionen automatisch auf ausgefeilte regelbasierte Logik zurück. Ergebnisse werden als "Regelbasierte Analyse" statt "KI-generiert" gekennzeichnet.
13.1 KI-Intelligenz-Assistent
Eine konversationelle KI-Oberfläche, die vollständig auf Ihren eigenen Scan-Daten basiert. Zugang über Intelligence → KI-Assistent.
Funktionsumfang:
- Beantwortet natürlichsprachliche Fragen zu Scan-Befunden: "Welche Domains haben die meisten kritischen Schwachstellen?", "Gibt es SSL-Probleme auf Staging?"
- Befundpriorisierung — automatische Rangfolge aller Sicherheitsbefunde nach Ausnutzbarkeit und Geschäftsauswirkung.
- Schrittweise Behebungsanleitungen für jeden spezifischen Befund.
- Befunderklärung: Erklärt, was ein Befund bedeutet, was ein Angreifer damit tun kann und wie er behoben wird — in verständlicher Sprache.
- Generiert Executive Summaries für Management-Präsentationen.
Natürlichsprachige Suche: Die gesamte Befunddatenbank per natürlicher Sprache oder Deutsch durchsuchen. Beispiele:
zeige alle kritischen Nuclei-Befunde auf api.example.comhohe SSL-Probleme auf allen Domainsshow me all critical findings on api.example.com
Geparste Filter erscheinen als Chips unter dem Suchfeld. Ergebnisse sind nach Schweregrad sortiert (max. 200 Einträge). Klick auf ein Ergebnis navigiert direkt zur Zieldetailseite.
🔒 Datensparsamkeit: An den KI-Anbieter werden ausschließlich der generische Befundtyp, der Schweregrad und der Name des Scanner-Moduls übermittelt. Ziel-Hostnamen, IP-Adressen, Roh-Scan-Daten und kundenbezogene Informationen werden niemals übertragen.
13.2 KI-generierte Befundbeschreibungen Enterprise
Erzeugt automatisch verständliche Beschreibungen mit Behebungsschritten für jeden Sicherheitsbefund. Zugang über das KI-Symbol in jeder SecurityFinding-Zeile oder über Intelligence → Befundbeschreibungen.
Was erzeugt wird:
- Verständliche Erklärung, was der Befund ist und warum er existiert
- Konkrete, nummerierte Behebungsschritte passend zum Befundtyp
- Schweregrads-Begründung und CVSS-Kontext sofern zutreffend
- Referenzlinks zu relevanten Advisories (CVE, OWASP, CWE)
Prüfworkflow:
- Klicken Sie auf das KI-Symbol bei einem Befund.
- Ein Vorschau-Panel zeigt die vorgeschlagene Beschreibung und Behebungsschritte.
- Prüfen Sie den Inhalt — das Feld "An KI gesendet" zeigt genau, was übertragen wurde (nur Befundtyp + Schweregrad, niemals Hostname oder Roh-Daten).
- Klicken Sie auf Beschreibung speichern, um sie am Befund zu hinterlegen. Der Befund wird mit einem KI-Badge und einem Prüf-Flag versehen.
- Ein Prüfer kann die Beschreibung genehmigen oder bearbeiten, bevor sie in Berichten finalisiert wird.
⚠️ Prüfpflicht: KI-generierte Beschreibungen werden mit dem Flag
needs_reviewgespeichert. Sie erscheinen in Berichten und Exporten, sind aber klar als KI-generiert und ausstehend markiert. Die finale Freigabe ist ein manueller Schritt — das System veröffentlicht KI-Ausgaben niemals automatisch.
13.3 KI Add-on Lab Enterprise
Erzeugt Custom-Scanner-Modul-Code aus einer Klartextbeschreibung. Zugang über Intelligence → KI Add-on Lab.
Anwendungsfall: Sie benötigen einen Scanner für eine spezifische Fehlkonfiguration, einen proprietären Endpunkt oder ein internes Technologiemuster. Beschreiben Sie in Klartext, was erkannt werden soll — YADS erzeugt ein funktionsfähiges Python-Modul-Skeleton, das die BaseScannerModule-Schnittstelle implementiert.
Workflow:
- Navigieren Sie zu Intelligence → KI Add-on Lab.
- Beschreiben Sie den gewünschten Scanner in Klartext (z. B. "Prüfe ob der /admin-Endpunkt ohne Authentifizierung eine 200-Antwort zurückgibt").
- Klicken Sie auf Modul erzeugen. Die KI produziert ein Python-Modul, das die YADS-Scanner-Schnittstelle implementiert.
- Prüfen Sie den generierten Code im eingebauten Syntax-Editor. Sie können bearbeiten, iterieren und neu erzeugen.
- Klicken Sie auf Exportieren, um die
.py-Datei herunterzuladen. - Ein Entwickler prüft den Code, validiert ihn gegen Ihre Sicherheitsstandards und legt ihn manuell im Verzeichnis
yads/modules/custom/ab. - YADS erkennt das Modul beim nächsten Start automatisch — keine weitere Konfiguration nötig.
Kein Auto-Deploy: Das KI Add-on Lab installiert, aktiviert oder führt generierte Module niemals automatisch aus. Export ist die einzige verfügbare Aktion. Das gesamte Deployment erfolgt manuell und erfordert eine Prüfung durch einen Entwickler.
Kostenbewusstsein: Jede Generierungsanfrage verbraucht API-Tokens Ihres konfigurierten KI-Anbieters. Das Lab zeigt vor der Anfrage eine geschätzte Token-Anzahl. Überwachen Sie bei hohem Volumen das Abrechnungs-Dashboard Ihres Anbieters.
Risiken und Prüfpflichten:
- Generierter Code kann Fehler, unsichere Muster oder falsche Logik enthalten. Entwickler-Review ist Pflicht.
- Ein Custom-Modul läuft mit denselben Privilegien wie alle anderen YADS-Worker. Vor dem Deployment auf Injection-Risiken, unbeabsichtigte Netzwerkaufrufe und Datenbehandlung prüfen.
- Generierte Module werden nicht vom YADS-Support abgedeckt. Sie sind für den Custom-Code in Ihrer Umgebung selbst verantwortlich.
13.4 Befundpriorisierung
Ordnet alle Sicherheitsbefunde eines ausgewählten Ziels automatisch nach kombinierter Ausnutzbarkeit und Geschäftsauswirkung.
- Öffnen Sie Intelligence → KI-Assistent.
- Wählen Sie den Tab Priorisierung.
- Wählen Sie ein Ziel und klicken Sie auf Analysieren.
- Ergebnisse: Prioritätsrang, Schweregrad-Badge, Ausnutzbarkeit (1–10), Geschäftsauswirkung (1–10) und einzeilige Begründung.
13.5 Maßnahmenassistent
Erzeugt schrittweise Behebungsanleitungen für jeden spezifischen Befund.
- Öffnen Sie den Tab Maßnahmen im KI-Assistenten.
- Befunddetails manuell ausfüllen oder Schnellauswahl nutzen: Ziel wählen → Befunde laden → Befund klicken.
- Klicken Sie auf Maßnahmen abrufen.
- Ergebniskarte: nummerierte Schritte, Aufwands-Badge (Gering / Mittel / Hoch) und Referenzlinks.
13.6 Befunderklärung Enterprise
Erklärt in verständlicher Sprache, was ein bestimmter Sicherheitsbefund bedeutet.
- Ziel auswählen → Befunde laden.
- Befund auswählen — Formular füllt sich automatisch mit Befundtyp, Schweregrad, Scanner-Modul.
- Feld An KI gesendet (Vorschau) prüfen.
- Klicken Sie auf Befund erklären.
- Ergebniskarte: Was ist dieser Befund?, Was kann ein Angreifer tun?, Wie behebt man ihn? — sowie Referenzlinks.
13.7 Executive Summary Enterprise
Erstellt einen managementtauglichen Sicherheitsbewertungstext für ein ausgewähltes Ziel — für Berichte oder Kundenpräsentationen.
- Ziel aus Dropdown-Liste wählen.
- Feld An KI gesendet (Vorschau) prüfen — zeigt nur aggregierten Score und Befundanzahlen nach Schweregrad.
- Klicken Sie auf Zusammenfassung erstellen.
- Ergebnis: Sicherheitsscore mit Schweregrads-Chips, Zusammenfassungstext, Stichpunkte, priorisierte Handlungsempfehlungen.
- Schaltfläche Zusammenfassung kopieren für Bericht oder E-Mail.
🔒 Datensparsamkeit: Nur Score und aggregierte Befundanzahlen (z. B.
{"critical": 2, "high": 5}) werden übertragen. Domain, Hostnamen, IPs und Einzelbefunde niemals.
14. Befundmanagement & Schwachstellenverfolgung
Über die reine Erkennung von Schwachstellen hinaus ermöglicht YADS jetzt die Verfolgung des Behebungslebenszyklus jedes Befunds. Zugang über Sicherheit → Befunde.
14.1 Befundstatus
Jedem Befund kann einer von vier Status zugewiesen werden:
| Status | Bedeutung | Badge-Farbe |
|---|---|---|
| Offen | Neu erkannt, noch nicht bearbeitet | Grau |
| Bestätigt | Team ist informiert und arbeitet daran | Blau |
| Falsch-Positiv | Verifiziertes Nicht-Problem, aus Zählungen ausgeschlossen | Grau (durchgestrichen) |
| Behoben | Behebung bestätigt | Grün (Smaragd) |
Status aktualisieren: klicken Sie auf die Bearbeiten-Schaltfläche in einer Befundzeile. Ein Modal öffnet sich mit einem Status-Dropdown und einem optionalen Notizfeld. Klicken Sie auf Speichern, um die Änderung zu übernehmen.
Technischer Hinweis: Status wird mandantenspezifisch gespeichert und durch einen deterministischen SHA-256-Hash von
domain|modul|problem_titelidentifiziert. Der Status übersteht Neuüberprüfungen — ein als "Behoben" markierter Befund behält diesen Status auch nach dem nächsten Scan, bis der Befund tatsächlich aus den Ergebnissen verschwindet.
14.2 Nach Status filtern
Ein Status-Dropdown-Filter auf der Sicherheitsbefunde-Seite erlaubt die Konzentration auf das Wesentliche:
- Offen: Unbearbeitete Probleme sehen
- Bestätigt: Laufende Bearbeitungen sehen
- Falsch-Positiv: Ausschlüsse überprüfen
- Fixed (Behoben): Die Behebung wurde bestätigt
14.3 Suche nach YF-ID
(Neu in v4.5.28)
Jedem Sicherheitsbefund wird eine eindeutige, unveränderliche YF-ID zugewiesen (z. B. YF-006394). Sie können nun direkt im Security Findings Dashboard nach diesen IDs suchen:
- Sofort-Suche: Geben Sie eine vollständige oder teilweise ID in das Feld "YF-ID Filter" ein.
- Groß-/Kleinschreibung: Das System verarbeitet automatisch sowohl Kleinbuchstaben (
yf-...) als auch Großbuchstaben (YF-...). - Deep Links: Nutzen Sie die YF-ID in der URL (
/security-findings/detail/YF-XXXXXX) für den direkten Zugriff auf die technischen Details des Befunds.
14.4 CSV-Export
Die CSV exportieren-Schaltfläche (Toolbar, oben rechts in der Befundtabelle) exportiert die aktuell gefilterte Ansicht. Alle aktiven Filter werden angewendet — Schweregrad, Status, Modul, Domain und Datumsbereich. CSV-Spalten:
domain,title,severity,module,status,found_at,notes
15. Asset-Tagging & Organisation
Tags ermöglichen die Organisation von Zielen in logische Gruppen. Navigation über Ziele → Tags.
15.1 Tags zuweisen
- Inline-Bearbeitung: In der Zieltabelle auf den + Tag hinzufügen-Link in einer Zeile klicken. Tag-Namen eingeben und Enter drücken. Auf × an einem bestehenden Chip klicken, um ihn zu entfernen.
- Tags-Seite: Auf eine Zielzeile in der Tags-Seite klicken, um ein Bearbeitungspanel zu öffnen.
- Massenoperationen: Mehrere Ziele per Checkbox auswählen, dann das Massen-Tag-Panel nutzen, um Tags über alle ausgewählten Ziele gleichzeitig hinzuzufügen, zu entfernen oder zu ersetzen.
15.2 Nach Tag filtern
Eine interaktive Tag-Wolke auf der Tags-Seite zeigt alle verwendeten Tags. Die Chipgröße skaliert mit der Verwendungshäufigkeit. Klicken Sie auf ein Tag, um die Zielliste darunter zu filtern. Erneutes Klicken hebt den Filter auf.
15.3 Tag-Taxonomie verwalten
Der Bereich Tags verwalten auf der Tags-Seite zeigt ein Balkendiagramm der am häufigsten verwendeten Tags. Jeder Tag hat eine Löschen-Schaltfläche, die diesen Tag von allen Zielen des Mandanten entfernt.
15.4 Empfohlene Tag-Konventionen
| Kategorie | Beispiel-Tags | Zweck |
|---|---|---|
| Umgebung | produktion, staging, entwicklung | Produktion von Nicht-Produktion trennen |
| Kritikalität | kritisch, hochwertig, intern | Scan-Schwerpunkte priorisieren |
| Scope | im-scope, außerhalb-scope, drittanbieter | Pentest- und Bug-Bounty-Scoping |
| Infrastruktur | cloud, aws, azure, on-prem | Infrastrukturtyp-Klassifizierung |
| Team | team-backend, team-frontend | Eigentümerzuordnung |
| Compliance | dsgvo, pci, iso27001 | Regulatorischer Scope |
16. Executive Report & Portfolio-Ansicht
16.1 Executive Security Report
Navigation über Intelligence → Executive Report. Diese Seite bietet eine nicht-technische, C-Level-freundliche Sicherheitsübersicht — geeignet für Management-Präsentationen, Vorstandsberichte und Stakeholder-Updates.
Inhalte:
- Sicherheitsnote: Eine einzelne Buchstabennote (A–F) mit numerischem Score (0–100), berechnet aus der Schweregradverteilung über alle aktiven Ziele.
- Risikotrend: Verbessert, Stabil oder Verschlechtert — abgeleitet aus den letzten 10 SecurityTrend-Datensätzen.
- KPI-Karten: Überwachte Assets, kritische Probleme, Hochrisiko-Probleme, Gesamtscore.
- Risikoverteilungsbalken: Segmentierter Horizontalbalken, der den Anteil kritisch → Info auf einen Blick zeigt.
- Top 5 Risikotypen: Häufigste Befundkategorien über alle Ziele.
- Top 5 gefährdetste Assets: Domains mit der höchsten Befundanzahl.
- Handlungsempfehlungen: Bis zu 5 priorisierte, verständliche Maßnahmen basierend auf tatsächlichen Befunden.
Drucken als PDF: Klicken Sie auf die Bericht drucken-Schaltfläche. Ein Druckstylessheet blendet die Navigation aus und rendert den Bericht mit weißem Hintergrund für den Druck oder als PDF-Speicherung aus dem Browser.
16.2 Angriffspfad-Visualisierer
(Grundlegend überarbeitet in v4.5.28)
Navigation über Intelligence → Angriffspfade. Dieser Multi-Target-D3.js-Kill-Chain-Graph zeigt, wie ein Angreifer von der Erstbetretung zu tieferer Kompromittierung über die gesamte Scope vorgehen könnte.
Verwendung:
- Ein oder mehrere Ziele aus der Multi-Select-Dropdown-Liste wählen (oder alle laden).
- Der Graph lädt mit kraftgerichtetem Layout. Knoten verschieben; Scrollen zum Zoomen; Abstand-Slider für Knotendichte verwenden.
- Klicken auf einen Domain-Knoten öffnet das Knotendetail-Panel mit Schweregradring-Farbe, Befundanzahl und Change-Status.
- Das Suchfeld hervorheben eines bestimmten Knotens — passende Knoten werden markiert, der Graph fittet automatisch.
- Filter: Mindest-Schweregrad per Slider.
- Klicken Sie auf 4K-PNG exportieren für ein hochauflösendes Bild für Berichte und Präsentationen.
Visuelle Indikatoren an Domain-Knoten:
- Schweregradring: Farbiger Rand zeigt den höchsten Schweregrad (rot = kritisch, orange = hoch, gelb = mittel, grün = niedrig/info)
- Befund-Anzahl-Badge: DOM-Overlay mit Anzahl offener Befunde
- Change-Halo: Lila Leuchtring bei Domains mit Änderungsereignissen in den letzten 7 Tagen
Kantenfarbcodierung: Rot = Kritisch, Orange = Hoch, Gelb = Mittel, Grün = Niedrig/Info. Kill-Chain-Overlay-Modus hebt mehrstufige Angriffsketten nach MITRE ATT&CK hervor.
16.3 Portfolio-Ansicht (Plattformadministratoren)
Plattformadministratoren (Benutzer mit role=admin ohne Mandantenzuweisung) können über Admin → Portfolio-Ansicht zugreifen. Diese mandantenübergreifende Übersicht zeigt:
- Mandantenspezifische Statistiken: Domain-Anzahl, kritische/hohe Befunde, durchschnittlicher Sicherheitsscore (A–F-Badge), Plantier, letzter Scan.
- Globale KPI-Karten: Gesamtmandanten, Gesamtdomains plattformweit, kritische Befunde plattformweit.
- Erweiterbare Zeilen: Top 3 gefährdetste Domains pro Mandant mit Befundanzahlen.
- Als Mandant anzeigen: Schneller Imitationslink, der den Kontext auf das Dashboard des Mandanten umschaltet.
- Inline-Suche: Mandantenliste in Echtzeit nach Namen filtern.
20. Standalone- & Lokale Installation
YADS gibt es nur als Source — direkt von GitHub geklont und lokal mit Docker Compose gebaut. Kein Release-Archiv, keine private Registry, kein Login nötig.
Voraussetzungen
- Docker Engine 24+ und Docker Compose v2
- git
- Linux-Host (Ubuntu 22.04 / Debian 12 empfohlen) oder Docker Desktop (macOS/Windows)
- Mindestanforderungen: 2 CPU-Kerne, 4 GB RAM, 20 GB Speicher
Schritt 1: Repositories klonen
Das Deployment liegt in yads-infra, das yads-api/yads-worker aus einem sibling yads-Checkout baut.
Schritt 2: Konfigurieren
Mindestens POSTGRES_PASSWORD, SECRET_KEY, SIGNING_KEY, REFRESH_SECRET, YADS_ENCRYPTION_KEY und RABBITMQ_PASSWORD setzen.
Schritt 3: Starten
Rufen Sie http://<ihr-host>:8000 (bzw. Ihre konfigurierte Domain) auf, um den In-App-Setup-Assistenten abzuschließen.
Updates
Erstellen Sie vor jedem Update ein Backup (Einstellungen → Backup & Wiederherstellung).
17. Dark/Light Mode
YADS unterstützt sowohl ein dunkles (Standard) als auch ein helles Design. Der Wechsel ist jederzeit ohne Neuanmeldung möglich und wird pro Benutzer gespeichert.
Umschalten des Designs
- Klicken Sie auf das Mond/Sonne-Symbol in der oberen Navigationsleiste (rechts neben Ihrem Benutzermenü).
- Das Design wechselt sofort zwischen Dark Mode (Standard, dunkler Hintergrund) und Light Mode (heller Hintergrund).
- Ihre Einstellung wird im Browser gespeichert und bleibt über Sitzungen hinweg erhalten.
Hinweis: Light Mode CSS optimiert alle UI-Elemente inklusive Slate- und Graupaletten für optimale Lesbarkeit. Beide Modi werden vollständig unterstützt.
18. In-App-Bugmeldung
YADS enthält ein eingebautes Fehlerüberwachungs- und Meldungssystem, das Scan-Fehler automatisch erkennt und Benutzern ermöglicht, Probleme direkt aus der Oberfläche heraus zu melden.
Automatische Fehlererkennung
- Der Hintergrundwatcher überwacht kontinuierlich Redis-Logs auf Scan-Fehler.
- Erkannte Fehler erscheinen als Tenant-Badge in der Navigationsleiste mit Anzahl der ungelösten Fehler.
- Jeder Fehler kann einzeln angesehen und per Verwerfen-Schaltfläche bestätigt werden.
Fehler melden
- Klicken Sie auf das Fehlerbadge oder öffnen Sie Einstellungen → Fehlermeldungen.
- Der Fehlerbericht enthält automatisch relevante Systeminfos, Logs und die Tenant-ID.
- Berichte können per E-Mail an das Support-Team gesendet werden (SMTP muss konfiguriert sein).
19. Asset Discovery
Das Asset Discovery-Modul erkennt automatisch Subdomains und zugehörige Infrastruktur einer Zieldomain — ohne aktive Netzwerkscans zu verwenden.
Funktionsweise
- Passive Techniken: Certificate Transparency Logs (crt.sh), DNS-Datenbanken, Wayback Machine und öffentliche OSINT-Quellen.
- Rekursive Entdeckung: Neu entdeckte Subdomains werden automatisch als weitere Targets registriert und ebenfalls gescannt (konfigurierbar).
- Automatische Queue-Integration: Entdeckte Assets werden direkt in die Scan-Queue eingereiht — keine manuelle Eingabe erforderlich.
Konfiguration
- Aktivieren Sie unter Einstellungen → Scan-Einstellungen die Option Auto-Queue Subdomains.
- Der rekursive Modus kann auf eine maximale Tiefe begrenzt werden, um unkontrolliertes Wachstum der Target-Liste zu vermeiden.
- Discovery-Ergebnisse sind im DNS Scanner-Report des jeweiligen Targets abrufbar.
Tipp: Kombinieren Sie Asset Discovery mit dem DNS Health Check-Modul, um nicht erreichbare Subdomains automatisch zu archivieren.
Targets-Tabelle mit automatisch entdeckten Subdomains und Asset-Discovery-Ergebnissen.
20. Mehrsprachigkeit (EN/DE)
YADS ist vollständig in Deutsch und Englisch verfügbar. Die Spracheinstellung gilt für die gesamte Oberfläche, alle Exporte und KI-Ausgaben.
Sprache wechseln
- Öffnen Sie Ihr Benutzerprofil (oben rechts → Profilname).
- Wählen Sie unter Spracheinstellung die gewünschte Sprache: Deutsch oder English.
- Speichern Sie — die Oberfläche wechselt sofort ohne Neuanmeldung.
Was wird übersetzt?
- Oberfläche: Alle Seitenleisten-Einträge, Menüs, Schaltflächen, Labels und Fehlermeldungen.
- PDF-Reports: Alle generierten Reports verwenden die gewählte Sprache des angemeldeten Benutzers.
- Excel-Exporte: Spaltenüberschriften und Kategoriebeschriftungen in der gewählten Sprache.
- KI-Ausgaben: KI-Analysen, Risikobewertungen und Empfehlungen werden in der Benutzersprache ausgegeben.
- Zeitplan-Strings: Scan-Zeitpläne werden in der gewählten Sprache angezeigt.
Hinweis: Scan-Ergebnisse (Rohdaten) werden sprachunabhängig gespeichert. Nur die UI-Beschriftungen und Report-Ausgaben sind übersetzt.
21. Support-Tickets & Messaging
YADS-Kunden können ihre eingereichten Bug-Reports einsehen und direkt aus der Anwendung heraus mit dem YADS-Support-Team kommunizieren.
Support-Tickets aufrufen
Navigiere zu Hilfe → Support Tickets in der Seitenleiste. Die Ticket-Liste zeigt alle eingereichten Reports mit Status, Topic und ungelesenen Nachrichten.
Messaging
Alle Nutzer können über den Ticket-Thread bidirektional mit dem Support-Team kommunizieren.
- Ticket anklicken → Nachrichtenverlauf öffnet sich.
- Nachricht schreiben und auf Senden klicken.
- Ungelesene Support-Nachrichten werden durch ein blaues Badge in der Ticket-Liste angezeigt.
Bug-Report-Topics
Beim Erstellen eines Bug-Reports kann ein Topic-Kategorie ausgewählt werden (Scanner, UI, Performance, Auth, Worker, Report, API, Other). Topics helfen bei der Priorisierung und Zuweisung.
22. Anonymes Installations-Reporting
Im Onboarding-Wizard (Schritt 4) wird angeboten, einen einmaligen anonymen Bericht zu senden, um YADS zu verbessern. Dieser Schritt ist vollständig optional und erfordert eine explizite Zustimmung.
Was gesendet wird
- instance_uuid: Eine zufällige UUID, die beim ersten Start generiert wird. Nicht mit Nutzern, Tenants oder IP-Adressen verknüpft.
- version: Die aktuell installierte YADS-Version.
- submitted_at: Der aktuelle Zeitstempel in UTC.
Es werden keine persönlichen Daten, keine Hostnamen, keine Tenant-Namen und keine Nutzerdaten übertragen. Im Wizard kann die genaue Nutzlast vor dem Klick auf Senden & Weiter eingesehen werden.
Reporting überspringen
Auf Überspringen klicken. Der Wizard geht direkt zur Fertig-Ansicht und das Onboarding wird normal abgeschlossen.
23. Best Practices
Um das Beste aus YADS herauszuholen, beachten Sie diese Tipps:
💡 Profi-Tipp: Planen Sie regelmäßige Scans außerhalb der Spitzenzeiten, um die Netzwerkbelastung zu minimieren.
- Tagging: Verwenden Sie Tags kreativ (z.B.
prod,dev,critical), um Targets zu organisieren. - Regelmäßige Überprüfung: Kontrollieren Sie die Analytics-Seite wöchentlich, um Trends bei Schwachstellen zu erkennen.
- Scope-Definition: Seien Sie vorsichtig beim Hinzufügen von Root-Domains (z.B.
company.com), da das Subdomain Recon-Modul Hunderte von Assets finden könnte.
Empfohlene Scan-Reihenfolge
Die folgende Vorgehensweise hat sich für umfassende Sicherheitsanalysen bewährt. Jede Phase baut auf der vorherigen auf und gewährleistet eine gründliche Abdeckung bei gleichzeitiger Effizienz.
Phase 1: Basisdaten aufbauen
Beginnen Sie mit der Erfassung bekannter Assets:
- DNS Records (Simple) - Grundlegende DNS-Informationen ermitteln
- Subdomain Recon - Alle Subdomains über Certificate Transparency Logs aufspüren
Phase 2: Aktive Hosts identifizieren
Ermitteln Sie, welche der gefundenen Assets aktiv Webinhalte bereitstellen:
- Quick Web Probe (80/443) - Prüfung auf Webserver an Standardports
Phase 3: Tiefenanalyse der Online-Assets
Für alle Targets mit Status "online" führen Sie eine umfassende Analyse durch:
- Web Analyzer - Erkennung des Technology Stacks
- CVE Scanner (Passive) - Abgleich bekannter Schwachstellen
- Infrastructure - Server- und Hosting-Analyse
- SSL Scanner - Zertifikats- und Verschlüsselungsanalyse
- Visual OSINT - Screenshot-Erfassung und visuelle Analyse
- Wayback Machine - Historische Daten aus Webarchiven
- Form Discovery (Passive) - Eingabeformulare und Endpunkte identifizieren
- Site Crawler - Seitenstruktur erfassen
- Content Discovery (Fuzzing) - Versteckte Pfade und Dateien finden
Phase 4: Scope erweitern
Entdecken Sie zusätzliche Domains, die zur Organisation gehören könnten:
- Typosquatting - Ähnlich aussehende Domains finden (potentielles Phishing)
- TLD Scanner - Domain über alle TLD-Varianten prüfen
Phase 5: Links verfolgen
Prüfen Sie die Reports, um weitere untersuchenswerte Targets zu identifizieren:
- External Links - Verlinkte externe Domains entdecken
- Dead Links - Defekte Links finden, die auf aufgegebene Assets hinweisen könnten
💡 Tipp: Wenn Sie in dieser Phase neue relevante Domains entdecken, fügen Sie diese als Targets hinzu und wiederholen Sie ab Phase 1 für genau diese neuen Domains.
Phase 6: Aktive Schwachstellentests
Nach Abschluss der passiven Reconnaissance folgen die aktiven Scans:
- Nuclei Vulnerability Scan (Active) - Umfassende Schwachstellenerkennung
- Stealth Nmap Scan (Slow) - Port-Scanning mit Rate-Limiting
⚠️ Hinweis: Aktive Scans erzeugen mehr Traffic und können Sicherheitswarnungen auslösen. Stellen Sie sicher, dass Sie über die entsprechende Berechtigung verfügen, bevor Sie diese Module ausführen.
Phase 7: Housekeeping
Abschließend bereinigen Sie Ihre Target-Liste:
- DNS Health Check (Cleanup) - Nicht erreichbare Domains identifizieren und archivieren
24. Fehlerbehebung
Häufige Probleme
🛑 Scan bleibt in "Pending" hängen
- Ursache: Der Hintergrund-Worker könnte pausiert oder überlastet sein.
- Lösung: Prüfen Sie Einstellungen > Queue-Steuerung und stellen Sie sicher, dass die Queue aktiv ist. Prüfen Sie die Anzahl der aktiven Worker. Der Worker heilt sich alle 60 Sekunden selbst, wenn er pausiert war.
⚠️ "Web Analyzer" fehlgeschlagen
- Ursache: Target könnte offline sein oder den Scanner blockieren.
- Lösung: Versuchen Sie, die URL manuell zu besuchen. Passen Sie das Web Request Timeout in den Einstellungen an, wenn die Seite langsam ist.
🚫 MFA-Code abgelehnt
- Ursache: Zeitabweichung auf Server oder Client.
- Lösung: Stellen Sie sicher, dass Ihre Serverzeit über NTP synchronisiert ist.
25. Support
Für technischen Support oder um Fehler zu melden: support@yads-security.com
26. Standalone- & Lokale Installation
Voraussetzungen
- Docker ≥ 24
- Docker Compose Plugin ≥ 2.20
- 4 GB RAM (empfohlen: 8 GB)
- 20 GB freier Festplattenplatz
Minimalinstallation (Core only)
Startet API, Worker, Datenbank und Redis ohne optionale Dienste:
docker compose up -d
Mit Identity Provider
docker compose --profile keycloak up -d
Mit Monitoring-Stack
docker compose --profile monitoring up -d
Vollständige Installation
docker compose --profile keycloak --profile monitoring up -d
Alternativ können die Profile in der .env-Datei gesetzt werden:
COMPOSE_PROFILES=keycloak,monitoring
Erster Start
- Nach dem Start den Setup-Wizard unter
http://localhost:8085/setupaufrufen. - Admin-Account anlegen.
- Konfiguration wird in
data/config.envgespeichert und über die UI verwaltet.
Konfiguration
- Vorlage:
.env.example— vollständiges Referenz-Template mit allen verfügbaren Variablen - Persistente Laufzeit-Konfiguration:
data/config.env(wird über die UI gespeichert)
Externe Services einbinden
Wenn Keycloak oder Prometheus bereits extern betrieben werden, müssen nur die entsprechenden Umgebungsvariablen gesetzt werden — kein eigener Container erforderlich:
AUTH_MODE=oidc
OIDC_SERVER_URL=http://your-keycloak:8080
OIDC_PUBLIC_URL=https://keycloak.your-domain.com
User-Migration zu Keycloak
python scripts/maintenance/migrate_users_to_keycloak.py \
--keycloak-url http://keycloak:8080 \
--dry-run
Hinweis: Kubernetes- und Cloud-Deployment wird in einem separaten Kapitel dokumentiert (in Vorbereitung).
27. Identity Provider & SSO
Authentifizierungsmodi
AUTH_MODE=local(Standard): Lokale Benutzerverwaltung, keine externe Abhängigkeit.AUTH_MODE=oidc: Keycloak oder beliebiger OIDC-konformer Identity Provider.
URL-Konfiguration für Docker-Deployments
OIDC_SERVER_URL: Interne URL für Server-zu-Server-Kommunikation (z.B.http://keycloak:8080)OIDC_PUBLIC_URL: Öffentliche URL für den Browser-Redirect (z.B.https://keycloak.your-domain.com)
Realm-Konzept
Für jede YADS-Mandanteninstanz wird ein eigener Keycloak-Realm empfohlen, um vollständige Mandantentrennung im Identity Provider sicherzustellen.
Gruppen-Mapping
| Keycloak-Gruppe | YADS-Rolle |
|---|---|
{tenant}-admins | tenant_admin |
{tenant}-scanners | scanner |
{tenant}-auditors | auditor |
yads-platform-admins | admin |
Keycloak-Client-Konfiguration
Folgende Protocol Mapper müssen im Keycloak-Client konfiguriert sein:
- groups: Überträgt Gruppenmitgliedschaften als JWT-Claim
- yads_tenant (hardcoded): Gibt den Mandanten-Bezeichner an
Migration bestehender User
python scripts/maintenance/migrate_users_to_keycloak.py \
--keycloak-url http://keycloak:8080 \
--realm yads \
--dry-run
Entfernen Sie
--dry-run, um die Migration tatsächlich durchzuführen. Bestehende lokale Passwörter bleiben als Fallback erhalten, solangeAUTH_MODE=localaktiv ist.
28. Entwicklerportal
Das Entwicklerportal (/developer) stellt alles bereit, um YADS in CI/CD-Pipelines, SIEM-Systeme oder eigene Tools zu integrieren.
API-Schlüsselverwaltung
- API-Schlüssel mit optionalem Ablaufdatum erstellen (30T, 90T, 1J oder kein Ablauf)
- Schlüssel werden nur einmalig bei Erstellung angezeigt — sofort kopieren und sicher aufbewahren
- Schlüssel jederzeit widerrufen; widerrufene Schlüssel werden sofort abgelehnt
Authentifizierung
API-Schlüssel im X-API-Key-Header übergeben:
curl -H "X-API-Key: yads_ihr_schluessel_hier" https://ihre-yads-instanz/api/targets
Code-Beispiele
Das Portal enthält einsatzbereite Code-Snippets für curl, Python (requests) und JavaScript (fetch) — für Authentifizierung, Ziel-Auflistung, Scan-Start und Ergebnisabruf.
Ratenlimits
| Endpunkt | Limit |
|---|---|
| Die meisten API-Endpunkte | 600 Anfragen/min |
| Scan-Start | 60 Anfragen/min |
| Berichterstellung | 10 Anfragen/min |
29. Scan-Profile
Scan-Profile ermöglichen das Speichern und Wiederverwenden benannter Scanner-Modul-Zusammenstellungen — manuelle Modulauswahl bei jedem Scan entfällt.
Integrierte Profile
| Profil | Beschreibung | Module |
|---|---|---|
| Quick Recon | Leichter passiver Check | DNS, SSL, HTTP-Header |
| Standard Scan | Ausgewogene Sicherheitsprüfung | Alle Kernmodule |
| Deep Security Audit | Gründliche Prüfung | Alle Module inkl. Nuclei |
| Recon Only | Keine aktiven Sondierungen | DNS, OSINT, Wayback, crt.sh |
| Threat Intelligence | IOC & Reputationsfokus | Shodan, Censys, AbuseIPDB, OTX, VT |
Eigene Profile
Unter Scan-Profile in der Seitenleiste → Profil erstellen. Module auswählen, optional als öffentlich markieren (für alle Mandantenbenutzer sichtbar) und speichern. Ein Profil kann als Mandantenstandard festgelegt werden — alle neuen Scans verwenden es automatisch.
30. Einrichtungsassistent
Neue Mandanten werden beim ersten Login durch einen 4-Schritte-Assistenten geführt:
- Willkommen — Übersicht über YADS-Funktionen und Kernmerkmale
- Ziel hinzufügen — Erste zu überwachende Domain eingeben
- Erster Scan — Scan-Profil auswählen und erste Prüfung starten
- Fertig — Links zum Dashboard, zur Zielliste und zur Dokumentation
Der Assistent kann jederzeit über den Link „Assistent überspringen" geschlossen werden. Nach dem Schließen (oder Abschließen) erscheint er nicht erneut. Plattformadmins können ihn für einen Mandanten zurücksetzen, indem der Schlüssel ONBOARDING_DONE_{tenant_id} unter Systemeinstellungen → Konfiguration entfernt wird.
31. Datenspeicherung
YADS kann alte Scan-Ergebnisse automatisch löschen, um die Datenbankgröße bei langfristigen Deployments überschaubar zu halten.
Konfiguration
Unter Einstellungen → Datenspeicherung den Aufbewahrungszeitraum in Tagen festlegen (Standard: 90). Wert 0 deaktiviert die Bereinigung (dauerhaft behalten).
Bereinigungsverhalten
- Ein Celery-Beat-Task läuft täglich um Mitternacht UTC
- Löscht zunächst
ChangeEvent-Einträge älter als der Aufbewahrungszeitraum, dannScanResult-Einträge - Das jeweils neueste Scan-Ergebnis pro Modul und Ziel wird niemals gelöscht (geschützt)
- Betroffene Zeilen werden im Systemprotokoll vermerkt
32. Excel-Export
Jede Zieldetailseite hat eine Excel-Export-Schaltfläche, die eine mehrblättrige XLSX-Datei mit allen 20+ Scanner-Modulen erzeugt.
Enthaltene Tabellenblätter
- Zusammenfassung — Ziel-Metadaten, Sicherheits-Score, Scan-Zeitstempel
- DNS-Einträge, Subdomains, SSL/TLS, HTTP-Header, Cookies, CORS
- E-Mail-Sicherheit (SPF/DKIM/DMARC), Bedrohungsintelligenz, Shodan/Censys
- Nuclei-Befunde, Web-Technologien, Externe Links, Sicherheitsbefunde
- Änderungsereignisse, Compliance und mehr
Sprachunterstützung
Mit ?lang=de werden Spaltenüberschriften und Bezeichnungen auf Deutsch ausgegeben (Standard: Englisch mit ?lang=en).
GET /targets/{id}/export/excel?lang=de
33. Angriffspfad-Visualisierer
(Grundlegend überarbeitet in v4.5.28)
Der Angriffspfad-Visualisierer (Intelligence → Angriffspfade) erzeugt einen Multi-Target-D3.js-gerichteten Graphen, der exponierte Dienste, Fehlkonfigurationen und Schwachstellen zu plausiblen mehrstufigen Angriffsketten verknüpft.
Funktionsweise
- Aggregiert
SecurityFinding-Datensätze aller Scanner-Module über ein oder mehrere ausgewählte Ziele. - Wendet ein Kill-Chain-Regelwerk an: z. B. „Offener Port 22 + schwacher SSH-Banner → Brute-Force-Einstiegspunkt → internes Pivoting".
- Rendert einen interaktiven D3.js-Graphen mit Schweregradringen an Domain-Knoten und Befund-Anzahl-Badges.
- Erkennt Domains mit aktuellen Änderungsereignissen (letzte 7 Tage) und fügt einen lila Change-Halo hinzu.
Bedienung
- Zu Intelligence → Angriffspfade navigieren (oder von einer Zieldetailseite).
- Ein oder mehrere Ziele aus der Multi-Select-Dropdown-Liste wählen.
- Graph lädt automatisch. Verschieben zum Umarrangieren; Scrollen zum Zoomen; Abstand-Slider für Dichte verwenden.
- Suchfeld nutzen, um bestimmte Knoten zu finden und den Graphen darauf zu fokussieren.
- Hover für Tooltip; Klick für Detailpanel.
- Mit 4K-PNG exportieren hochauflösendes Bild für Berichte herunterladen.
Score-Auswirkung
Ketten mit 3+ Hops und einem kritischen Einstiegsknoten erzeugen einen -10-Abzug im Gesamtscore (Faktor: „Mehrstufiger Angriffspfad erkannt") in der Compliance-Bewertungskarte.
Knotensuche & Navigation
Domain-Name, Port oder Befund-Stichwort in das Suchfeld eingeben. Passende Knoten werden hervorgehoben, nicht passende abgedunkelt, und der Viewport fittet automatisch auf die Treffer. Suche löschen stellt die vollständige Ansicht wieder her.
34. Scan-Vergleich
Der Scan-Vergleich ermöglicht es, zwei historische Scan-Ergebnisse desselben Ziels zu vergleichen, um genau zu ermitteln, was sich zwischen den Läufen geändert hat.
Vergleich aufrufen
- Zu Ziel → Änderungshistorie navigieren.
- Zwei Scan-Ergebniseinträge anwählen (Checkboxen) und Vergleichen klicken.
- Eine Side-by-side-Diff-Ansicht markiert hinzugefügte/entfernte/geänderte Felder pro Modul.
Was verglichen wird
- Alle strukturierten Modul-Datenfelder (DNS-Einträge, offene Ports, Header, TLS-Grade, Score usw.).
- Neue Befunde im neueren Scan sind grün hervorgehoben.
- Behobene Befunde (im alten vorhanden, im neuen nicht) erscheinen rot durchgestrichen.
Export
Diff-PDF exportieren erzeugt einen Vergleichsbericht für Kunden oder Compliance-Nachweise.
35. WAF-Analyse
Das WAF-Detector-Modul prüft, ob ein Ziel durch eine Web Application Firewall geschützt ist, identifiziert den Hersteller und bewertet das Bypass-Risiko.
Erkennungsmethoden
- HTTP-Antwort-Header-Fingerprinting (Server, X-Sucuri-ID, X-Powered-By, cf-ray usw.).
- Cookie-Namen-Analyse (z. B.
__cfduid,TS01...,incap_ses_). - Response-Code-Verhalten unter gezielten Payloads (SQLi-, XSS-Sonden).
Ergebnisfelder
- WAF erkannt: Ja/Nein.
- Hersteller: Erkanntes Produkt (Cloudflare, Sucuri, Imperva, AWS WAF, F5 BIG-IP, Barracuda, …).
- Konfidenz: Niedrig / Mittel / Hoch — abhängig von der Anzahl übereinstimmender Signale.
- Bypass-Risiko: Ob generische Bypass-Techniken die erkannte WAF umgehen können.
Score-Auswirkung
Keine WAF bei extern erreichbaren Webdiensten: -5 Abzug. WAF mit hoher Konfidenz erkannt: +5 Bonus.
36. Scanner-Import
YADS kann externe Scan-Ergebnisse gängiger Tools über die Scanner-Import-Funktion (Einstellungen → Scanner-Import) einlesen und so eine einheitliche Ansicht aller Befunde ermöglichen.
Unterstützte Formate
- Nmap XML (
-oX) — Port-Zustände, Dienst-Versionen, OS-Erkennungen. - Nuclei JSONL — Template-IDs, Schweregrad, Matched-At-URLs.
- Burp Suite XML — Issue-Liste mit Schweregrad und Konfidenz.
- OWASP ZAP JSON — Alert-Liste.
- Generic CSV — konfigurierbare Spalten-Zuordnung.
Import-Prozess
- Zu Einstellungen → Scanner-Import navigieren.
- Ziel aus dem Dropdown auswählen.
- Dateiformat wählen und Ergebnisdatei hochladen.
- YADS normalisiert die Befunde in das Standard-
ScanResult-Schema und erstelltChangeEvent-Einträge für neue Befunde. - Importierte Ergebnisse erscheinen in der Befunde-Übersicht des Ziels und fließen in die Score-Berechnung ein.
37. Integrationen (Jira / GitHub / SIEM / Webhook)
YADS bietet erstklassige Integrationen mit Issue-Trackern, Code-Repositories und SIEM-Plattformen über ein einheitliches Webhook- und API-System.
Webhook-System
Webhooks werden unter Einstellungen → Webhooks konfiguriert. Jeder Webhook wird bei einem oder mehreren Ereignissen ausgelöst:
scan_finished— nach jedem Scan-Durchlauf (Payload enthält Score-Delta).finding_new— wenn ein neuer Befund erkannt wird (Schweregrad-Filter verfügbar).finding_resolved— wenn ein bisher offener Befund verschwindet.score_drop— wenn der Sicherheits-Score um ≥ 10 Punkte fällt.target_archived— wenn eine tote Domain archiviert wird.
Jira-Integration
- Jira-URL, Projektschlüssel und API-Token unter Einstellungen → Integrationen → Jira konfigurieren.
- Neue kritische/hohe Befunde erstellen automatisch Jira-Issues mit vorausgefüllter Zusammenfassung, Beschreibung und Schweregrad-Label.
- Status-Synchronisation: Wenn YADS einen Befund als behoben markiert, wechselt das Jira-Issue zu „Erledigt".
GitHub-Integration
- GitHub-Repository über Personal Access Token unter Einstellungen → Integrationen → GitHub verbinden.
- Neue Befunde öffnen GitHub-Issues mit passenden Labels (
security,highusw.). - Unterstützt github.com und GitHub Enterprise Server.
SIEM / Splunk
- Splunk HTTP Event Collector (HEC) URL und Token unter Einstellungen → Integrationen → Splunk konfigurieren.
- Alle Scan-Ergebnisse und Befund-Ereignisse werden als strukturiertes JSON an den HEC-Endpunkt weitergeleitet.
- Generische Syslog-Weiterleitung ist für andere SIEM-Plattformen verfügbar.
Slack / Microsoft Teams
- Incoming-Webhook-URL unter Einstellungen → Benachrichtigungen eintragen.
- Ereignistypen und minimalen Schweregrad-Schwellenwert wählen.
- Benachrichtigungen werden als Rich-Card-Nachrichten mit Score, Befund-Anzahl und direktem Ziel-Link gesendet.
38. Erweitertes Scanner-Modul-Referenz
Die folgenden Module wurden in v4.5.28 hinzugefügt und ergänzen die in Abschnitt 6 beschriebene Kern-Scanner-Suite.
| Modul | Was erkannt wird | Score-Auswirkung |
|---|---|---|
| Open Redirect Detection | URL-Parameter, die auf beliebige externe Domains umleiten | −15 max |
| TLS Deep Scan | Unterstützte Cipher Suites, Protokollversionen, HSTS-Erzwingung, Grade (A–F) | B=−5, C=−10, D=−15, F=−20 |
| Service Fingerprinting | TCP/UDP-Banner-Grabbing für 50+ gängige Service-Ports | Befund-basiert |
| ASN / IP-Bereiche | Autonome Systemnummer, CIDR-Blöcke, Hosting-Anbieter, Geolokalisierung | Informativ |
| Login & Auth Surface | Erkannte Login-Endpunkte, Auth-Mechanismen, exponierte Admin-Panels | Befund-basiert |
| IPv6-Angriffsfläche | IPv6-Adressen, offene Ports, WAF-Bypass-Potenzial via IPv6 | Befund-basiert |
| DNS-Historie | Historische DNS-Einträge via Passive-DNS, IP-Pivot-Fläche | Informativ |
| Phishing-Erkennung | Domain-Präsenz in Google Safe Browsing, PhishTank, OpenPhish | −20 wenn gelistet |
| CT Log Monitor | Echtzeit-Certificate-Transparency-Log-Streaming für neue Zertifikatsausstellungen | Informativ |
| E-Mail-Harvesting | Über Webseiten, Metadaten und OSINT-Quellen exponierte E-Mail-Adressen | Befund-basiert |
| Dependency Confusion | Interne Paketnamen, die über öffentliche Registries auflösbar sind (npm, PyPI, RubyGems) | −20 max (kritisch/hoch) |
| GraphQL Security | Introspection aktiv, Feld-Vorschläge, Batching, DoS-Vektoren | −4 pro kritisch/hoch |
| WebSocket Security | ws:// vs wss://, Origin-Validierung, Authentifizierung beim Upgrade | −4 pro kritisch/hoch |
| Password Spray Surface | Aufzählbare Auth-Endpunkte, anfällig für Credential-Stuffing | −4 pro kritisch/hoch |
| Leaked Credentials | Domänen-bezogene E-Mail-/Passwort-Paare in öffentlichen Breach-Datensätzen (HIBP) | −25 max (8 Pkt./Breach) |
| API Security Scanner | Unauthentifizierte API-Endpunkte, excessive Data Exposure, Mass Assignment | −20 max (kritisch), −10 max (hoch) |
| Mobile App Discovery | Zugehörige iOS/Android-Apps via App-Store-Lookup und Deep-Link-Probing | Informativ |
| WAF Detector | WAF-Hersteller-Erkennung über Header-/Cookie-/Response-Fingerprinting | −5 wenn fehlt, +5 bei hoher Konfidenz |
Alle Module können pro Scan-Durchlauf oder über Scan-Profile einzeln aktiviert/deaktiviert werden. Ergebnisse aller Module werden in der Sicherheitsbefunde-Ansicht aggregiert und in PDF-/Excel-Exporte einbezogen.
39. Custom-Modul-System
(Neu in v4.5.28)
YADS unterstützt Custom-Scanner-Module, die beim Start automatisch aus dem Verzeichnis yads/modules/custom/ eingelesen werden. Keine Konfigurationsdatei, kein Registry-Eintrag und kein Neustart (über das Ablegen der Datei hinaus) erforderlich.
Auto-Discovery-Mechanismus
Beim Start durchsucht der Worker yads/modules/custom/ nach .py-Dateien. Jede Datei, die eine Klasse enthält, die BaseScannerModule erweitert, wird automatisch unter ihrem deklarierten name-Attribut im Modul-Registry registriert. Das Modul erscheint sofort in:
- Der Modul-Auswahloberfläche für Scans
- Der Angriffsflächen-Matrix
- Scan-Profilen
- Berichten und Exporten
Eingebaute Custom-Module (v4.5.28)
| Modul | Was es erkennt |
|---|---|
cert_hostname_mismatch | SSL-Zertifikate, bei denen Common Name / SAN nicht mit der Zieldomain übereinstimmt — findet abgelaufene Zertifikatstausche und falsch konfigurierte Multi-Domain-Zertifikate |
jwt_none_scanner | API-Endpunkte, die JWT-Tokens mit dem none-Algorithmus akzeptieren — eine kritische Auth-Bypass-Schwachstelle |
Ein Custom-Modul schreiben
from yads.core.base import BaseScannerModule, ScanResult
class MeinCustomScanner(BaseScannerModule):
name = "mein_custom_scanner"
label = "Meine Custom-Prüfung"
description = "Prüft auf XYZ-Fehlkonfiguration."
def run_scan(self, target, session) -> ScanResult:
# ... Scanning-Logik ...
return ScanResult(
module=self.name,
target_id=target.id,
data={"finding": "detected"},
severity="medium"
)
Datei in yads/modules/custom/mein_custom_scanner.py ablegen und den Worker neu starten. Das Modul ist sofort aktiv.
Sicherheitshinweis: Custom-Module laufen mit vollen Worker-Privilegien. Alle Custom-Module vor dem Deployment prüfen, insbesondere solche mit ausgehenden Netzwerkverbindungen oder Benutzereingaben.
40. PQC Readiness & CBOM
(Grundlegend überarbeitet in v4.5.28)
Der Post-Quantum-Kryptografie-Scanner (PQC) analysiert Ihre TLS-Infrastruktur auf Quantenresistenz und erstellt für jedes Ziel ein Kryptografisches Bill of Materials (CBOM).
Multi-Port-TLS-Scanning
Der Scanner sondiert alle relevanten TLS-Ports, nicht nur 443:
| Port | Dienst |
|---|---|
| 443 | HTTPS |
| 8443 | HTTPS alternativ |
| 993 | IMAPS |
| 465 | SMTPS |
| 587 | SMTP STARTTLS |
| 636 | LDAPS |
Jeder Port wird vor der TLS-Analyse auf Erreichbarkeit geprüft (2s TCP-Probe). Ergebnisse werden im Per-Port-Format gespeichert: {"443": {...}, "993": {...}}.
Hybrid-KEX-Erkennung
Der Scanner erkennt Post-Quantum-Schlüsselaustauschgruppen:
- X25519MLKEM768: TLS 1.3 Hybrid-KEX — kombiniert klassisches X25519 mit ML-KEM-768 (NIST FIPS 203)
- Weitere ML-KEM-Gruppen (ML-KEM-512, ML-KEM-1024)
Post-Quantum-Zertifikatssignaturen
Der Scanner analysiert Zertifikatssignatur-OIDs auf PQC-Algorithmen: ML-DSA-44/65/87 (NIST FIPS 204), SLH-DSA (NIST FIPS 205), Falcon-512/1024.
PQC Readiness Score & Trend
Jedes Ziel erhält einen PQC-Readiness-Score (0–100). Der tägliche aggregierte Fleet-weite PQC-Score wird in der PQCTrend-Tabelle gespeichert und als Chart.js-Dual-Achsen-Trendchart auf der BOM / CBOM-Berichtsseite visualisiert.
CBOM-Erstellung
Unter Berichte → BOM / CBOM ein Kryptografisches Bill of Materials erstellen. Das CBOM listet alle kryptografischen Assets Ihres Mandanten: TLS-Cipher-Suites, Zertifikatssignatur-Algorithmen, KEX-Gruppen und PQC-Readiness-Status. Export als JSON (CycloneDX-kompatibel) oder PDF.
41. Angriffsflächen-Matrix
(Neu in v4.5.28)
Die Angriffsflächen-Matrix (Intelligence → Angriffsfläche) bietet eine Rasteransicht aller Ziele vs. alle Scanner-Module und zeigt auf einen Blick den aktuellen Schweregrad jeder Kombination.
Matrix lesen
Jede Zelle steht für ein Scanner-Modul auf einem Ziel. Farben: Rot = kritisch, Orange = hoch, Gelb = mittel, Blau = niedrig/info, Grau = kein Befund/nicht gescannt, ✕ = noch nie gescannt — klickbar für Einzel-Rescan.
Einzel-Modul-Rescan
Zellen mit Schweregrad = none (noch nie gescannt) zeigen einen klickbaren ✕-Button. Klick sendet eine POST /targets/{id}/rescan-module-Anfrage mit dem Modulnamen. Die Zelle zeigt sofort einen Spinner, dann ein Uhr-Icon (eingereiht), sobald der Task übermittelt wurde. Bei Fehler erscheint ein rotes ✕ mit Retry-Option.
42. Worker & Queue Zuverlässigkeit
(Verbessert in v4.5.28)
StuckTarget-Bereinigung
Ziele können in Status queued oder running hängen bleiben, wenn ein Worker abstürzt. YADS enthält einen automatischen Bereinigungsmechanismus:
- Der
reset_stuck_targets-Task läuft alle 5 Minuten im Scheduler-Loop. - Ziele, die länger als 24 Stunden in
queuedverbleiben, werden aufidlezurückgesetzt. - Vor dem Zurücksetzen prüft der Bereiniger die tatsächliche RabbitMQ-Broker-Queue-Tiefe.
- Ziele, die länger als 2 Stunden in
runningverbleiben, werden aufidlezurückgesetzt.
Queue Hard Cap
Zum Schutz vor Broker-Flooding gilt ein Hard Cap von 50 gleichzeitig gequeueten Tasks pro Mandant. Bulk-Dispatch-Operationen (z. B. "Alle neu scannen") respektieren dieses Limit.
Worker Binary Detection
Beim Start schreibt der YADS-Worker die Verfügbarkeit von System-Binaries (nmap, nuclei) in die SystemConfig-Datenbanktabelle (z. B. WORKER_BINARY_NMAP=true). Die API liest diese Flags, um "Limited Mode"-Warnungen für Scanner-Module korrekt anzuzeigen.
Live-Scan-Output-Streaming
Die Workers-Seite (/workers) zeigt Echtzeit-Streaming-Ausgaben aktiver Scans via Server-Sent Events. Lange Tool-Ausgaben (nmap, nuclei) werden in Redis gepuffert und live an die UI übertragen.
Zuletzt verifiziert: YADS v4.5.28