BililiveRecorder icon indicating copy to clipboard operation
BililiveRecorder copied to clipboard

检测访问环境,如果可能是无密码公网访问就拒绝服务

Open Genteure opened this issue 1 year ago • 3 comments

Problem

经常出现无密码暴露公网的录播姬,有些跟着各种逐步教程搭建录播姬 webui 的小白用户不自觉把含有敏感信息的录播姬直接暴露出去,安全隐患比较大。

Proposal

添加一个命令参数和环境变量选项,在没有设置这个参数、并且没有在录播姬里设置用户名密码的情况下添加一个检测逻辑,如果怀疑是公网访问的则直接返回 HTTP 401 或 412 错误。

(暂定)命令参数: --http-bypass-checks (暂定)环境变量: BREC_HTTP_BYPASS_CHECKS

可以用来检测是否是公网访问的参数:

  • 实际来源 IP 是否在 IPv4 LAN 段或 IPv6 Link-Local/Unique-Local 段
  • 是否存在 reverse proxy 常用的 upstream header (如 X-Forwarded-For 等)
  • 使用的 Host 是域名或非 LAN IP

Genteure avatar Jan 23 '24 16:01 Genteure

可以不检查是否是公网,而是随机生成账号密码显示在cli上,然后单独给个关闭登录的选项(

jkfujr avatar Feb 22 '24 14:02 jkfujr

可以不检查是否是公网,而是随机生成账号密码显示在cli上,然后单独给个关闭登录的选项(

这样的话普通的本地使用也受影响。

Genteure avatar Feb 23 '24 09:02 Genteure

可以不检查是否是公网,而是随机生成账号密码显示在cli上,然后单独给个关闭登录的选项(

这样的话普通的本地使用也受影响。

看起来问题不大,简洁点嘛(

jkfujr avatar Feb 24 '24 08:02 jkfujr