update readme
This commit is contained in:
		
							parent
							
								
									19b1d5cfc8
								
							
						
					
					
						commit
						b4a85ee6b3
					
				
							
								
								
									
										180
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										180
									
								
								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,59 +248,55 @@ 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
 | 
			
		||||
 | 
			
		||||
**Domänen:**
 | 
			
		||||
- `incident-response` - Incident Response & Breach-Untersuchung
 | 
			
		||||
- `law-enforcement` - Strafverfolgung & Kriminalermittlung
 | 
			
		||||
- `law-enforcement` - Strafverfolgung & Kriminalermittlung  
 | 
			
		||||
- `malware-analysis` - Malware-Analyse & Reverse Engineering
 | 
			
		||||
- `fraud-investigation` - Betrugs- & Finanzkriminalität
 | 
			
		||||
- `network-forensics` - Netzwerk-Forensik & Traffic-Analyse
 | 
			
		||||
@ -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
 | 
			
		||||
- `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