来试试我的新探针wardpost?

koalalove 2026-07-03 17:42 1

前排提醒:没有开源


https://hub.docker.com/r/koalalove/monitor-dashboard



最新回复 (13)
  • oraclecloud 07-03 17:44
    1

    看着还行,不开源还是有疑虑的

  • CuriousQTF 07-03 17:45
    2

    楼主楼主,这是不是太简约了一点了。

  • astom 07-03 17:45
    3

    有什么特殊的吗

  • huilang 07-03 17:46
    4

    有什么不一样吗

  • koalalove 楼主 07-03 17:47
    5

    @astom #3


    功能特性



















































































    领域 功能说明
    资源 CPU 占用率、内存占用率、网络上/下行速率(Mbps/Kbps/MBps/KBps),均支持可配置阈值,并带有逐指标的持续时长(sustain duration) —— 一个指标必须连续超过其阈值达到配置的 duration 才会告警,因此瞬时尖峰会被忽略。每次持续超限只告警一次,待数值回落到阈值以下后重新就绪。
    服务 / 单元 周期性列出已启用 / 自启动的 systemd 单元,发现新单元时告警。不仅监控 .service,还监控 .timer.socket.path(常见的持久化载体),并扫描完整的 systemd 加载路径 —— 包含启用根目录以及运行时目录(来自 systemd-run/run/systemd/transient、生成器输出),而不仅是 *.wants/
    单元篡改检测 为每个受信单元的磁盘定义(fragment + drop-in)生成指纹,当其后续发生变化时告警(严重)—— 可捕获被劫持的 ExecStart,或对基线中已存在单元注入的 *.d/*.conf drop-in,这些是仅按名称追踪所无法发现的。
    端口 扫描监听中的 TCP/UDP 端口,发现新端口时告警(端口、协议、进程名、PID、发现时间)。
    可疑进程 对以下进程告警(严重):可执行文件运行自临时目录(/tmp/var/tmp/dev/shm)、为已删除的二进制文件、或由 memfd 支撑(无文件落地);命令行匹配已知攻击模式(反弹 shell、curl|sh、base64 解码执行、nc -e、矿工);父→子进程谱系为面向网络的守护进程派生出 shell/下载工具(webshell/RCE 特征);或进程名伪装成内核线程。每条告警都附带 MITRE ATT&CK 编号。无基线;按进程去重;allowlist 可抑制误报。
    持久化载体 监控 systemd 之外的持久化点 —— cron/etc/crontab/etc/cron.*、用户 crontab)、shell 初始化/etc/profile*bashrc、各用户的 dotfile)、SSHsshd_configauthorized_keys)、rc.local —— 为每个文件生成指纹,并在出现新增或修改时告警(严重)。/etc/ld.so.preload 单独处理:只要内容非空(库注入持久化),每次发现都会告警。
    出站连接 检查到外部地址的 ESTABLISHED 连接,并在以下情况告警:出站到可疑远端端口(矿池 / C2,例如 3333/4444/14444 → 警告),或到可选离线威胁情报黑名单中的 IP/CIDR(→ 严重)—— 可捕获监听端口监控盲区中的 C2 心跳和数据外泄。内部/回环流量会被忽略。
    DDoS 攻击源 检测本机被劫持后充当 DDoS 攻击源(被纳入僵尸网络对外发起洪水)。三路信号:出向数据包速率超过 threshold_tx_packets(pps)—— 捕获字节阈值看不见的小包洪水(UDP 洪水、反射放大、SYN 洪水);连接表中向单一外部目标维持过多并发连接(连接洪水,默认 ≥100 → 严重);以及大量**半开(SYN_SENT)**外联连接(SYN 洪水,默认 ≥200 → 严重)。均带 MITRE T1498 编号,只统计外部目标,可被 allowlist 抑制。
    文件完整性(FIM) 以较慢的节奏为关键系统二进制目录(/usr/bin/usr/sbin……)下的每个可执行文件生成指纹,当某个文件被替换时告警(严重,rootkit / 供应链),或出现新二进制文件时告警(警告);开启 watch_setuid 后,还会对新出现的 setuid/setgid 程序告警(提权后门)。
    SSH 登录 监控 SSH 登录成功事件,当来源 IP 此前从未出现过时告警(警告)—— 以来源 IP 为判定单位,登录用户仅作信息展示(无论以何用户登录,新 IP 都会告警)。读取主机认证日志(Debian/Ubuntu 的 /var/log/auth.log、RHEL 的 /var/log/secure),并以二进制 /var/log/wtmp 作为兜底(覆盖无文本认证日志的纯 journald 主机;use_wtmp)。增量读取并抗日志轮转;首次运行静默记录历史来源 IP。ignore_sources 可信任指定 IP/CIDR(如办公网、跳板机)。复用确认流程:在主控端确认一下即把可信来源 IP 加入基线。不做失败登录/暴力破解检测。
    公网 IP 发现 唯一会发起出站 HTTP 请求的采集器:以较慢节奏(默认 6h)查询多个 echo 服务,按多数表决得出主机出站公网 IP,独立解析 IPv4 与 IPv6 两个地址族。IPv4 为主(驱动国家/地区旗标),IPv6 为辅;echo 查不到 v6 时回退到主机自身全局单播接口地址。结果随心跳上报主控端,仅作信息展示,不产生告警。
    线路测试 按主控端下发的全局目标清单,以每个目标各自的间隔测量本机到目标的延迟,支持三种方式(单选):TCPing(测 TCP 建连耗时)、ICMP Ping(回显往返)、HTTP GET(测到响应耗时)。探测在独立 goroutine 里进行,与安全 tick 完全解耦;单次失败/超时记为丢包(不计入均值)。结果批量上报主控端,在主机详情抽屉里以折线图展示(详见主控端「线路测试」)。ICMP 类型需容器带 CAP_NET_RAW(compose 已配置)。仅在开启主控端上报时生效。
    信任前确认 require_ack 开启时,新发现的服务/端口不会被自动信任。它进入待确认队列并每个上报周期同步给主控端;由主控端负责通知操作员(网页待确认面板 + Telegram 交互面板,后者只发一条入口消息、点开在面板内分页逐项处理,并会重复提醒直到确认)。你在任一处确认无害(加入基线)、把整个属主进程加入白名单或忽略;主控端据此下发一条「决策」,agent 拉取后应用。把端口的属主进程加入白名单后,其当前及今后所有端口/连接都不再提醒(持久化且重启有效——专为每次绑随机端口的程序设计)。
    基线自动修剪 当一个服务不再 enabled、或一个端口停止监听时,它会从基线中移除 —— 因此若日后再次出现,会被当作新项重新校验。失败/空扫描永远不会清空基线。
    多主机身份 每条告警/日志都携带可配置的 hostname,因此在机群中可以分辨告警来自哪台机器。
    上报主控端 所有发现以「安全事件」(含类别 + MITRE 编号)上报主控端;周期心跳上送 CPU/内存/磁盘/网络指标与身份。告警的 Telegram 下发、按窗口合并、分级过滤都由主控端完成。
    状态 首次运行记录一份基线(对已存在的服务/端口不告警)。待确认(未确认)的项与基线均持久化为 JSON,重启后依然保留。
    日志 控制台 + 滚动文件日志(logrus + lumberjack)。任一单项检查中的 panic 都会被恢复 —— 主循环永不崩溃。
  • koalalove 楼主 07-03 17:48
    6

    @CuriousQTF #2

    个人审美不喜欢花里胡哨的 ^-^

  • yester 07-03 17:52
    7

    看着不错,简洁 ^-^

  • TomSoup 07-03 17:56
    8

  • xiaogang-119 07-03 17:59
    9

    不开源就怕哪咤

  • katorly 07-03 18:01
    10

    来ns的,不开源的话估计没几个人想用

  • xiyXSFF 07-03 18:08
    11

    不开源是吧,把文件拖到AI那里反逆向下,做不了就用ai一比一复刻 ^-^

  • koalalove 楼主 07-03 18:30
    12

    @xiyXSFF #11 也是,没什么开不开源了

  • 哪吒 07-03 20:05
    13

    这么好的项目赶紧开源

* 帖子来源NodeSeek
返回