README.md aktualisiert
This commit is contained in:
159
README.md
159
README.md
@@ -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
|
||||
**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
|
||||
Reference in New Issue
Block a user