logo NodeSeekbeta

【安全加固】Komari Agent 纯监控版 - 彻底移除远程控制+权限限制,防止探针暴雷

最近哪吒监控暴雷事件提醒我们:任何带有远程控制功能的agent,都有潜在的安全风险。即使通过参数关闭远程,代码还在就有被利用的可能。所以我fork了Komari Agent借助Claude改造成了纯监控版本。

🔗 项目地址:https://github.com/xultral/komari-agent

核心改造

彻底删除 1,529 行远程控制代码,从源码层面消除安全隐患。

虽然方法比较激进,但我是真的怕了

修改点如下:

  • ✅ 完全删除远程终端代码
  • ✅ 完全删除远程命令执行
  • ✅ 完全删除自动更新逻辑
  • ✅ 强制禁用所有远程功能,配置文件无法重新启用
  • ✅ 经过完整安全审查(见仓库 SECURITY_REVIEW.md)

与官方版的区别:
不是简单加个--disable-web-ssh参数,而是从源码层面彻底移除。面板仍然可以发起远程请求,但是agent由于没有相关代码,不会有任何响应,仅会在日志中体现收到了请求

l8ty47LCOw1YDi4AowsYkqhqLe4ziIXV.webp


使用方法(详细文档见readme.md

在安装agent时将原仓库改成自己的GitHub用户名即可,如我的是xultral。建议fork后自行编译(可以让AI再审阅一下代码的安全性),或者也可以使用我编译好的(GitHub Actions自动编译的)。
EXU2KJjTHJMjobwuMZroJOaIXcXvTivG.webp


安全加固策略

一、 权限配置(以linux为例)

前置条件: 已运行 install.sh 安装脚本,agent 已安装到 /opt/komari/agent (Linux) 或 /usr/local/komari/agent (macOS)。

1. 创建专用低权限用户
# 创建系统用户(无登录 shell)
# 使用 mmmmonitor 作为用户名(低调,不易被扫描识别,可以替换成自己喜欢的名字)
sudo useradd -r -s /bin/false -d /opt/komari mmmmonitor

# 设置目录权限
sudo chown -R mmmmonitor:mmmmonitor /opt/komari
2. 修改已安装的 systemd 服务配置

安装脚本已创建 /etc/systemd/system/komari-agent.service,现在修改它使用专用用户:

# 停止服务
sudo systemctl stop komari-agent

# 编辑服务文件
sudo vim /etc/systemd/system/komari-agent.service

User=root 改为 User=mmmmonitor,并添加安全加固选项:

[Unit]
Description=Komari Agent Service
After=network.target

[Service]
Type=simple
User=mmmmonitor
Group=mmmmonitor
ExecStart=/opt/komari/agent -e https://your-dashboard.com -t YOUR_TOKEN
WorkingDirectory=/opt/komari
Restart=always

# 安全加固
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/opt/komari
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
RestrictRealtime=true
RestrictNamespaces=true

# 资源限制
LimitNOFILE=65536
MemoryLimit=256M
CPUQuota=50%

[Install]
WantedBy=multi-user.target

重载并重启:

sudo systemctl daemon-reload
sudo systemctl start komari-agent
sudo systemctl status komari-agent

📖 Windows 和 Docker 部署: 见 DEPLOYMENT.md


二、使用反代并通过cloudflare设置安全规则,仅放行指定ip、区域或者指定asn

1. 打开https://dash.cloudflare.com/
2. 找到Komari的反代域名
3. 左侧栏:安全性 → WAF → 自定义规则
4. 创建自定义规则(如:仅允许中国大陆 IP 访问)

三、验证安全性

从 Dashboard 发送远程命令,观察 agent 日志:

sudo journalctl -u komari-agent -f

相关文档

  • 这个好

  • 虽然但是,安装时打2个勾更省事 xhj021

  • @yester #2 只要代码还在就有被利用的可能

  • 可以直接覆盖安装吗,还是要先卸载原版

  • @X1721 #3 只要装了探针,能跟主控通信,任何逻辑都有可以利用的风险。所以删不删代码,在我看来意义没有那么大。

  • @好名字 #4 可以覆盖安装,脚本会删除旧版本的agent

  • 我擦。你要是早点出,就用你这个了。

  • 不错不错

  • @laughing6608 #5 仅上报该上报的数据,不对宿主机执行任何越权指令,这样放心一点

  • 应该要更进一步,把agent放在容器里跑

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有62364位seeker

🎉欢迎新用户🎉