V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fox0001
V2EX  ›  Windows

[求教]安全的远程桌面方案?

  •  
  •   fox0001 · 63 天前 · 3407 次点击
    这是一个创建于 63 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近因为 yq 需要远程办公。

    当前解决方案

    1. 主要是使用 Windows 的远程桌面 + 端口映射。
    2. 办公室的电脑,台式机,系统是 Win11 ,都开启了远程桌面,登录用户设置强密码。
    3. 网络有外网 IP ,可以设置路由器的端口映射,把 win11 的远程桌面端口,映射到外网 IP 端口。

    缺点

    担心基于登录用户的密码验证不够安全。而且远程桌面的端口直接映射到外网,不是一个好的做法。

    加强安全性的方案

    1. 由于办公室有部署 Debian 的电脑,可以使用 SSH 建立 Socks 作为办公室内网的入口。远程桌面基于该 Socks 连接,不用映射端口到外网。Linux 上的 Remmina 可以使用,但微软官方的远程桌面客户端(包括 iOS 和 Android ),不支持任何方式的网络代理。
    2. 微软的方案,应该是“远程桌面网关”。这个没玩过,需要再研究。

    疑问

    大家有无更好的解决方案?

    第 1 条附言  ·  53 天前

    最后选择使用SSH方案。

    1 使用策略

    1. 使用SSH服务作为安全验证。
    • 即路由只映射内网Debian服务器的SSH端口,外网可以通过SSH服务登录。
    1. 台式机设置wake on lan,实现远程开机。
    • 就是Debian安装wakeonlan命令,再写个shell脚本记录机器简称与对应MAC地址,实现更简单的开机操作。
    1. 使用SSH端口转发(Port Forwarding)访问远程桌面。
    • 就是把本地端口转发到办公室内网指定台式机的远程桌面端口,实现访问办公电脑。

    2 优点

    1. SSH更安全。可以强密码验证或密钥验证。
    2. 各个平台都有SSH客户端,包括Windows(PuTTY或OpenSSH)、Linux、Android、iOS(Termius)。
    3. 使用端口转发,解决微软官方客户端不支持代理的问题。

    3 缺点

    1. 对使用人员的要求较高,例如需要学会SSH命令。
    2. 办公室网络需要能够外网访问。
    45 条回复    2022-12-10 11:38:49 +08:00
    jhytxy
        1
    jhytxy  
       63 天前
    duo
    2fa

    每次 rdp 登录要在手机通过一下
    v2wtf
        2
    v2wtf  
       63 天前
    自己搞一个端口转发就行了,我用 frp 转的,稳定得一比。
    swulling
        3
    swulling  
       63 天前   ❤️ 2
    加一层 VPN ,比如 tailscale ,zerotier 等

    这样你的远程桌面就不会暴露在公网上。
    xyjincan
        4
    xyjincan  
       63 天前
    开启 ssh 服务,并且设置好密钥登录,关闭密码登录,然后 ssh 客户端隧道端口转发连本机 RDP 服务
    registerrr
        5
    registerrr  
       63 天前
    用 frp 转一下端口,密钥设的长一点,复杂一点。
    fox0001
        6
    fox0001  
    OP
       63 天前
    @jhytxy #1 谢谢,我记录一下,作为备选方案。由于使用了第三方服务,可能领导不会优先选用
    fox0001
        7
    fox0001  
    OP
       63 天前
    @xyjincan #4 你意思是,每台 Win11 上都开启 ssh 服务,然后映射到外网的是本机 ssh 端口,而不映射 rdp 端口?其实就是使用本机的 ssh 服务登录,再登录 rdp 吧?
    fox0001
        8
    fox0001  
    OP
       63 天前
    @registerrr #5 已经可以外网访问了,为什么需要 frp 转发端口?是不是 frp 有更好的安全验证?
    fox0001
        9
    fox0001  
    OP
       63 天前
    @swulling #3 以前我们也是通过部署“open 威屁嗯”服务,实现安全的内网访问,但是访问时需要安装““open 威屁”客户端。也作为备选方案吧
    xyjincan
        10
    xyjincan  
       63 天前
    只看了你的标题,回复后才看下面的

    你是全办公室都这么连接呀,直接在 debian 上搞一个排 10XXX 端口映射到各个 XXX 机器上啊,然后大家用一个 debian 账户密钥登录,连到这个网络,就可以 rdp 连接到自己的机器了
    crab
        11
    crab  
       63 天前   ❤️ 1
    直接 ssh -L 本地端口:win11 内网 IP:3389 到 debian 。(前提内网的 win11 能被 debian 访问。)
    本地 远程桌面链接就是 127.0.0.1:本地端口
    xyjincan
        12
    xyjincan  
       63 天前
    强调一下,客户端不能使用 127.0.0.1 ,3389 端口连接机器,ssh 用其它端口转发到本地,连接时指定好 [IP:端口] 就行了
    registerrr
        13
    registerrr  
       63 天前
    @fox0001 漏看了,有外网 IP 直接密码设复杂点,远程桌面就行了,安全性由系统自己保证。
    frencis107
        14
    frencis107  
       63 天前 via Android
    fox0001
        15
    fox0001  
    OP
       63 天前 via Android
    @crab #11 谢谢。这个我试试
    ptrxeu
        16
    ptrxeu  
       63 天前
    teamviewer corporate or logmein pro
    第三方维护的软件, 第三方承担的责任(法律上和技术上). 很多时候我们是在花钱买 compliance
    yujizmq
        17
    yujizmq  
       63 天前
    堡垒机? jumpserver 之类的
    lwch
        18
    lwch  
       63 天前
    我写了一个远程办公的软件,需要自己部署服务器端程序可以试试

    https://github.com/lwch/natpass
    fox0001
        19
    fox0001  
    OP
       63 天前
    @yujizmq #17 对!我都忘了这个,还可以不用装远程桌面客户端了~
    redbeanzzZ
        20
    redbeanzzZ  
       63 天前
    我觉得有公网 IP 搭个 VPN 连 3389 是最好的,有显卡需求就 moonlight
    cnbatch
        21
    cnbatch  
       63 天前
    用 VPN 连回去就可以了,如果因为需要安装客户端而不想用 Open VPN ,那就用 Windows 自带的那些,比如 PPTP 、L2TP ,都是 Windows 内置的

    而且搭建 PPTP 和 L2TP 服务器端也不难,配置比 Open VPN 更加简便
    H0u5er
        22
    H0u5er  
       63 天前
    zero trust 方案可以实现类似 VPN 的效果,而且附带 IAM 系统,方便管理账号权限。

    部署方法
    1.你家的网络接入方案提供的硬件盒子进行上网
    2.生产环境接入另外一个硬件盒子进行上网

    参考厂商
    Cato Network
    fox0001
        23
    fox0001  
    OP
       63 天前
    @yujizmq #17 试过 Next Terminal ,远程 Windows 还行,但远程 Mac 太卡(使用 VNC 协议)~不过也不失为一个比较好的可选方案
    photon006
        24
    photon006  
       63 天前
    docker 一行命令启动 wireguard: https://github.com/WeeJeWel/wg-easy

    路由器转发 udp 端口

    客户端连上就当内网使用,速度还快。
    ixinshang
        25
    ixinshang  
       63 天前
    最近折腾 zerotier
    snoopygao
        26
    snoopygao  
       62 天前
    千万别用什么 frp zerotier 之类的网络穿透东西,你有公网,并且能做 NAT ,至少用 openvpn 这样的专业软件,或才 wireguard 更好,因为这两个都可以只映射 UDP 端口,被扫描攻击的可能性很低
    leafre
        27
    leafre  
       62 天前
    zerotier
    newmlp
        28
    newmlp  
       62 天前
    VPN ( wireguard )+远程桌面
    tbwisk
        29
    tbwisk  
       62 天前
    RustDesk 开源的,远程控制桌面
    zerotier 可以 ssh 到目标机器上面进行开发,或者 vscode ssh
    mayunqing1230
        30
    mayunqing1230  
       62 天前
    准备两台电脑,任意一台电脑接入公网,另一台只允许内网,远程桌面连接接入公网的电脑,然后内网里远程桌面连接另一台
    goodryb
        31
    goodryb  
       62 天前
    传统且成熟的方案是采用 VPN ,给每个用户分配 VPN 账号即可,低成本使用路由器自带 VPN server ;有安全或者审计要求请采购企业级解决产品。

    自己不要瞎搞,出问题背锅
    zealic
        32
    zealic  
       62 天前
    Wireguard/Tailscale
    Asimov01
        33
    Asimov01  
       62 天前
    FRP 转发用了一年多了,没啥问题,密码不要过简单就好
    sobev
        34
    sobev  
       62 天前
    tailscale + windows remote
    TrojanKing
        35
    TrojanKing  
       62 天前
    rustdesk
    thtznet
        36
    thtznet  
       62 天前
    RDP 套 VPN 最简单和最安全的方案
    naturegreen
        38
    naturegreen  
       62 天前
    1. openvpn udp 高位端口
    2. rdp 改掉端口
    3. 本地一台机器做 openvpn 客户端,用 iptables 转发服务器端口到本机的 3389
    jaylee4869
        39
    jaylee4869  
       62 天前
    我司全套 VMWare VDI (Horizon)
    szpunk
        40
    szpunk  
       62 天前
    "但微软官方的远程桌面客户端(包括 iOS 和 Android ),不支持任何方式的网络代理。" 用 Proxifier 就好。
    byte10
        41
    byte10  
       62 天前
    搞一个 120 元 的 x86 或 50 元的 arm 盒子,docker 跑一个 vpn ,24 小时开机,链接回来就可以了,这样 安全。
    matzoh
        42
    matzoh  
       61 天前
    我是 rdp + tailscale
    troilus
        43
    troilus  
       60 天前
    我是 rdp+v2ray
    fox0001
        44
    fox0001  
    OP
       53 天前
    @crab #11 最后选择了你的方案,谢谢!
    fox0001
        45
    fox0001  
    OP
       53 天前
    @swulling #3
    @redbeanzzZ #20
    @cnbatch #21
    @newmlp #28
    @goodryb #31
    @thtznet #36
    @naturegreen #38
    @byte10 #41

    谢谢各位回复。“虚拟专用网”确实是成熟简单的解决方案,但是这三个字母被用歪了。部署可能需要备案。后面怕被误解并出现非技术问题,还是先不采用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   3549 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 09:02 · PVG 17:02 · LAX 01:02 · JFK 04:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.