收起左侧

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

3
回复
183
查看
[ 复制链接 ]

14

主题

56

回帖

0

牛值

初出茅庐

根据已有**息,可以通过/usr/trim/etc/rsa_private_key.pem 来生成token。

token应该在内存中,不落盘,或者做好权限管理。从而减少文件泄露导致的风险。

应该改为安全的随机数来生成,

比如golang https://pkg.go.dev/crypto/rand@go1.25.7 , 或者是 /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

收藏
送赞 1
分享

5

主题

60

回帖

0

牛值

fnOS系统内测组

楼主说得对,这些问题确实存在隐患。

补充几点建议:

1. 私钥文件权限设置为600(只有所有者可读写):
   ```
   chmod 600 /usr/trim/etc/rsa_private_key.pem
   chown root:root /usr/trim/etc/rsa_private_key.pem
   ```

2. 考虑使用JWT替代自定义token,JWT有成熟的标准实现,支持过期时间、刷新机制

3. 添加token过期机制(比如24小时过期),减少token泄露的风险

4. 记录token生成和验证的审计日志,便于安全审计和问题排查

5. 定期轮换密钥(比如每3个月),可以设置自动化脚本

6. 私钥应该只在内存中使用,或者考虑使用硬件安全模块(HSM)存储

重新生成密钥后,所有旧的token都会失效,用户需要重新登录,建议提前通知用户。
JWT 其实在这个漏洞里面是防护不了的。只能到内存里面,而且还不能让他落盘  详情 回复
昨天 19:16
密钥权限确实是漏了  详情 回复
昨天 19:04

14

主题

56

回帖

0

牛值

初出茅庐

昨天 19:04 楼主 显示全部楼层
༄猫腻儿Dr. 发表于 2026-2-5 18:59
楼主说得对,这些问题确实存在隐患。

补充几点建议:

密钥权限确实是漏了

14

主题

56

回帖

0

牛值

初出茅庐

昨天 19:16 楼主 显示全部楼层
༄猫腻儿Dr. 发表于 2026-2-5 18:59
楼主说得对,这些问题确实存在隐患。

补充几点建议:

JWT 其实在这个漏洞里面是防护不了的。只能到内存里面,而且还不能让他落盘
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则