update readme
This commit is contained in:
parent
19b1d5cfc8
commit
b4a85ee6b3
176
README.md
176
README.md
@ -1,30 +1,30 @@
|
||||
# CC24-Hub
|
||||
|
||||
Ein kuratiertes Verzeichnis für digitale Forensik- und Incident-Response-Tools, entwickelt für die Seminargruppe CC24-w1.
|
||||
|
||||
*DISCLAIMER:*
|
||||
Hier wurde Exzessives Vibe-Coding verwendet. Die Auswahl der Software ist aber kuratiert.
|
||||
Ein kuratiertes Verzeichnis für digitale Forensik- und Incident-Response-Tools mit KI-gestützten Empfehlungen, entwickelt für die Seminargruppe CC24-w1.
|
||||
|
||||
## 🎯 Projektübersicht
|
||||
|
||||
CC24-Hub ist eine statische Website, die eine strukturierte Übersicht über bewährte DFIR-Tools bietet. Das Projekt orientiert sich am NIST-Framework (SP 800-86) und kategorisiert Tools nach forensischen Domänen und Untersuchungsphasen.
|
||||
CC24-Hub bietet eine strukturierte Übersicht über bewährte DFIR-Tools und -Methoden mit intelligenten Empfehlungsfunktionen. Das Projekt orientiert sich am NIST-Framework (SP 800-86) und kategorisiert nach forensischen Domänen und Untersuchungsphasen.
|
||||
|
||||
### Hauptfunktionen
|
||||
|
||||
- **Tool-Katalog**: Umfassende Sammlung von Open-Source und kommerziellen Forensik-Tools
|
||||
- **Matrix-Ansicht**: Visualisierung der Tools nach Domänen und Prozess-Phasen
|
||||
- **Erweiterte Filterung**: Suche nach Name, Beschreibung, Tags, Domäne und Phase
|
||||
- **CC24-Server Integration**: Direkte Links zu gehosteten Tool-Instanzen
|
||||
- **Status-Monitoring**: Live-Überwachung der verfügbaren Services
|
||||
- **Responsive Design**: Optimiert für Desktop und Mobile
|
||||
- **Dark/Light Mode**: Automatische Theme-Erkennung mit manueller Überschreibung
|
||||
- **KI-gestützte Empfehlungen**: Workflow- und Tool-Vorschläge basierend auf forensischen Szenarien
|
||||
- **Tools & Methoden**: Software-Tools UND forensische Verfahren/Prozeduren
|
||||
- **Matrix-Ansicht**: Visualisierung nach Domänen × Prozess-Phasen
|
||||
- **Erweiterte Filter**: Suche nach Name, Tags, Domäne, Phase, Lizenz
|
||||
- **CC24-Server Integration**: Direkte SSO-Links zu gehosteten Instanzen
|
||||
- **Knowledgebase**: Erweiterte Dokumentation mit praktischen Erkenntnissen
|
||||
- **Status-Monitoring**: Live-Überwachung verfügbarer Services
|
||||
- **Responsive Design**: Dark/Light Mode, Mobile-optimiert
|
||||
|
||||
## 🛠️ Technischer Stack
|
||||
|
||||
- **Framework**: [Astro](https://astro.build/) (Static Site Generator)
|
||||
- **Framework**: [Astro](https://astro.build/) mit Server-Side Rendering
|
||||
- **Backend**: Node.js mit API-Routen für KI und Authentifizierung
|
||||
- **Styling**: Vanilla CSS mit CSS Custom Properties
|
||||
- **Datenformat**: YAML für Tool-Definitionen
|
||||
- **Deployment**: Statische HTML-Generierung
|
||||
- **Datenformat**: YAML für Tool-/Methoden-Definitionen
|
||||
- **KI-Integration**: Mistral AI über OpenAI-kompatible API
|
||||
- **Authentifizierung**: OIDC (OpenID Connect) mit JWT-Sessions
|
||||
- **Node.js**: >=18.0.0
|
||||
|
||||
## 🚀 Installation & Deployment
|
||||
@ -248,52 +248,48 @@ Nextcloud OIDC Einstellungen (sollte auch mit anderen OIDC-Anwendungen klappen):
|
||||
- **Redirect URI**: `https://your-domain.com/auth/callback`
|
||||
- **Logout URI**: `https://your-domain.com`
|
||||
|
||||
## 🔧 Tool-/Methoden-Datenformat
|
||||
|
||||
## 📁 Projektstruktur
|
||||
Einträge werden in `src/data/tools.yaml` definiert:
|
||||
|
||||
```
|
||||
cc24-hub/
|
||||
├── src/
|
||||
│ ├── components/ # Astro-Komponenten
|
||||
│ │ ├── Navigation.astro
|
||||
│ │ ├── ToolCard.astro
|
||||
│ │ ├── ToolFilters.astro
|
||||
│ │ └── ToolMatrix.astro
|
||||
│ ├── data/
|
||||
│ │ └── tools.yaml # Tool-Definitionen
|
||||
│ ├── layouts/
|
||||
│ │ └── BaseLayout.astro
|
||||
│ ├── pages/ # Seiten-Routing
|
||||
│ │ ├── index.astro
|
||||
│ │ ├── about.astro
|
||||
│ │ ├── status.astro
|
||||
│ │ └── impressum.astro
|
||||
│ ├── scripts/
|
||||
│ │ └── theme.js # Theme-Management
|
||||
│ └── styles/
|
||||
│ └── global.css # Globale Styles
|
||||
├── public/ # Statische Assets
|
||||
└── astro.config.mjs # Astro-Konfiguration
|
||||
```
|
||||
|
||||
## 🔧 Tool-Datenformat
|
||||
|
||||
Tools werden in `src/data/tools.yaml` definiert:
|
||||
### Software-Tool Beispiel
|
||||
|
||||
```yaml
|
||||
tools:
|
||||
- name: "Tool Name"
|
||||
description: "Beschreibung des Tools"
|
||||
domains: ["incident-response", "malware-analysis"]
|
||||
phases: ["data-collection", "analysis"]
|
||||
platforms: ["Linux", "Windows"]
|
||||
- name: "Autopsy"
|
||||
icon: "📱"
|
||||
type: "software"
|
||||
description: "Die führende Open-Source-Alternative zu kommerziellen Forensik-Suiten"
|
||||
domains: ["incident-response", "law-enforcement"]
|
||||
phases: ["examination", "analysis"]
|
||||
platforms: ["Windows", "Linux"]
|
||||
skillLevel: "intermediate"
|
||||
accessType: "download"
|
||||
url: "https://example.com"
|
||||
projectUrl: "https://hosted.example.com" # Optional für gehostete Tools
|
||||
url: "https://www.autopsy.com/"
|
||||
projectUrl: "https://autopsy.cc24.dev" # CC24-Server URL
|
||||
license: "Apache 2.0"
|
||||
tags: ["tag1", "tag2"]
|
||||
statusUrl: "https://status.example.com/badge" # Optional
|
||||
knowledgebase: true # Hat erweiterte Dokumentation
|
||||
tags: ["gui", "filesystem", "timeline-analysis"]
|
||||
statusUrl: "https://status.example.com/badge/1/status"
|
||||
```
|
||||
|
||||
### Forensische Methode Beispiel
|
||||
|
||||
```yaml
|
||||
- name: "Live Memory Acquisition Procedure"
|
||||
icon: "🧠"
|
||||
type: "method"
|
||||
description: "Standardisiertes Verfahren zur forensisch korrekten Akquisition des Arbeitsspeichers"
|
||||
domains: ["incident-response", "law-enforcement"]
|
||||
phases: ["data-collection"]
|
||||
platforms: [] # Methoden haben keine Plattformen
|
||||
skillLevel: "advanced"
|
||||
accessType: null
|
||||
url: "https://www.nist.gov/publications/guide-integrating-forensic-techniques"
|
||||
projectUrl: null
|
||||
license: null
|
||||
knowledgebase: false
|
||||
tags: ["memory-acquisition", "volatile-evidence", "procedure"]
|
||||
```
|
||||
|
||||
### Verfügbare Kategorien
|
||||
@ -308,20 +304,64 @@ tools:
|
||||
- `cloud-forensics` - Cloud & Virtuelle Umgebungen
|
||||
- `ics-forensics` - Industrielle Kontrollsysteme (ICS/SCADA)
|
||||
|
||||
**Phasen:**
|
||||
**Phasen (NIST SP 800-86):**
|
||||
- `data-collection` - Datensammlung
|
||||
- `examination` - Auswertung
|
||||
- `analysis` - Analyse
|
||||
- `reporting` - Bericht & Präsentation
|
||||
- `collaboration` - Übergreifend & Kollaboration
|
||||
|
||||
**Domain-agnostic Kategorien:**
|
||||
- `collaboration-general` - Übergreifend & Kollaboration
|
||||
- `specific-os` - Betriebssysteme
|
||||
|
||||
## 🤖 KI-Integration
|
||||
|
||||
### Workflow-Empfehlungen
|
||||
Beschreibung forensischer Szenarien für maßgeschneiderte Workflows mit phasenbasierten Tool-Empfehlungen und Prioritätsbewertung.
|
||||
|
||||
### Tool-spezifische Empfehlungen
|
||||
Konkrete Tool-Vorschläge für spezifische Probleme mit detaillierten Begründungen, Implementierungsansätzen und Vor-/Nachteilen.
|
||||
|
||||
**API-Endpunkt:** `/api/ai/query`
|
||||
- **Rate Limiting**: 10 Anfragen pro Minute pro Benutzer
|
||||
- **Modi**: `workflow` (Szenario-basiert) oder `tool` (Problem-spezifisch)
|
||||
- **Authentifizierung**: Optional konfigurierbar via `AUTHENTICATION_NECESSARY`
|
||||
|
||||
## 🔐 Authentifizierung
|
||||
|
||||
OIDC-Integration mit JWT-Sessions:
|
||||
- **6 Stunden Gültigkeit**
|
||||
- **HTTP-Only Cookies** mit CSRF-Schutz
|
||||
- **Nextcloud/Keycloak kompatibel**
|
||||
|
||||
**Relevante Dateien:**
|
||||
- `src/utils/auth.ts` - Kern-Authentifizierungslogik
|
||||
- `src/pages/api/auth/` - Auth-API-Endpunkte
|
||||
|
||||
## 📚 Weitere Funktionen
|
||||
|
||||
### Knowledgebase
|
||||
Erweiterte Dokumentation für Tools mit `knowledgebase: true` in `/knowledgebase`. Bietet praktische Erkenntnisse, Konfigurationshinweise und Lektionen aus der Praxis.
|
||||
|
||||
### Status-Monitoring
|
||||
Live-Überwachung gehosteter Services in `/status` mit automatischen Status-Badges und direkten Zugriffs-Links.
|
||||
|
||||
### Tool-Editor
|
||||
Standalone WYSIWYG-Editor unter `/dfir_yaml_editor.html` für die Verwaltung der `tools.yaml` mit Bulk-Operationen und Validierung.
|
||||
|
||||
## 🤝 Beitragen
|
||||
|
||||
### Tool hinzufügen
|
||||
### Tool/Methode hinzufügen
|
||||
|
||||
**Option 1: Direkte YAML-Bearbeitung**
|
||||
1. Fork des Repositories erstellen
|
||||
2. Neuen Tool-Eintrag in `src/data/tools.yaml` hinzufügen
|
||||
3. Pull Request mit Beschreibung der Änderungen erstellen
|
||||
2. `src/data/tools.yaml` bearbeiten
|
||||
3. Pull Request mit Beschreibung erstellen
|
||||
|
||||
**Option 2: Web-Editor verwenden**
|
||||
1. YAML-Editor öffnen (`/dfir_yaml_editor.html`)
|
||||
2. Tool/Methode hinzufügen
|
||||
3. YAML exportieren und in Pull Request einreichen
|
||||
|
||||
### Korrekturen & Verbesserungen
|
||||
|
||||
@ -329,3 +369,23 @@ tools:
|
||||
- Code-Beiträge über Pull Requests willkommen
|
||||
- Dokumentation und Übersetzungen erwünscht
|
||||
|
||||
## 🐛 Troubleshooting
|
||||
|
||||
**KI-Empfehlungen funktionieren nicht:**
|
||||
- `.env` Datei korrekt konfiguriert?
|
||||
- `AUTHENTICATION_NECESSARY=false` für Tests setzen
|
||||
- API-Endpoint erreichbar?
|
||||
|
||||
**Authentifizierung schlägt fehl:**
|
||||
- OIDC-Endpoints korrekt?
|
||||
- Redirect-URIs im OIDC-Provider registriert?
|
||||
- `AUTH_SECRET` mindestens 32 Zeichen?
|
||||
|
||||
**Logs prüfen:**
|
||||
```bash
|
||||
# Anwendungs-Logs
|
||||
sudo journalctl -u cc24-hub -f
|
||||
|
||||
# Development-Modus
|
||||
npm run dev
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user