Upload files to "cybersecurity/Network Reputation Service"

This commit is contained in:
2025-09-04 13:26:42 +02:00
parent dbce1cb2a3
commit ed4c37af89
7 changed files with 2065 additions and 0 deletions

View File

@@ -0,0 +1,295 @@
# 🛡️ Firewall-Audit - Network Reputation Service
![Version](https://img.shields.io/badge/version-1.3-blue.svg)
![PowerShell](https://img.shields.io/badge/PowerShell-5.1+-blue.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)
Ein professionelles PowerShell-Audit-Tool zur Bewertung der Filtereffektivität Ihrer Firewall durch das Testen kategorisierter URLs basierend auf ihrer Netzwerk-Reputation.
## 📋 Inhaltsverzeichnis
- [Überblick](#-überblick)
- [Funktionen](#-funktionen)
- [Voraussetzungen](#-voraussetzungen)
- [Installation](#-installation)
- [Nutzung](#-nutzung)
- [Konfiguration](#-konfiguration)
- [Generierter Bericht](#-generierter-bericht)
- [Datenstruktur](#-datenstruktur)
- [Bewertungssystem](#-bewertungssystem)
- [Fehlerbehebung](#-fehlerbehebung)
- [Mitwirken](#-mitwirken)
- [Lizenz](#-lizenz)
## 🎯 Überblick
Dieses PowerShell-Skript testet die Effektivität Ihrer Firewall, indem es überprüft, dass schädliche URLs korrekt blockiert werden, während legitime Websites zugänglich bleiben. Es generiert einen professionellen HTML-Bericht mit Bewertung, Statistiken und Empfehlungen.
**Autor:** Hubert Cornet
**Version:** 1.3
**Datum:** 3. September 2025
## ✨ Funktionen
- 🔍 **Automatisiertes Testen** von Hunderten kategorisierter URLs
- 📊 **Intelligente Bewertung** mit Noten von A+ bis F
- 📱 **Responsive HTML-Berichte** mit interaktiver Benutzeroberfläche
- 🔧 **Proxy-Unterstützung** mit Authentifizierung
-**Echtzeit-Fortschrittsbalken**
- 🎨 **Farbkodierte Visualisierungen** der Ergebnisse
- 💾 **JSON-Export** der Rohdaten
- 🌐 **Multi-Methoden-Erkennung** von Blockierungen
## 📋 Voraussetzungen
### Systemanforderungen
- Windows 10/11 oder Windows Server 2016+
- PowerShell 5.1 oder höher
- Aktive Internetverbindung
- Schreibrechte im Skript-Verzeichnis
### PowerShell-Module (werden automatisch installiert)
- `PSWriteHTML`
- `PSWriteColor`
### Erforderliche Dateien
- `file-nrs.json` - Datenbank kategorisierter URLs
## 🚀 Installation
1. **Laden Sie das Skript** in einen dedizierten Ordner herunter
2. **Laden Sie die JSON-Datei** von hier herunter:
```
https://gitea.tips-of-mine.com/Tips-Of-Mine/Powershell/src/branch/main/cybersecurity/Network%20Reputation%20Service/file-nrs.json
```
3. **Platzieren Sie beide Dateien** im selben Verzeichnis
## 💻 Nutzung
### Grundlegende Nutzung
```powershell
.\AuditFirewall.ps1
```
### Mit Proxy
```powershell
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.unternehmen.com:8080"
```
### Mit Proxy-Authentifizierung
```powershell
.\AuditFirewall.ps1 -ProxyUrl "http://proxy.unternehmen.com:8080" -ProxyUseAuthentication
```
### Mit benutzerdefiniertem Timeout
```powershell
.\AuditFirewall.ps1 -TimeoutSeconds 15
```
## ⚙️ Konfiguration
### Verfügbare Parameter
| Parameter | Typ | Beschreibung | Standard |
|-----------|-----|--------------|----------|
| `ProxyUrl` | String | Netzwerk-Proxy-URL | Keine |
| `ProxyUseAuthentication` | Switch | Proxy-Authentifizierung aktivieren | False |
| `TimeoutSeconds` | Integer | Timeout pro URL | 10 |
### Anpassung der Block-Schlüsselwörter
Bearbeiten Sie die Variable `$BlockKeywords` im Skript:
```powershell
$BlockKeywords = @("Seite blockiert", "Zugriff verweigert", "Web-Filterung", "Access Denied", "Site Blocked")
```
## 📊 Generierter Bericht
Das Skript generiert automatisch:
### 📁 Ausgabe-Dateistruktur
```
Rapports/
└── [Datum und Uhrzeit]/
├── Audit_Firewall_Report.html # Hauptbericht
└── Results.json # Rohdaten
```
### 🎨 HTML-Berichtsinhalt
- **Zusammenfassung**: Gesamtpunktzahl und wichtige Statistiken
- **Punktetabelle**: Leistung nach Kategorie
- **Interaktive Details**: Einzelne Tests pro URL
- **Bewertungsskala**: Erklärung des Bewertungssystems
## 📁 Datenstruktur
### Format von `file-nrs.json`
```json
{
"categorie": [
{
"id": "malware",
"nom": "Malware",
"description": "Websites, die schädliche Software verbreiten",
"urls": [
{
"url": "http://beispiel-malware.com",
"reputation": "malicious",
"expected_action": "block"
},
{
"url": "https://legitime-website.com",
"reputation": "safe",
"expected_action": "allow"
}
]
}
]
}
```
### Erwartete Aktionen
- `"block"`: URL sollte von der Firewall blockiert werden
- `"allow"`: URL sollte zugänglich bleiben
## 📈 Bewertungssystem
### Notenskala
| Note | Punktzahl | Interpretation |
|------|-----------|---------------|
| **A+** | 95-100% | 🟢 Ausgezeichnet / Perfekt |
| **A** | 90-95% | 🟢 Sehr gutes Filtering-Niveau |
| **B+** | 85-90% | 🟡 Sehr gut |
| **B** | 80-85% | 🟡 Gut, einige Anpassungen nötig |
| **C+** | 75-80% | 🟠 Ziemlich gut |
| **C** | 70-75% | 🟠 Durchschnittlich, erhebliche Lücken |
| **D+** | 65-70% | 🔴 Akzeptabel |
| **D** | 60-65% | 🔴 Schwach, ineffektives Filtering |
| **E+** | 55-60% | 🔴 Sehr schwach |
| **E** | 50-55% | 🔴 Unzureichend |
| **F+** | 45-50% | ⚫ Kritisch |
| **F** | 0-45% | ⚫ Sofortige Maßnahmen erforderlich |
### Berechnungsmethode
```
Punktzahl = (Korrekt gefilterte URLs / Gesamtzahl getesteter URLs) × 100
```
## 🔍 Erkennungsmethoden
### Wie das Skript Blockierungen erkennt:
1. **Inhaltsanalyse**: Suche nach Schlüsselwörtern von Blockierungsseiten
2. **Netzwerk-Timeouts**: Anfragen, die ablaufen (wahrscheinliche Firewall-Blockierung)
3. **Verbindungsfehler**: Unfähigkeit, den Server zu erreichen
4. **HTTP-Statuscodes**: Analyse der Serverantworten
### Simulierte HTTP-Header:
Das Skript simuliert einen modernen Browser, um Erkennung zu vermeiden:
```
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...
Accept: text/html,application/xhtml+xml,application/xml...
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
```
## 🔧 Fehlerbehebung
### Häufige Probleme
#### ❌ "Datei 'file-nrs.json' existiert nicht!"
**Lösung:** Laden Sie die JSON-Datei vom bereitgestellten Link herunter und platzieren Sie sie im selben Ordner wie das Skript.
#### ❌ "Modul X kann nicht installiert werden"
**Lösung:** Führen Sie PowerShell als Administrator aus oder verwenden Sie:
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
#### ❌ Häufige Timeouts
**Lösungen:**
- Erhöhen Sie den `-TimeoutSeconds` Wert
- Überprüfen Sie Ihre Netzwerkverbindung
- Konfigurieren Sie die Proxy-Einstellungen korrekt
#### ❌ Falsch-Positive/Negative
**Lösungen:**
- Aktualisieren Sie die Block-Schlüsselwörter
- Überprüfen Sie die Firewall-Konfiguration
- Passen Sie die JSON-Datei an Ihre Umgebung an
## 🏢 Empfohlene Anwendungsfälle
### 📅 Regelmäßige Nutzung
- **Monatliches Audit** der Firewall-Effektivität
- **Validierung** nach Regel-Updates
- **Benchmarking** zwischen Sicherheitslösungen
### 👥 Management-Berichterstattung
- **Dashboards** für IT-Management
- **Messbare Sicherheits-KPIs**
- **Investitionsbegründung** für Sicherheit
### 🔧 Konfigurationstests
- **Validierung** nach Netzwerkänderungen
- **Regressionstests** der Firewall-Regeln
- **Sicherheits-Compliance-Audit**
## ⚠️ Technische Einschränkungen
### Beachtenswertes:
- **Sequenzielle Tests**: Keine Parallelisierung (kann langsam sein)
- **Grundlegende Erkennung**: Basiert auf vordefinierten Schlüsselwörtern
- **Falsch-Positive**: Legitime Websites zeitweise unzugänglich
- **Sicherheit**: Skript kontaktiert tatsächlich getestete URLs
### Best Practices:
1. 🕐 Führen Sie während schwacher Verkehrszeiten aus
2. 📊 Analysieren Sie Ergebnisse im Kontext
3. 🔄 Halten Sie JSON-Datei aktuell
4. 📈 Verfolgen Sie die Entwicklung der Punktzahlen über Zeit
## 🤝 Mitwirken
### Um beizutragen:
1. Forken Sie das Projekt
2. Erstellen Sie Ihren Feature-Branch
3. Committen Sie Ihre Änderungen
4. Pushen Sie zum Branch
5. Öffnen Sie eine Pull Request
### Verbesserungsideen:
- [ ] Test-Parallelisierung für bessere Performance
- [ ] Ausgeklügeltere Blockseiten-Erkennung
- [ ] Externe Reputationsdatenbank-Unterstützung
- [ ] Grafische Benutzeroberfläche für Konfiguration
- [ ] Threat Intelligence API-Integration
## 🎯 Roadmap
### Version 1.4 (geplant)
- [ ] Parallele Tests für verbesserte Performance
- [ ] Benutzerdefinierte SSL-Zertifikat-Unterstützung
- [ ] E-Mail-Benachrichtigungen für Ergebnisse
### Version 2.0 (zukünftig)
- [ ] Web-Interface für Konfiguration
- [ ] SIEM-Lösungsintegration
- [ ] REST API für Automatisierung
## 📞 Support
Für Hilfe oder um Probleme zu melden:
- 📧 Kontaktieren Sie den Autor: Hubert Cornet
- 🐛 Öffnen Sie ein Issue im Projekt-Repository
- 📚 Konsultieren Sie die technische Dokumentation
## 📄 Lizenz
Dieses Projekt steht unter MIT-Lizenz. Siehe die `LICENSE`-Datei für weitere Details.
---
**⭐ Wenn Ihnen dieses Skript nützlich war, geben Sie ihm gerne einen Stern!**
---
*Zuletzt aktualisiert: 3. September 2025*