V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dier
V2EX  ›  问与答

鉴于目前基于 RDP 攻击的勒索病毒泛滥,如何安全的访问内网的 windows

  •  
  •   dier · 2021-08-13 09:44:50 +08:00 · 4086 次点击
    这是一个创建于 959 天前的主题,其中的信息可能已经有所发展或是发生改变。

    偶尔有需要访问内网 windows 的需求,虽然能直接开放 3389,但前几天也看到 V 友有 RDP 被攻击的帖子。

    • 目前我的解决方案是即用即开,用完就关。但还是过于麻烦。

    • 试过用 SSH 隧道,但发现 RDP 没办法配置代理。

    • 还试过 OpenVPN,但不知道是不是被检测到干扰的原因,配置完之后的一段时间整个网络非常差。关掉之后一段时间网络又恢复正常了。

    想问一下大家用的哪种隧道技术比较好?

    第 1 条附言  ·  2021-08-13 11:11:22 +08:00
    通过尝试不同的 SSH 隧道端口转发方式,已经成功通过 SSH+私钥访问+端口转发访问到内网的 windows 机器了。

    也感谢大家提供的第三方软件,我也会尝试研究一下并记录下来。
    第 2 条附言  ·  2021-08-13 16:15:10 +08:00
    假设 有 A B C 三台主机,A 、B 能互通,B 、C 能互通,A 、C 不通。

    现在要 A 访问 C 的远程桌面

    1 、修改一下 B 的 SSH 配置,vi /etc/ssh/sshd_config 将 GagewayPorts 配置为 yes 。并重启 SSHD 服务
    2 、B 配置 SSH 访问,并映射一个端口到公网,让 A 能访问到。建议配置成 SSH 只允许通过密钥访问,降低用户被暴力破解的风险
    3 、在 A 上(我的是 windows 系统)打开[putty]!( https://www.putty.org/)。先正常配置 SSH 连接的信息(用户、IP 地址、端口)。
    4 、putty 左侧的选项中,切换到 Connection--SSH--Tunnels 。分别填写 Source port (本机随便写一个未占用的端口) 和 Destination (要连接 C 主机的地址和端口),下面的类型选 Local 就可以了,然后点击 Add 添加到转发端口列表中。如果有多个需要转发的,可以添加多个
    5 、从左边切换到最顶部的 Session 中,填写一个 Saved Sessions 名称,点击右边的 save 保存一下设置,方便下次调用。
    6 、点击 Open 就会连接到 B 主机,连接成功之后,就可以通过 127.0.0.1+刚才配置的 Source port 来进行访问,例如我配置的是 8000 端口,对应的是 C 主机的 3389 。那就可以打开 A 主机的远程桌面连接输入 127.0.0.1:8000 进行连接了。

    第四步的参考图

    https://i.bmp.ovh/imgs/2021/08/b168828d835c9c56.png
    42 条回复    2021-08-15 14:06:03 +08:00
    ysc3839
        1
    ysc3839  
       2021-08-13 09:53:16 +08:00 via Android   ❤️ 1
    > 试过用 SSH 隧道,但发现 RDP 没办法配置代理。

    直接用 ssh 的端口转发功能。
    dier
        2
    dier  
    OP
       2021-08-13 09:55:33 +08:00
    @ysc3839 # 这个就跟在防火墙上的端口映射是一样的呀?也是直接暴露的是 RDP 协议。我还是希望以隧道的方式联通内网再方式,安全性更好一点
    PerFectTime
        3
    PerFectTime  
       2021-08-13 09:58:47 +08:00   ❤️ 2
    wireguard 回家,配置局域网 ip 走 wg

    dier
        4
    dier  
    OP
       2021-08-13 10:04:32 +08:00
    @PerFectTime 感谢,我去研究一下
    fonlan
        5
    fonlan  
       2021-08-13 10:26:03 +08:00   ❤️ 1
    @dier SSH 端口转发怎么就和端口映射一样了?端口转发的时候还是走的 SSH 协议
    ysc3839
        6
    ysc3839  
       2021-08-13 10:34:06 +08:00
    @dier 不一样。
    aitaii
        7
    aitaii  
       2021-08-13 10:38:14 +08:00   ❤️ 1
    ZeroTier
    desdouble
        8
    desdouble  
       2021-08-13 10:48:09 +08:00 via Android   ❤️ 1
    用现成的商业产品。续断内网穿透稳定可靠,最重要的是有 rdp/ssh 爆破防护,专项保护 3389 。但比较起来,决明子异地组网这样的 sdwan 方案是最合适的,p2p 打洞成功的话网速很快,安全性又很高。适合自己用。

    免费产品也很多,openvpn 不适合,楼上提到的 wireguard 值得一试。
    oldphper
        9
    oldphper  
       2021-08-13 10:52:43 +08:00
    修改默认端口,限制 IP 访问。
    desdouble
        10
    desdouble  
       2021-08-13 10:57:43 +08:00 via Android
    另外勒索病毒猖獗,及时打补丁定期备份重要资料在任何时候都是必要的。不然内网有其他主机沦陷,自己也难独善其身。
    jsyzdej
        11
    jsyzdej  
       2021-08-13 10:59:46 +08:00 via Android   ❤️ 1
    3389 改成 22
    dier
        12
    dier  
    OP
       2021-08-13 11:02:47 +08:00
    @fonlan
    @ysc3839 经过尝试不同的转发方式,已经可以了,抱歉是之前自己了解得不够。
    qping
        13
    qping  
       2021-08-13 11:05:51 +08:00
    改端口能预防么
    Puteulanus
        14
    Puteulanus  
       2021-08-13 11:10:26 +08:00
    https://zhuanlan.zhihu.com/p/59488488
    不知道 Windows 有没有好用的服务端
    dier
        15
    dier  
    OP
       2021-08-13 11:12:15 +08:00   ❤️ 1
    @qping 主要有固定 IP,架不住别人一通扫
    shyrock
        16
    shyrock  
       2021-08-13 11:18:51 +08:00
    所以症结是 RDP 的身份验证太容易被爆破吧? RDP 没有提供证书一类的验证选项?
    dier
        17
    dier  
    OP
       2021-08-13 11:20:49 +08:00
    @jsyzdej 只要端口暴露在外面,就有风险,RDP 还是太容易出问题了。目前 SSH+私钥算是安全性很高的方式了。而且我也在 SSH 机器上加了防止暴力破解的措施,同一 IP 错误三次就永久拉黑。
    loginv2
        18
    loginv2  
       2021-08-13 11:23:06 +08:00
    FRP 的 stcp 功能,好处是不直接暴露 rdp 协议,缺点是登录需要先开 frpc 的本地代理
    dier
        19
    dier  
    OP
       2021-08-13 11:26:56 +08:00
    @shyrock 貌似需要结合域控才能使用证书验证,我也没验证过是否有可行的方案。而且 19 年流行的 CVE-2019-0708 漏洞无需身份验证且无需用户交互就能发送特制请求,执行任意命令,太吓人了
    webshe11
        20
    webshe11  
       2021-08-13 11:28:09 +08:00 via Android
    运行一个 ss,只暴露这个端口,用局域网 ip 连接
    troilus
        21
    troilus  
       2021-08-13 12:36:04 +08:00
    用 zerotier 吧
    woshijidan
        22
    woshijidan  
       2021-08-13 12:41:51 +08:00 via Android
    一手 vpn 无视任何病毒
    goodryb
        23
    goodryb  
       2021-08-13 13:20:59 +08:00
    转发什么的不知道会不会影响速度。
    我是设置了网卡启动,要用的时候 ssh 回到家里某个 Linux 上,然后通过指令唤醒笔记本,用完了关机。
    LiYanHong
        24
    LiYanHong  
       2021-08-13 13:23:33 +08:00
    IPBan,了解一下
    pcbl
        25
    pcbl  
       2021-08-13 13:30:16 +08:00 via Android
    @troilus
    @aitaii zerotier 做不到网络唤醒还有共享路由器上的梯子,这两个有解决办法吗
    qping
        26
    qping  
       2021-08-13 14:20:19 +08:00
    我看了下貌似是简单密码比较容易受攻击, 把密码复杂度提高应该能解决一部分问题吧
    @dier #15
    yanzhiling2001
        27
    yanzhiling2001  
       2021-08-13 14:35:38 +08:00
    我又得吹一下 frp 了,选择流量加密和 stcp 模式,会自动生成证书校验
    sigl0p
        28
    sigl0p  
       2021-08-13 15:28:04 +08:00
    > 已经成功通过 SSH+私钥访问+端口转发访问到内网的 windows 机器了

    可以传授一下经验,介绍一下是用哪些软件实现的这一套隧道的吗?
    CloudMx
        29
    CloudMx  
       2021-08-13 15:36:51 +08:00
    我把密码设置为超级长的随机数,然后改了下默认端口。
    ausfron
        30
    ausfron  
       2021-08-13 15:53:34 +08:00
    @dier 咋实现的,求指路
    dier
        31
    dier  
    OP
       2021-08-13 16:15:51 +08:00
    @sigl0p
    @ausfron 加上了,你们看一下上面的附言
    dier
        32
    dier  
    OP
       2021-08-13 16:21:02 +08:00
    @LiYanHong 这个在用,确实能拦截很多,但也是怕遇到 CVE-2019-0708 这种漏洞不知道能不能挡得住
    ausfron
        33
    ausfron  
       2021-08-13 16:34:22 +08:00
    @dier 其实我想知道 而且我也在 SSH 机器上加了防止暴力破解的措施,同一 IP 错误三次就永久拉黑
    这个是怎么实现的
    dier
        34
    dier  
    OP
       2021-08-13 17:02:59 +08:00
    @ausfron 你可以参考一下 #24 楼 LiYanHong 说的 IPBan, 就支持屏蔽。我 linux 上没用这个,是自己写的一个 shell 。定时检测 secure 日志,把尝试登录失败超过一定次数的 IP 写入 /etc/hosts.deny 中
    dier
        35
    dier  
    OP
       2021-08-13 17:07:52 +08:00
    @oldphper 主要问题就是发起端没办法固定 IP
    Ansen
        36
    Ansen  
       2021-08-13 17:22:55 +08:00
    最近有什么漏洞?我给十几个同事用 FRP 映射了 IP,瑟瑟发抖中……
    alfawei
        37
    alfawei  
       2021-08-13 21:11:38 +08:00 via iPhone
    @shyrock 我开了,但我的 windows 需要用 Microsoft 账号登录,用户名是邮箱地址,不是很容易登录吧
    dier
        38
    dier  
    OP
       2021-08-13 22:42:52 +08:00
    @Ansen 到不是最近有什么漏洞,我用的环境还有 win7 所以还是要防一防以前的漏洞
    ruixue
        39
    ruixue  
       2021-08-13 23:17:53 +08:00
    这两年没有再曝出能直接绕过 RDP 登录鉴权的严重漏洞,所以用非 3389 端口+10 位以上包含大小写、数字、符号的随机密码就足够了
    gBurnX
        40
    gBurnX  
       2021-08-14 04:07:49 +08:00
    @ruixue 没被爆过新漏洞,不代表没有漏洞。比如 360 安全团队里就有一堆 0day,他们只在参加大赛时利用一下。
    matrix67
        41
    matrix67  
       2021-08-14 09:11:54 +08:00
    有外网云主机明显 openvpn 更合适啊。在外网云主机上 drop 掉所有其他流量,不是美滋滋。
    ausfron
        42
    ausfron  
       2021-08-15 14:06:03 +08:00
    @dier 已经实现了,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2765 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:06 · PVG 20:06 · LAX 05:06 · JFK 08:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.