🎉 Optimierung der RDP-Server-Installation und Firewall-Konfiguration im Backend 🛠️. Vereinfachte Installation von xrdp und XFCE, verbesserte Fehlerbehandlung und Validierung der Firewall-Einstellungen. Aktualisierte Logik zur Überprüfung des Dienststatus und zur Konfiguration von Netzwerkquellen.
This commit is contained in:
@@ -27,9 +27,9 @@ Das neue konsolidierte `setup.sh` Skript ersetzt alle bisherigen Installationssk
|
||||
|
||||
## Installationsmodi
|
||||
|
||||
### 1. Nur Abhängigkeiten installieren
|
||||
### 1. Abhängigkeiten installieren für manuelles Testen
|
||||
|
||||
**Zweck**: System vorbereiten ohne Kiosk-Modus zu aktivieren
|
||||
**Zweck**: System vollständig vorbereiten für manuelle Tests und Entwicklung
|
||||
|
||||
**Was wird installiert**:
|
||||
- Python 3 und pip
|
||||
@@ -49,21 +49,31 @@ sudo ./setup.sh
|
||||
|
||||
**Ideal für**:
|
||||
- Entwicklungsumgebungen
|
||||
- Erste Installation und Tests
|
||||
- Systeme ohne Kiosk-Anforderungen
|
||||
- Manuelle Tests und Debugging
|
||||
- Systeme ohne automatischen Kiosk-Modus
|
||||
- Erste Installation und Validierung
|
||||
|
||||
### 2. Finale Kiosk-Installation
|
||||
**Nach der Installation**:
|
||||
- HTTPS-Backend manuell starten: `cd /opt/myp && python3 app.py`
|
||||
- System bereit für Entwicklung und Tests
|
||||
|
||||
**Zweck**: Vollständige Kiosk-Modus-Konfiguration
|
||||
### 2. Vollständige Kiosk-Installation mit Remote-Zugang
|
||||
|
||||
**Zweck**: Komplette Produktionsinstallation mit automatischem Kiosk-Modus
|
||||
|
||||
**Was wird konfiguriert**:
|
||||
- Alle Abhängigkeiten (falls noch nicht installiert)
|
||||
- Desktop-Environments entfernen
|
||||
- Alle Abhängigkeiten (automatisch falls noch nicht installiert)
|
||||
- Desktop-Environments vollständig entfernen
|
||||
- Minimale X11-Umgebung installieren
|
||||
- Kiosk-Benutzer erstellen
|
||||
- Automatischen Login konfigurieren
|
||||
- **SSH-Server** mit Benutzer `user:raspberry`
|
||||
- **RDP-Server (xrdp)** mit TLS für `root:744563017196A`
|
||||
- **XFCE Desktop-Umgebung** für RDP-Sessions
|
||||
- **firewalld** mit erweiterten Netzwerk-Regeln
|
||||
- Kiosk-Benutzer erstellen und konfigurieren
|
||||
- **Automatischen Login** auf tty1 konfigurieren
|
||||
- **Automatischen Kiosk-Start** beim Login einrichten
|
||||
- Systemd-Services installieren und aktivieren
|
||||
- System-Test durchführen
|
||||
- Umfassende System-Tests
|
||||
- Alte Dateien aufräumen
|
||||
|
||||
**Verwendung**:
|
||||
@@ -75,48 +85,13 @@ sudo ./setup.sh
|
||||
**Ideal für**:
|
||||
- Produktionsumgebungen
|
||||
- Dedizierte Kiosk-Systeme
|
||||
- Finale Deployment
|
||||
- Finale Deployment mit Remote-Administration
|
||||
- Vollautomatische Systeme
|
||||
|
||||
### 3. Nur Services installieren
|
||||
|
||||
**Zweck**: Systemd-Services aktualisieren ohne Systemänderungen
|
||||
|
||||
**Was wird gemacht**:
|
||||
- Service-Dateien aus `systemd/` nach `/etc/systemd/system/` kopieren
|
||||
- systemd-Konfiguration neu laden
|
||||
- Optional: Services aktivieren und starten
|
||||
|
||||
**Verwendung**:
|
||||
```bash
|
||||
sudo ./setup.sh
|
||||
# Wähle Option 3
|
||||
```
|
||||
|
||||
**Ideal für**:
|
||||
- Service-Updates
|
||||
- Konfigurationsänderungen
|
||||
- Wartung bestehender Installationen
|
||||
|
||||
### 4. System-Test
|
||||
|
||||
**Zweck**: Funktionalität der Installation überprüfen
|
||||
|
||||
**Was wird getestet**:
|
||||
- HTTPS-Verbindung zu localhost:443
|
||||
- SSL-Zertifikat-Gültigkeit
|
||||
- Service-Status aller systemd-Services
|
||||
- Systemressourcen
|
||||
|
||||
**Verwendung**:
|
||||
```bash
|
||||
sudo ./setup.sh
|
||||
# Wähle Option 4
|
||||
```
|
||||
|
||||
**Ideal für**:
|
||||
- Fehlerdiagnose
|
||||
- Wartung
|
||||
- Regelmäßige Systemprüfungen
|
||||
**Nach der Installation**:
|
||||
- **Neustart erforderlich**: `sudo reboot`
|
||||
- Automatischer Kiosk-Modus beim Boot
|
||||
- Remote-Zugang verfügbar über SSH und RDP
|
||||
|
||||
## Systemd-Services
|
||||
|
||||
@@ -145,6 +120,17 @@ sudo ./setup.sh
|
||||
- **Zweck**: Python-basierte Überwachung
|
||||
- **Ergänzung**: Zusätzliche Überwachungsfunktionen
|
||||
|
||||
### myp-firewall.service
|
||||
- **Zweck**: Automatische Firewall-Konfiguration beim Systemstart
|
||||
- **Benutzer**: root
|
||||
- **Abhängigkeiten**: firewalld.service
|
||||
- **Funktionen**:
|
||||
- Zone `myp-backend` für Netzwerk 192.168.0.0/24
|
||||
- HTTPS-Port 443/tcp
|
||||
- SSH-Port 22/tcp
|
||||
- RDP-Port 3389/tcp
|
||||
- Automatische Aktivierung beim Boot
|
||||
|
||||
## Konfiguration
|
||||
|
||||
### SSL-Zertifikate
|
||||
@@ -166,6 +152,79 @@ sudo ./setup.sh
|
||||
- Gruppen: audio, video, input, dialout, plugdev, users
|
||||
- Passwortlos für Sicherheit
|
||||
|
||||
### Remote-Zugang
|
||||
|
||||
**SSH-Zugang**:
|
||||
- Benutzer: `user`
|
||||
- Passwort: `raspberry`
|
||||
- Port: 22
|
||||
- Sudo-Berechtigung: ja
|
||||
|
||||
**RDP-Zugang**:
|
||||
- Benutzer: `root`
|
||||
- Passwort: `744563017196A`
|
||||
- Port: 3389
|
||||
- Desktop: XFCE
|
||||
- Verschlüsselung: TLS 1.2/1.3
|
||||
|
||||
**Firewall-Konfiguration**:
|
||||
- Zone: `myp-backend`
|
||||
- Quell-Netzwerke:
|
||||
- `192.168.0.0/16` (erweitertes lokales Netzwerk)
|
||||
- `127.0.0.1/32` (localhost IPv4)
|
||||
- `raspberrypi` (lokaler Hostname - automatisch gesetzt)
|
||||
- `m040tbaraspi001` (Frontend-Server - falls auflösbar)
|
||||
- Erlaubte Ports: 443/tcp (HTTPS), 22/tcp (SSH), 3389/tcp (RDP)
|
||||
- **IPv6 vollständig deaktiviert und blockiert**
|
||||
- Automatische Konfiguration beim Systemstart
|
||||
|
||||
### Hostname-Konfiguration
|
||||
|
||||
**Automatische Hostname-Setzung**:
|
||||
- Lokaler Hostname wird automatisch auf `raspberrypi` gesetzt
|
||||
- `/etc/hostname` und `/etc/hosts` werden entsprechend aktualisiert
|
||||
- Hostname-Auflösung wird getestet und konfiguriert
|
||||
- Firewall-Integration für lokalen Hostname
|
||||
|
||||
**Frontend-Server Integration**:
|
||||
- `m040tbaraspi001` wird als separater Frontend-Server behandelt
|
||||
- Automatische IP-Auflösung für `m040tbaraspi001` und `m040tbaraspi001.de040.corpintra.net`
|
||||
- Firewall-Regel wird hinzugefügt, falls der Server auflösbar ist
|
||||
- Keine Abhängigkeit - System funktioniert auch ohne Frontend-Server
|
||||
|
||||
### Netzwerk-Sicherheit
|
||||
|
||||
**IPv6-Deaktivierung**:
|
||||
- Vollständige Deaktivierung auf Kernel-Ebene
|
||||
- GRUB-Konfiguration: `ipv6.disable=1`
|
||||
- Sysctl-Konfiguration für alle Interfaces
|
||||
- NetworkManager/systemd-networkd Konfiguration
|
||||
- Firewall blockiert alle IPv6-Pakete
|
||||
|
||||
**IP-Spoofing-Schutz**:
|
||||
- Reverse Path Filtering aktiviert
|
||||
- Source Routing deaktiviert
|
||||
- ICMP Redirects ignoriert
|
||||
- Secure Redirects deaktiviert
|
||||
|
||||
**DDoS-Schutz**:
|
||||
- SYN-Flood-Schutz mit SYN-Cookies
|
||||
- Optimierte TCP-Backlog-Größe
|
||||
- Begrenzte SYN/SYNACK-Wiederholungen
|
||||
- Broadcast-Ping-Schutz (Smurf-Angriffe)
|
||||
|
||||
**TCP-Optimierungen**:
|
||||
- RFC-konforme Retry-Limits
|
||||
- Optimierte Window-Skalierung
|
||||
- Deaktivierte TCP-Timestamps (Anti-Fingerprinting)
|
||||
- Deaktivierte TCP-SACK (Sicherheit)
|
||||
- Time-Wait-Assassination-Schutz
|
||||
|
||||
**Logging und Monitoring**:
|
||||
- Martian-Pakete werden geloggt
|
||||
- Verdächtige Netzwerkaktivitäten protokolliert
|
||||
- Bogus ICMP-Antworten ignoriert
|
||||
|
||||
### Verzeichnisstruktur
|
||||
|
||||
```
|
||||
@@ -209,7 +268,7 @@ sudo ./setup.sh
|
||||
3. **SSL-Zertifikat-Probleme**
|
||||
```bash
|
||||
sudo ./setup.sh
|
||||
# Option 4 für System-Test
|
||||
# Option 5 für System-Test
|
||||
```
|
||||
|
||||
4. **Service-Neustart**
|
||||
@@ -218,20 +277,67 @@ sudo ./setup.sh
|
||||
sudo systemctl restart kiosk-watchdog
|
||||
```
|
||||
|
||||
5. **SSH-Verbindung fehlgeschlagen**
|
||||
```bash
|
||||
# SSH-Service prüfen
|
||||
sudo systemctl status ssh
|
||||
|
||||
# SSH-Port prüfen
|
||||
sudo ss -tlnp | grep :22
|
||||
|
||||
# Firewall-Regeln prüfen
|
||||
sudo firewall-cmd --list-all
|
||||
```
|
||||
|
||||
6. **RDP-Verbindung fehlgeschlagen**
|
||||
```bash
|
||||
# xrdp-Service prüfen
|
||||
sudo systemctl status xrdp
|
||||
|
||||
# RDP-Port prüfen
|
||||
sudo ss -tlnp | grep :3389
|
||||
|
||||
# xrdp-Logs prüfen
|
||||
sudo journalctl -u xrdp -f
|
||||
```
|
||||
|
||||
7. **Firewall-Probleme**
|
||||
```bash
|
||||
# Firewall-Status prüfen
|
||||
sudo systemctl status firewalld
|
||||
|
||||
# Aktive Zonen anzeigen
|
||||
sudo firewall-cmd --get-active-zones
|
||||
|
||||
# Zone-Konfiguration prüfen
|
||||
sudo firewall-cmd --zone=myp-backend --list-all
|
||||
|
||||
# Firewall neu konfigurieren
|
||||
sudo ./setup.sh
|
||||
# Option 4 für Remote-Zugang
|
||||
```
|
||||
|
||||
### Manuelle Service-Verwaltung
|
||||
|
||||
```bash
|
||||
# Services aktivieren
|
||||
sudo systemctl enable myp-https myp-kiosk kiosk-watchdog
|
||||
sudo systemctl enable myp-https myp-kiosk kiosk-watchdog myp-firewall
|
||||
|
||||
# Services starten
|
||||
sudo systemctl start myp-https myp-kiosk kiosk-watchdog
|
||||
|
||||
# Remote-Services aktivieren
|
||||
sudo systemctl enable ssh xrdp firewalld
|
||||
sudo systemctl start ssh xrdp firewalld
|
||||
|
||||
# Status prüfen
|
||||
sudo systemctl status myp-https myp-kiosk kiosk-watchdog
|
||||
sudo systemctl status myp-https myp-kiosk kiosk-watchdog myp-firewall
|
||||
sudo systemctl status ssh xrdp firewalld
|
||||
|
||||
# Logs anzeigen
|
||||
sudo journalctl -u myp-https -f
|
||||
sudo journalctl -u xrdp -f
|
||||
sudo journalctl -u firewalld -f
|
||||
```
|
||||
|
||||
## Wartung
|
||||
@@ -254,7 +360,7 @@ sudo journalctl -u myp-https -f
|
||||
4. **System-Test**
|
||||
```bash
|
||||
sudo ./setup.sh
|
||||
# Option 4
|
||||
# Option 5
|
||||
```
|
||||
|
||||
## Sicherheit
|
||||
@@ -299,7 +405,7 @@ Wenn Sie eine bestehende Installation mit `combined.sh` oder `installer.sh` habe
|
||||
Bei Problemen:
|
||||
|
||||
1. **Log-Dateien prüfen**
|
||||
2. **System-Test durchführen** (Option 4)
|
||||
2. **System-Test durchführen** (Option 5)
|
||||
3. **Services neu starten**
|
||||
4. **Installation wiederholen** mit entsprechender Option
|
||||
|
||||
|
||||
Reference in New Issue
Block a user