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

请教 Tailscale 的 InsecureForTests 的安全性

  •  
  •   liuzimin · 30 天前 · 2125 次点击

    因为嫌国内域名备案麻烦,所以搭建 Tailscale 的 Derp 服务器时,我采用的 InsecureForTests=true 方式(就是网上教程教的免域名直接用 IP 方式搭建 Derp ),服务器开启了--verify-clients 。用了好久目前情绪稳定。

    最近屡见很多 V 友用 FRP 被攻破的事情,突然让我警觉起来,反思自己用的 InsecureForTests=true 会存在什么风险吗?

    36 条回复    2024-11-27 16:01:54 +08:00
    user100saysth
        1
    user100saysth  
       30 天前
    自己家里随意,千万别在公司网络搞穿透 。。。。
    traffic
        2
    traffic  
       30 天前   ❤️ 1
    InsecureForTests=true 开了之后 --verify-clients 无效,或者说所有自签名证书、IP 方式都无效。
    安全风险就是别人偷你 DERP 中继用,别的没什么。
    毕竟 DERP 是一个独立组件,除了 --verify-clients 之外不和其他东西通讯,也无法解密流量。
    ntedshen
        3
    ntedshen  
       30 天前   ❤️ 1
    frp 是个内网穿透工具而 tailscale 是个 vpn ,虽然经常一起出现但是完全是两类东西。。。

    frp 用 tcp 模式开放 3389 和在公网服务器上开放 3389 等价,属于自挂东南枝行为。。。
    想安全得开 stcp/xtcp 然后把端口绑定到客户端本地。。。
    CatCode
        4
    CatCode  
       30 天前
    换 zerotier 这个自建不需要域名 反正是服务器 ip 地址写死的
    m1nm13
        5
    m1nm13  
       30 天前
    既然 VPN 组网很麻烦(起码在国内体验很差)
    FRP 直接内网穿透容易被打下来
    有没有什么工具能在 FRP 穿透之后加在访问时一层通用的验证.这样就不容易被打下来.自己用多输一遍密码问题也不大
    Byleth
        6
    Byleth  
       30 天前
    @m1nm13 你把 DERP 搭好的话,tailscale 的体验不算差,跑满上传没问题
    hingle
        7
    hingle  
       30 天前
    没问题的,开启 --verify-clients ,并保证 DERP 能访问到 tailscaled.sock 就行
    LeeYD
        8
    LeeYD  
       30 天前
    @m1nm13 Nginx 层设置一个密码
    liuzimin
        9
    liuzimin  
    OP
       30 天前
    @hingle 但是前面不是有个老哥说设置 InsecureForTests=true 之后 --verify-clients 会失效?
    FawkesV
        10
    FawkesV  
       30 天前
    同,我也是一样的配置教程。
    hingle
        11
    hingle  
       30 天前   ❤️ 1
    @liuzimin 不会, --verify-clients 是 wireguard 验证; InsecureForTests 是 DERP HTTPS 证书验证,不相关的。
    m1nm13
        12
    m1nm13  
       30 天前
    @LeeYD 我学学看怎么搞
    m1nm13
        13
    m1nm13  
       30 天前
    @Byleth 国内服务器太难搭,阿里云怎么也搞不起来,国外服务器秒撘,就是延迟很高
    SenLief
        14
    SenLief  
       30 天前
    derp 无所谓的,它只是中转流量,流量都是加密的,所以说用公共的也不是不行。
    Byleth
        15
    Byleth  
       30 天前
    @SenLief 会被白嫖带宽与流量
    liuzimin
        16
    liuzimin  
    OP
       30 天前 via Android
    @m1nm13 安装拉取不动的话,最近看有人说可以用 ssh -R 让云服务器流量走本地中转,然后本地梯子开启允许局域网。(我没试过)
    SenLief
        17
    SenLief  
       30 天前
    @Byleth 登录不就好了吗?现在登录不好用了吗?
    yqs112358
        18
    yqs112358  
       30 天前
    国内服务器用非标端口就行了呀,随便搞个什么 51849 之类的端口开 derp ,又不用备案,只要有个域名就行
    yqs112358
        19
    yqs112358  
       30 天前   ❤️ 1
    尽量别用 InsecureForTests 吧,官方在 issue 里面也说了以后会移除这个功能,只是调试用的
    yqs112358
        20
    yqs112358  
       30 天前
    前面兄弟们回的都是啥呀,没一个切题的
    yqs112358
        21
    yqs112358  
       30 天前
    @m1nm13 自建 derp 有现成的 docker 镜像直接能用 https://github.com/fredliang44/derper-docker
    liuzimin
        22
    liuzimin  
    OP
       30 天前
    blackguester
        23
    blackguester  
       30 天前
    @m1nm13 阿里云很容易搭呀,即便 docker 拉不了,先安个 tailscaled ,在国外 VPS 上弄个 exitnode ,一切就很舒心了
    liuzimin
        24
    liuzimin  
    OP
       30 天前
    @yqs112358 域名好像还要搞一个自动续的证书?推荐用 acme.sh 吗?
    Byleth
        25
    Byleth  
       30 天前
    @SenLief #17 如果没有 verify clients ,别人知道了你的 DERP 地址,就能在控制平面上设置,然后别人的节点就白嫖这个 DERP 了
    Byleth
        26
    Byleth  
       30 天前
    @yqs112358 #19 2022 年说的,到现在还没移除
    SenLief
        27
    SenLief  
       30 天前
    @Byleth 这概率有点低啊,它还要知道端口啊我记得。
    yqs112358
        28
    yqs112358  
       30 天前
    @liuzimin 确实,这个真的只是权宜之计。自动续证书的话用 acme.sh 和 certbot 都可以,我用的是后者
    m1nm13
        29
    m1nm13  
       30 天前
    @blackguester 我的阿里云...访问不了任何国外 IP,tailscale 安装了都连不上
    guanzhangzhang
        30
    guanzhangzhang  
       30 天前
    没问题阿,你 peer 的 nodekey 或者 authkey 授权才能介入,然后 derp 部署要求和一个 tailscale.sock 获取授权的 peer 的
    Aixtuz
        31
    Aixtuz  
       30 天前
    顺道请教个 Frp 的安全问题:
    用上"自定义 TLS 协议加密",安全性大概在什么程度呢?
    还是否需要再加上 stcp ?
    ntedshen
        32
    ntedshen  
       29 天前
    @Aixtuz 你只用 tcp 那就等于没加密,就这么简单。。。
    这是防中间人的不是防被黑的。。。
    Aixtuz
        33
    Aixtuz  
       29 天前
    @ntedshen #32 感谢指点~
    zwzwzwzwzxt
        34
    zwzwzwzwzxt  
       29 天前
    我现在就是国内的服务器绑的域名,没备案。只要不用 443 端口就好了,derp 命令行可以指定启动端口的。目前 3 个月了也没什么问题。
    traffic
        35
    traffic  
       29 天前   ❤️ 1
    @traffic #2
    更正一下
    --verify-clients 某个 x 原生实验室 Blog 里面说的
    ```
    特别声明:只有使用域名的方式才可以通过认证防止被白嫖,使用纯 IP 的方式无法防白嫖,你只能小心翼翼地隐藏好你的 IP 和端口,不能让别人知道。
    ```
    我信以为真了。

    实际看了源码以后,感觉应该是有用的
    https://github.com/tailscale/tailscale/blob/e87b71ec3c7bded3fadf44cb9374df5de5e213d6/derp/derp_server.go#L1265
    就是从 /var/run/tailscale/tailscaled.sock/ localapi/v0/whois?addr= 检查本地 tailscled 里面有没有这个 wireguard public key
    和 IP 不 IP 的应该没关系,不过我也没细看,可能还有别的什么坑?
    m1nm13
        36
    m1nm13  
       29 天前   ❤️ 1
    @m1nm13 #29 更新一下结果. 我发现我这服务器甚至连 8.8.8.8 都 ping 不通之后,心态崩了去找阿里云售后 battle(主要是看剩余时间居然还有一年),一通整之后他给我换了个 IP(八成从哪个黑名单里面弄出来了),问题解决了,能跑 derp 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5818 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 453ms · UTC 02:36 · PVG 10:36 · LAX 18:36 · JFK 21:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.