logoNodeBBS
首页分类标签
© 2026 NodeBBS•API 文档•关于
Built with NodeBBS v1.7.5

[乌萨奇整活]利用Zero-Trust-Lite保护你的探针面板,Komari为例。

开放中•Usagi发布于 2 个月前

大家好,阿拉乌萨奇。

作为有着几十台小鸡的黄色怪叫兔,探针是必不可少的。那么如此同时,方便运维的同时,必不可少的一样也是安全!安全!还是踏马的安全!

然后有人就会说,那我不开密码登录不就行了。

那么在家常便饭般的爆破下,要如何解决密码登录的安全问题,这就是今天的课题。

首先,这不是一个严格意义上的零信任,算是一个Lite版本的零信任,没有设备姿态等企业级的零信任验证条件,但也有足够的安全性。其次源码不开源是因为保护其自研TOTP算法,避免token泄露后被一网打尽。

1、

先去 https://nodebbs.537233.xyz 开设一个你的个人IP路径,牢记出现的path和token,下面会用到。当然如果你觉得好用的话,欢迎去 https://ipm.537233.xyz 升级专业版支持我一下,为爱发电。 https://nodebbs.537233.xyz 是我为Nodebbs用户创建的公益站,非必要请勿外传。

那么很简单,我的KomariDashboard运行在25774的端口下,那我的Zero-Trust-Lite运行在25775的时候下。

当然 Zero-Trust-Lite 的仓库在https://github.com/Usagi537233/Zero-Trust-Lite/tree/main

2、

Zero-Trust-Lite的config.json如下

[ { "name": "admin-panel", "listen": "127.0.0.1:25775", "backend": "http://127.0.0.1:25774", "token": "yourtoken", "key": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9d0e1f2", "adminpath": "/youradminpanelpath", "wlsession": "168h", "nmsession": "15m", "whitelisturl": "", "interval": 60, "failedtime": "5/2m", "block": "30m" } ]
  • yourtoken用上面 https://nodebbs.537233.xyz 注册后出现的token
  • key:可以用以下命令生成: tr -dc 'a-z0-9' < /dev/urandom | head -c 64 来生成
  • whitelisturl就是上面 https://nodebbs.537233.xyz 注册后出现的path和token的 示例:https://nodebbs.537233.xyz/yourpath/iplist?token=yourtoken

3、

此时此刻我们还要去nginx改一下反代路径

location / { proxy_pass http://127.0.0.1:25775; #Zero-Trust-Lite的端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; # 禁用代理缓冲 proxy_buffering off; # 允许大文件上传(50M) client_max_body_size 50M; }

如果你小鸡是用的网页连接探针的话,Nginx记得加上

location ~ ^/api/clients/(uploadBasicInfo|report)$ { proxy_pass http://127.0.0.1:25774; #默认的KomariDashboard端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; # 禁用代理缓冲 proxy_buffering off; # 允许大文件上传(50M) client_max_body_size 50M; }

跳过/api/clients/uploadBasicInfo和/api/clients/report的验证

如果你Nginx是在Cloudflare CDN 后面的话把

proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

改为

proxy_set_header X-Real-IP $http_cf_connecting_ip; proxy_set_header X-Forwarded-For $http_cf_connecting_ip;

当然这个就按照你自己的实际情况来决定。

4、

然后此时此刻,你再访问你的Komari探针页面将会出现验证,你再访问 https://nodebbs.537233.xyz/yourpath/totp?token=yourtoken 后把得到的数字填入验证,就可以直接使用了,当然如果你访问用的IP

  • 不在白名单中:每 "nmsession": "15m"(15 分钟)重新验证一次。
  • 在白名单中:"wlsession": "168h"(7 天)内同一设备自动续期。 (开启隐私模式或清除 cookies 会触发重新验证)

当然,这两项都可以修改。

好了,这个时候你可能要问了,那我要如何展现我这么多台鸡给别人看,但是又能保护到自己的探针不被爆破呀?

我们下期见,下课!

请先登录后再发表评论

U

Usagi

初来乍到
满月礼
初试啼声
抛砖引玉
酿蜜者
新年快乐

分类

技术开发
浏览数119