RustDesk Pro分层安全模型

2024-07-01 85

RustDesk服务器分层安全模型包括使用Nginx代理管理器(NPM)作为堡垒机制,并通过Docker容器化工具和防火墙规则来增强安全性。本示例假定仅用于托管RustDesk服务,但也可以通过将NPM拆分为独立的Docker Compose文件来扩展为更灵活的解决方案。

一、网络布局

1、DMZ 网络: 192.168.1.0/24

2、NPM(外部): 192.168.1.250

3、局域网: 10.0.0.0/24

4、RSBackend 网络: 192.168.254.0/29

5、NPM(内部): 192.168.254.1

6、HBBS: 192.168.254.2

7、HBBR: 192.168.254.3

8、Docker 主机: Linux

二、准备Docker

需要确保已经安装了Docker。接下来,创建两个网络:一个用于RustDesk服务器后端,另一个用于DMZ。

 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

三、设置防火墙

配置从公共IP到NPM服务器的端口转发/NAT规则:

  • 21114 => 8080 TCP
  • 21115 => 21115 TCP
  • 21116 => 21116 TCP/UDP
  • 21117 => 21117 TCP
  • 21118 => 21118 TCP
  • 21119 => 21119 TCP
  • 443 => 443 TCP (如果需要使用SSL)

四、设置Docker Compose

创建一个”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   # Change This
    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

为以下端口配置流代理:

  • 21115 => 192.168.254.2:21115 (技术协作计划)
  • 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 (技术协作计划)
  • 80 => 127.0.0.1:8080 (TCP, 捕获本地流量)

配置代理主机:

  • 域名:rustdesk.example.com
  • 方案:http
  • 转发主机名/IP:192.168.254.2
  • 转发端口:21114
  • 阻止常见漏洞:已勾选
  • 可选:配置SSL(不需要,客户端需要在没有SSL的情况下进行通信)

六、RustDesk服务器及客户端

1、设置RustDesk服务器

  • 访问服务器界面 http://rustdesk.example.com 或 https://rustdesk.example.com(如果为Web界面配置了SSL)。

配置客户端:

  • ID 服务器:rustdesk.example.com
  • 中继服务器:rustdesk.example.com
  • API 服务器:http://rustdesk.example.com(如果已配置SSL,请使用HTTPS)
  • 密钥:{服务器密钥在这里}

七、最终结果

解决方案将可通过代理管理器从外部访问。将RustDesk服务器与其他系统隔离,特别是如果使用拆分配置系统并且在公共NPM后面有其他应用程序/站点。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。