From ccab804814cc5e2b2e9b9935ff6cca11ef9cb7ff Mon Sep 17 00:00:00 2001 From: Mr-Update <37781396+Mr-Update@users.noreply.github.com> Date: Fri, 1 Sep 2023 21:28:47 +0200 Subject: [PATCH] Create _index.de.md --- .../_index.de.md | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 content/self-host/rustdesk-server-pro/Docker/RustDesk Server Layered Security Model/_index.de.md diff --git a/content/self-host/rustdesk-server-pro/Docker/RustDesk Server Layered Security Model/_index.de.md b/content/self-host/rustdesk-server-pro/Docker/RustDesk Server Layered Security Model/_index.de.md new file mode 100644 index 0000000..2282f0d --- /dev/null +++ b/content/self-host/rustdesk-server-pro/Docker/RustDesk Server Layered Security Model/_index.de.md @@ -0,0 +1,137 @@ +--- +title: RustDesk Servers mehrschichtiges Sicherheitsmodell +weight: 100 +--- + +Freundlicherweise aufgeschrieben von [@I-Am-Skoot](https://github.com/I-Am-Skoot/RustDeskNPMDocker/commits?author=I-Am-Skoot). + +## Schichten +- [RustDesk](https://github.com/rustdesk/rustdesk) Werkzeug zur Fernunterstützung +- [NPM](https://nginxproxymanager.com/) Proxy-Manager-Werkzeug +- [Docker](https://www.docker.com) Werkzeug zur Containerisierung +- Firewall Tool + +#### Voraussetzungen +Bei diesem Beispiel handelt es sich um eine All-in-One-Lösung, die nur die RustDesk-Dienste hostet. Dies kann zu einer flexibleren Lösung erweitert werden, indem der NPM in eine eigene Docker Compose aufgeteilt wird. +- DMZ-Netzwerk: 192.168.1.0/24 + - NPM (extern): 192.168.1.250 +- LAN-Netzwerk: 10.0.0.0/24 +- RSBackend-Netzwerk: 192.168.254.0/29 + - NPM (intern): 192.168.254.1 + - HBBS: 192.168.254.2 + - HBBR: 192.168.254.3 +- Docker-Host: Linux + - Jede Anwendung hat einen eigenen Ordner in `/opt/`. +- Hostname: uniquehostname (dies ändern) +- DNS-Name: rustdesk.example.com + +Ändern Sie die Beispiele nach Bedarf ab. + +### Docker vorbereiten +Sie müssen Docker bereits installiert haben. Diese Anleitung geht nicht auf die Einzelheiten ein. + +Sie müssen ein Netzwerk für das RustDesk Server-Backend und die DMZ erstellen. +Für jede Anwendung, die Sie mit dem NPM (Nginx Proxy Manager) verwenden, sollten Sie ein eigenes Backend-Netzwerk haben, um sie zu isolieren. + +``` + docker network create \ + --driver=bridge \ + --subnet=192.168.254.0/29 RSBackend + + docker network create \ + --driver=ipvlan --subnet=192.168.1.0/24 \ + --gateway=192.168.1.1 \ + -o ipvlan_mode=l2 \ + -o parent=eth0 DMZ +``` + +### Firewall einrichten +Konfigurieren Sie die folgenden Portweiterleitungen/NAT-Ports von Ihrer öffentlichen IP-Adresse zum NPM-Server. + - 21114 => 8080 TCP + - 21115 => 21115 TCP + - 21116 => 21116 TCP/UDP + - 21117 => 21117 TCP + - 21118 => 21118 TCP + - 21119 => 21119 TCP + - 443 => 443 TCP # Wenn Sie SSL verwenden möchten + +### Docker Compose einrichten +Dadurch wird ein Container mit NPM und den richtigen Netzwerken gestartet. + +Docker-Compose.yaml +``` +version: '3.5' +services: + NPM: + image: jlesage/nginx-proxy-manager:latest + container_name: proxy-manager + volumes: + - /opt/proxy-manager/config:/config + restart: 'unless-stopped' + networks: + DMZ: + ipv4_address: 192.168.1.250 + RSBackend: + ipv4_address: 192.168.254.1 + + hbbs: + container_name: rustdesk_hbbs + image: rustdesk/rustdesk-server-pro:latest + command: hbbs -k _ + hostname: uniquehostname # dies ändern + volumes: + - /opt/rustdeskserver:/root + networks: + RSBackend: + ipv4_address: 192.168.254.2 + depends_on: + - hbbr + restart: unless-stopped + + hbbr: + container_name: rustdesk_hbbr + image: rustdesk/rustdesk-server-pro:latest + command: hbbr -k _ + volumes: + - /opt/rustdeskserver:/root + networks: + RSBackend: + ipv4_address: 192.168.254.3 + restart: unless-stopped + +networks: + DMZ: + external: true + RSBackend: + external: true +``` + +### NPM einrichten +Stream Hosts für die folgenden Ports konfigurieren: +- 21115 => 192.168.254.2:21115 TCP +- 21116 => 192.168.254.2:21116 TCP / UDP +- 21117 => 192.168.254.3:21117 TCP +- 21118 => 192.168.254.2:21118 TCP +- 21119 => 192.168.254.3:21119 TCP +- 80 => 127.0.0.1:8080 TCP # erfasst den lokalen Verkehr + +Proxy-Host konfigurieren: + - Domainname: rustdesk.example.com + - Schema: http + - Weiterleitung des Hostnamens / IP: 192.168.254.2 + - Weiterleitungsport: 21114 + - Verbreitete Exploits blockieren: überprüft + - Optional: SSL konfigurieren **(NICHT ERFORDERLICH - Der Client muss in der Lage sein, ohne SSL zu kommunizieren.)** + +### RustDesk Server einrichten +Verbinden Sie sich mit der Server-Schnittstelle http://rustdesk.example.com oder https://rustdesk.example.com, wenn Sie SSL für die Web-Schnittstelle konfiguriert haben. + +### RustDesk-Client einrichten +Den Client konfigurieren: +- ID-Server: rustdesk.example.com +- Relay-Server: rustdesk.example.com +- API-Server: http://rustdesk.example.com (HTTPS verwenden, wenn Sie SSL konfiguriert haben) +- Key: {Serverschlüssel hier} + +## Endergebnis +Ihre Lösung wird von außen über den Proxy-Manager erreichbar sein. Sie können Ihre RustDesk-Server von anderen Systemen isolieren. Insbesondere, wenn Sie ein geteiltes Konfigurationssystem verwenden und andere Anwendungen bzw. Sites hinter einem gemeinsamen NPM haben.