README.md aktualisiert

This commit is contained in:
2025-12-08 17:20:33 +01:00
parent eaa7eae038
commit d70317a311

157
README.md
View File

@@ -2,7 +2,7 @@
**Hybrid-System für temporäres GeoIP-Blocking auf Plesk-Servern mit mehreren Shops**
Dieses Tool ermöglicht es, einzelne Shops auf einem Plesk-Server temporär für alle Zugriffe außerhalb der DACH-Region (Deutschland, Österreich, Schweiz) zu sperren. Es kombiniert PHP-Level-Blocking mit CrowdSec Firewall-Integration für maximalen Schutz.
Dieses Tool ermöglicht es, einzelne oder alle Shops auf einem Plesk-Server temporär für alle Zugriffe außerhalb der DACH-Region (Deutschland, Österreich, Schweiz) zu sperren. Es kombiniert PHP-Level-Blocking mit CrowdSec Firewall-Integration für maximalen Schutz.
## 🎯 Features
@@ -11,6 +11,8 @@ Dieses Tool ermöglicht es, einzelne Shops auf einem Plesk-Server temporär für
-**Doppelter Schutz**: PHP-Level + Firewall-Level (CrowdSec)
-**Automatische Synchronisation**: Blockierte IPs werden automatisch an CrowdSec weitergegeben
-**Multi-Shop-Management**: Verwaltung mehrerer Shops auf einem Server
-**Bulk-Operationen**: Alle Shops gleichzeitig aktivieren/deaktivieren
-**Gesamtübersicht**: Logs und Statistiken über alle Shops hinweg
-**Auto-Deaktivierung**: Blocking läuft nach 72 Stunden automatisch ab
-**Systemd-Service**: Automatischer Start beim Booten
-**Sauberes Cleanup**: Vollständige Deinstallation bei Deaktivierung
@@ -90,10 +92,24 @@ Das war's! Das Script ist vollständig selbstverwaltend.
## 📖 Verwendung
### Blocking aktivieren
### Hauptmenü
```
[1] GeoIP-Blocking AKTIVIEREN (einzeln)
[2] GeoIP-Blocking DEAKTIVIEREN (einzeln)
[3] Logs anzeigen
[4] Status anzeigen
────────────────────────────────────────
[5] 🚀 ALLE Shops aktivieren
[6] 🛑 ALLE Shops deaktivieren
────────────────────────────────────────
[0] Beenden
```
### Blocking aktivieren (einzelner Shop)
1. Script starten: `python3 geoip_shop_manager.py`
2. Option `[1] GeoIP-Blocking AKTIVIEREN` wählen
2. Option `[1] GeoIP-Blocking AKTIVIEREN (einzeln)` wählen
3. Shop aus der Liste auswählen
4. Bestätigen mit `ja`
@@ -105,10 +121,56 @@ Das war's! Das Script ist vollständig selbstverwaltend.
- Blocking ist sofort aktiv
- Erlaubt werden nur IPs aus: 🇩🇪 Deutschland, 🇦🇹 Österreich, 🇨🇭 Schweiz
### Blocking deaktivieren
### Blocking für ALLE Shops aktivieren
1. Script starten: `python3 geoip_shop_manager.py`
2. Option `[2] GeoIP-Blocking DEAKTIVIEREN` wählen
2. Option `[5] 🚀 ALLE Shops aktivieren` wählen
3. Liste der zu aktivierenden Shops wird angezeigt
4. Bestätigen mit `ja`
**Was passiert:**
- Zeigt alle Shops an, die noch nicht geschützt sind
- Installiert den Watcher-Service (falls noch nicht vorhanden)
- Aktiviert das Blocking für jeden Shop nacheinander
- Zeigt Fortschritt während der Aktivierung
- Am Ende: Zusammenfassung mit Erfolgs-/Fehlerzählung
**Beispielausgabe:**
```
══════════════════════════════════════════════════════════════
DACH GeoIP-Blocking für ALLE Shops aktivieren
══════════════════════════════════════════════════════════════
📋 Folgende 5 Shop(s) werden aktiviert:
• shop1.example.com
• shop2.example.com
• shop3.example.com
...
[1/5] Aktiviere: shop1.example.com
✅ Aktiviert (bis 2025-12-11 14:30)
[2/5] Aktiviere: shop2.example.com
✅ Aktiviert (bis 2025-12-11 14:30)
...
══════════════════════════════════════════════════════════════
ZUSAMMENFASSUNG
══════════════════════════════════════════════════════════════
✅ Erfolgreich aktiviert: 5
❌ Fehlgeschlagen: 0
🇩🇪 🇦🇹 🇨🇭 Nur DACH-Traffic erlaubt
⏰ Gültig für 72 Stunden
══════════════════════════════════════════════════════════════
```
### Blocking deaktivieren (einzelner Shop)
1. Script starten: `python3 geoip_shop_manager.py`
2. Option `[2] GeoIP-Blocking DEAKTIVIEREN (einzeln)` wählen
3. Shop aus der Liste auswählen
4. Bestätigen mit `ja`
@@ -119,13 +181,70 @@ Das war's! Das Script ist vollständig selbstverwaltend.
- Shop wird deregistriert
- Bei LETZTEM Shop: Systemd-Service wird deinstalliert
### Blocking für ALLE Shops deaktivieren
1. Script starten: `python3 geoip_shop_manager.py`
2. Option `[6] 🛑 ALLE Shops deaktivieren` wählen
3. Liste der aktiven Shops wird angezeigt
4. Bestätigen mit `ja`
**Was passiert:**
- Zeigt alle Shops mit aktivem Blocking
- Deaktiviert das Blocking für jeden Shop nacheinander
- Entfernt alle zugehörigen CrowdSec-Decisions
- Deinstalliert den Watcher-Service am Ende
- Zusammenfassung mit Erfolgs-/Fehlerzählung
### Logs anzeigen
1. Script starten: `python3 geoip_shop_manager.py`
2. Option `[3] Logs anzeigen` wählen
3. Shop auswählen
3. Auswahl treffen:
**Zeigt:**
```
📋 Logs anzeigen für:
[0] 📊 ALLE Shops (Zusammenfassung)
[1] shop1.example.com
[2] shop2.example.com
...
```
#### Option [0]: Gesamtübersicht aller Shops
Zeigt eine aggregierte Statistik über alle aktiven Shops:
```
════════════════════════════════════════════════════════════════
📊 GESAMTÜBERSICHT ALLER SHOPS
════════════════════════════════════════════════════════════════
📝 PHP-Blocks gesamt: 1.247
├─ shop1.example.com: 523 █████████████████████
├─ shop2.example.com: 412 ████████████████
└─ shop3.example.com: 312 ████████████
🛡️ CrowdSec-Bans gesamt: 892
├─ shop1.example.com: 401 ████████████████
├─ shop2.example.com: 298 ███████████
└─ shop3.example.com: 193 ███████
🔥 Top 10 blockierte IPs (alle Shops):
185.220.101.34: 127 █████████████████████████
45.95.169.22: 89 █████████████████
194.26.192.64: 67 █████████████
...
════════════════════════════════════════════════════════════════
```
**Enthält:**
- PHP-Blocks pro Shop mit visuellen Balken
- CrowdSec-Bans pro Shop
- Top 10 der am häufigsten blockierten IPs über alle Shops hinweg
#### Option [1-n]: Einzelner Shop
Zeigt detaillierte Logs für einen spezifischen Shop:
- PHP-Level Blocks (letzte 50 Einträge)
- CrowdSec Firewall Bans (letzte 20 mit Ablaufzeit)
- Gesamtstatistiken
@@ -499,7 +618,7 @@ cat /var/www/vhosts/SHOP/httpdocs/geoip_blocked.log | \
### Während aktivem Blocking
1. ✅ Logs regelmäßig prüfen
1. ✅ Logs regelmäßig prüfen (Gesamtübersicht nutzen!)
2. ✅ Auf Fehlblockierungen achten (sehr selten)
3. ✅ CrowdSec-Statistiken beobachten
4. ✅ Server-Performance monitoren
@@ -529,7 +648,7 @@ cat /var/www/vhosts/SHOP/httpdocs/geoip_blocked.log | \
- ✅ Nur temporär nutzen (Notfälle, Angriffe)
- ✅ Nicht als permanente Lösung
- ✅ Kombinieren mit anderen Security-Maßnahmen
- ✅ Regelmäßig Logs prüfen
- ✅ Regelmäßig Logs prüfen (Gesamtübersicht für schnellen Überblick)
## 🤝 Contributing
@@ -556,7 +675,7 @@ MIT License - siehe LICENSE Datei
Bei Problemen:
1. Prüfe die Troubleshooting-Sektion
2. Prüfe die Logs
2. Prüfe die Logs (Gesamtübersicht oder einzeln)
3. Erstelle ein GitHub Issue mit:
- Fehlerbeschreibung
- Relevante Logs
@@ -571,7 +690,23 @@ Bei Problemen:
---
**Version**: 2.0.0 (DACH)
**Version**: 2.1.0 (DACH)
**Letztes Update**: Dezember 2025
**Status**: Production Ready ✅
**Erlaubte Länder**: 🇩🇪 Deutschland | 🇦🇹 Österreich | 🇨🇭 Schweiz
### Changelog
#### v2.1.0
- **NEU**: Option [5] - Alle Shops gleichzeitig aktivieren
- **NEU**: Option [6] - Alle Shops gleichzeitig deaktivieren
- **NEU**: Gesamtübersicht in Logs (Option [0]) mit aggregierten Statistiken
- **NEU**: Top 10 blockierte IPs über alle Shops hinweg
- **NEU**: Visuelle Balken in der Statistik-Anzeige
- Verbessertes Menü-Layout mit Trennlinien
#### v2.0.0
- DACH-Support (DE, AT, CH statt nur DE)
- Systemd-Service für Watcher
- CrowdSec-Integration
- Multi-Shop-Management