README.md aktualisiert
This commit is contained in:
157
README.md
157
README.md
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
**Hybrid-System für temporäres GeoIP-Blocking auf Plesk-Servern mit mehreren Shops**
|
**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
|
## 🎯 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)
|
- ✅ **Doppelter Schutz**: PHP-Level + Firewall-Level (CrowdSec)
|
||||||
- ✅ **Automatische Synchronisation**: Blockierte IPs werden automatisch an CrowdSec weitergegeben
|
- ✅ **Automatische Synchronisation**: Blockierte IPs werden automatisch an CrowdSec weitergegeben
|
||||||
- ✅ **Multi-Shop-Management**: Verwaltung mehrerer Shops auf einem Server
|
- ✅ **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
|
- ✅ **Auto-Deaktivierung**: Blocking läuft nach 72 Stunden automatisch ab
|
||||||
- ✅ **Systemd-Service**: Automatischer Start beim Booten
|
- ✅ **Systemd-Service**: Automatischer Start beim Booten
|
||||||
- ✅ **Sauberes Cleanup**: Vollständige Deinstallation bei Deaktivierung
|
- ✅ **Sauberes Cleanup**: Vollständige Deinstallation bei Deaktivierung
|
||||||
@@ -90,10 +92,24 @@ Das war's! Das Script ist vollständig selbstverwaltend.
|
|||||||
|
|
||||||
## 📖 Verwendung
|
## 📖 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`
|
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
|
3. Shop aus der Liste auswählen
|
||||||
4. Bestätigen mit `ja`
|
4. Bestätigen mit `ja`
|
||||||
|
|
||||||
@@ -105,10 +121,56 @@ Das war's! Das Script ist vollständig selbstverwaltend.
|
|||||||
- Blocking ist sofort aktiv
|
- Blocking ist sofort aktiv
|
||||||
- Erlaubt werden nur IPs aus: 🇩🇪 Deutschland, 🇦🇹 Österreich, 🇨🇭 Schweiz
|
- Erlaubt werden nur IPs aus: 🇩🇪 Deutschland, 🇦🇹 Österreich, 🇨🇭 Schweiz
|
||||||
|
|
||||||
### Blocking deaktivieren
|
### Blocking für ALLE Shops aktivieren
|
||||||
|
|
||||||
1. Script starten: `python3 geoip_shop_manager.py`
|
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
|
3. Shop aus der Liste auswählen
|
||||||
4. Bestätigen mit `ja`
|
4. Bestätigen mit `ja`
|
||||||
|
|
||||||
@@ -119,13 +181,70 @@ Das war's! Das Script ist vollständig selbstverwaltend.
|
|||||||
- Shop wird deregistriert
|
- Shop wird deregistriert
|
||||||
- Bei LETZTEM Shop: Systemd-Service wird deinstalliert
|
- 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
|
### Logs anzeigen
|
||||||
|
|
||||||
1. Script starten: `python3 geoip_shop_manager.py`
|
1. Script starten: `python3 geoip_shop_manager.py`
|
||||||
2. Option `[3] Logs anzeigen` wählen
|
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)
|
- PHP-Level Blocks (letzte 50 Einträge)
|
||||||
- CrowdSec Firewall Bans (letzte 20 mit Ablaufzeit)
|
- CrowdSec Firewall Bans (letzte 20 mit Ablaufzeit)
|
||||||
- Gesamtstatistiken
|
- Gesamtstatistiken
|
||||||
@@ -499,7 +618,7 @@ cat /var/www/vhosts/SHOP/httpdocs/geoip_blocked.log | \
|
|||||||
|
|
||||||
### Während aktivem Blocking
|
### 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)
|
2. ✅ Auf Fehlblockierungen achten (sehr selten)
|
||||||
3. ✅ CrowdSec-Statistiken beobachten
|
3. ✅ CrowdSec-Statistiken beobachten
|
||||||
4. ✅ Server-Performance monitoren
|
4. ✅ Server-Performance monitoren
|
||||||
@@ -529,7 +648,7 @@ cat /var/www/vhosts/SHOP/httpdocs/geoip_blocked.log | \
|
|||||||
- ✅ Nur temporär nutzen (Notfälle, Angriffe)
|
- ✅ Nur temporär nutzen (Notfälle, Angriffe)
|
||||||
- ✅ Nicht als permanente Lösung
|
- ✅ Nicht als permanente Lösung
|
||||||
- ✅ Kombinieren mit anderen Security-Maßnahmen
|
- ✅ Kombinieren mit anderen Security-Maßnahmen
|
||||||
- ✅ Regelmäßig Logs prüfen
|
- ✅ Regelmäßig Logs prüfen (Gesamtübersicht für schnellen Überblick)
|
||||||
|
|
||||||
## 🤝 Contributing
|
## 🤝 Contributing
|
||||||
|
|
||||||
@@ -556,7 +675,7 @@ MIT License - siehe LICENSE Datei
|
|||||||
Bei Problemen:
|
Bei Problemen:
|
||||||
|
|
||||||
1. Prüfe die Troubleshooting-Sektion
|
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:
|
3. Erstelle ein GitHub Issue mit:
|
||||||
- Fehlerbeschreibung
|
- Fehlerbeschreibung
|
||||||
- Relevante Logs
|
- Relevante Logs
|
||||||
@@ -571,7 +690,23 @@ Bei Problemen:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version**: 2.0.0 (DACH)
|
**Version**: 2.1.0 (DACH)
|
||||||
**Letztes Update**: Dezember 2025
|
**Letztes Update**: Dezember 2025
|
||||||
**Status**: Production Ready ✅
|
**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