V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
qianlongzt
V2EX  ›  NAS

飞牛登录 token 生成逻辑安全问题,并且尽快更新 rsa private key

  •  
  •   qianlongzt · 3 小时 53 分钟前 · 572 次点击

    根据已有公开信息,可以通过/usr/trim/etc/rsa_private_key.pem 来生成 token 。 token 应该在内存中,不落盘,或者做好权限管理。从而减少文件泄露导致的风险。

    应该改为安全的随机数来生成, 比如 golang https://pkg.go.dev/crypto/[email protected] , 或者是 /dev/urandom ,不要用成 math/rand 或者是 /dev/random

    对应用应该加强管控,尽可能的不适用 root 运行程序,同时使用比如 SELinux AppArmor 限制文件读取访问,

    需要 尽快更新现有的/usr/trim/etc/rsa_private_key.pem 文件,避免历史有人保存数据,从而再次入侵,参考如下

    #!/bin/bash
    
    # 备份老的 rsa 密钥对
    FN_RSA_BACKUP_DIR=/usr/trim/etc/backup/fn-rsa-$(date +"%Y-%m-%dT%H-%M-%S%z")
    mkdir -p "$FN_RSA_BACKUP_DIR"
    mv /usr/trim/etc/rsa_private_key.pem /usr/trim/etc/rsa_public_key.pem "$FN_RSA_BACKUP_DIR"
    
    # 重新生成 rsa 密钥对
    openssl genrsa -out /usr/trim/etc/rsa_private_key.pem 2048
    openssl rsa -in /usr/trim/etc/rsa_private_key.pem -pubout -out /usr/trim/etc/rsa_public_key.pem
    
    
    # 查看已经备份 且 生成 rsa 密钥对
    ls -lah "$FN_RSA_BACKUP_DIR"
    ls -lah /usr/trim/etc/rsa_*.pem
    
    7 条回复    2026-02-05 17:26:29 +08:00
    5200721
        1
    5200721  
       3 小时 23 分钟前
    这次事件之后应该没人敢在公网裸奔了吧,我是套了 Tunnel+zero trust 了
    tiiis
        2
    tiiis  
       3 小时 19 分钟前
    还好之前没开过那个外网,一直 tailscale
    adminpro
        3
    adminpro  
       3 小时 15 分钟前
    waf 规则里面直接把/usr /trim /etc 屏蔽掉
    m1nm13
        4
    m1nm13  
       1 小时 42 分钟前
    我猜大概率是飞牛的傻逼产品经理可能有要求过什么,通过飞牛 connect 登录之后就不需要再登录,所以说为了实现这个功能就必须云端/固件端能互相验证对方的密钥. 这样才能做到只登录一次.因为飞牛 Connect 大概率就只是一个类似 FRP 的反向代理的东西而已。
    qianlongzt
        5
    qianlongzt  
    OP
       1 小时 40 分钟前   ❤️ 1
    @m1nm13 和这个无关,飞牛 connect 应该只是个反代。
    而漏洞本身是在 nas 本体上的
    m1nm13
        6
    m1nm13  
       1 小时 35 分钟前
    @qianlongzt 不可能会允许任意一个人访问飞牛 connect 反代出来的网址,不然不就是等于直接塞到公网上了. 被人随便打, 前端必然有一个云端测的登录验证
    m1nm13
        7
    m1nm13  
       1 小时 34 分钟前
    @m1nm13 #6 要用一个秘钥通过两个不一样的秘钥系统, 那不就是飞牛现在的这个东西吗
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2556 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:01 · PVG 19:01 · LAX 03:01 · JFK 06:01
    ♥ Do have faith in what you're doing.