AlwaysUp 和 FireDaemon 的比较分析 FireDaemon Pro 完整底层原理(分层架构、SCM 交互、进程托管内核)

FireDaemon Pro 完整底层原理(分层架构、SCM 交互、进程托管内核)

一、整体分层架构(自上而下完整链路)

plaintext
运维入口层:GUI / CLI / XML模板 / Fusion WebAPI
        ↓ 调用 advapi32.dll 全套SCM RPC API(一代+Vista二代扩展接口)
SCM RPC客户端层(FireDaemon 前台管理模块)
        ↓ RPC 本地管道 \\.\pipe\ntsvcs
SCM 服务控制管理器(svchost.exe -k netsvcs,系统核心)
        ↓ 注册 FireDaemon.exe 为标准Windows服务
FireDaemon 后台宿主服务进程(常驻Session 0,ServiceMain入口)
        ↓ Win32 进程隔离组件(JobObject + 匿名管道 + LSA令牌模拟)
业务子进程(EXE/Jar/Python/BAT/GUI程序)
核心结论:FireDaemon Pro 是双模块一体化架构,分为「前台 SCM 管理客户端」与「后台服务宿主代理」两部分,同时打通完整 SCM 底层 API 与 Windows 进程隔离内核能力,区别于 NSSM/WinSW 仅实现基础宿主、缺失高级 SCM 封装。

二、模块 1:前台管理程序(GUI/CLI)底层原理 —— 增强型图形化 sc.exe

1. SCM API 全覆盖封装(核心差异化优势)

普通工具 NSSM/WinSW 仅封装 CreateServiceW/ChangeServiceConfigW 基础一代 API;FireDaemon 完整封装 Vista 新增全套 ChangeServiceConfig2W 扩展接口,无需额外执行 sc.exe 做安全加固:
SCM 扩展 InfoLevel 底层封装能力 可视化配置入口
SERVICE_CONFIG_SERVICE_SID_INFO 服务独立 SID 类型配置 安全选项卡
SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 系统特权裁剪最小权限 安全特权编辑器
SERVICE_CONFIG_TRIGGER_INFO 事件触发器(网络 / 登录 / 设备) 触发器面板
SERVICE_CONFIG_MANAGED_SERVICE_ACCOUNT_INFO MSA/gMSA 托管账户绑定 登录账户配置
SERVICE_CONFIG_PREFERRED_NODE_INFO NUMA 节点 CPU 亲和绑定 资源调度面板
SERVICE_CONFIG_FAILURE_ACTIONS / FLAG 精细化崩溃恢复策略 重启策略面板
SERVICE_OBJECT_SECURITY 服务 DACL/SACL 权限 ACL 安全权限编辑器

2. 注册表持久化逻辑

  1. 新建托管服务时,调用 CreateServiceW 将 ImagePath 写入注册表指向 FireDaemon.exe;
  2. 业务程序路径、日志、资源限制、调度规则全部存入该服务项下独立 Parameters 子键(二进制 Blob 存储完整配置结构);
  3. 修改配置时,前台模块直接调用 ChangeServiceConfig2W 更新内存 SCM 数据库并同步注册表,实时生效无需重启 SCM。

3. 远程交互底层

  • 本地操作:直接 RPC 连接本机 ntsvcs 管道;
  • 多服务器集群:对接 FireDaemon Fusion Web 平台,通过 WinRM / 加密 TCP 通道下发 API 指令,远端主机前台模块本地执行 SCM 调用。

三、模块 2:后台宿主服务进程(核心托管内核)底层实现

1. 标准 Windows 服务实现基础

FireDaemon.exe 原生实现完整 Windows 服务规范:
  1. 程序入口 ServiceMain,启动后立刻调用 RegisterServiceCtrlHandlerEx 向 SCM 注册控制回调;
  2. 持续监听 SCM 下发控制码(SERVICE_CONTROL_START/STOP/PAUSE),不会触发普通程序 1053 超时报错;
  3. 自身长期驻留 Session 0,作为 SCM 与业务程序的中间代理层。

2. 子进程创建与隔离(JobObject 企业级管控,免费工具无此能力)

完整创建链路

  1. 宿主读取注册表 Parameters 内业务程序配置(路径、参数、工作目录、自定义环境变量);
  2. 调用 LSA 接口模拟指定账户(LocalSystem / 虚拟账户 / MSA / 域账号),生成定制安全令牌(附加服务独立 SID、裁剪最小特权);
  3. 创建 Windows Job 对象,将所有业务子 / 孙进程绑定至 Job 容器;
    • 停止服务时:先发送 WM_CLOSE 优雅终止 GUI / 控制台程序,超时后调用 TerminateJobObject 递归杀死全部进程,彻底杜绝僵尸进程;
  4. 通过 CreateProcessAsUser 启动业务子进程,绑定 Job 对象、重定向标准流管道。

资源硬限制底层(NSSM/WinSW 缺失)

依托 JobObject 内核 API 实现硬件资源隔离:
  • CPU:绑定指定 NUMA 节点、固定 CPU 核心、设置最大 CPU 占用阈值;
  • 内存:限制进程虚拟内存 / 工作集上限,内存溢出自动触发重启;
  • 句柄 / IO:限制打开文件、注册表句柄数量,防止资源泄漏。

3. 日志捕获底层(匿名管道重定向)

  1. 创建一对匿名读写管道,将子进程 stdout/stderr 重定向至管道写入端;
  2. 宿主后台线程持续读取管道输出,按配置规则落地日志文件;
  3. 内置日志滚动逻辑:按文件大小 / 日期自动切割、归档旧日志,底层通过文件锁保证多进程日志不混乱;
  4. 同时输出 ETW 追踪事件,写入系统事件日志留存启停、崩溃审计记录。

4. 多层健康检测自愈引擎(远超 SCM 原生 failure 策略)

SCM 原生仅能基于进程退出码粗粒度重启,FireDaemon 内置三层监控:
  1. 进程层监控:捕获子进程退出码,支持自定义白名单(0 = 正常退出不重启,非 0 异常触发恢复);
  2. 资源层监控:持续轮询 Job 对象 CPU / 内存占用,长时间超限判定程序卡死;
  3. 业务层探针:原生支持 TCP 端口连通检测、HTTP 健康接口 GET 校验、自定义 PowerShell/Bat 健康脚本;
  4. 阶梯退避重启调度:自定义重试间隔阶梯(10s→30s→5min)、最大连续失败阈值,规避无限循环重启。

5. SCM 控制信号中转逻辑

SCM 下发停止 / 暂停控制码仅能发送给宿主 FireDaemon 进程,底层中转流程:
  1. SCM 发送 SERVICE_CONTROL_STOP 至宿主回调函数;
  2. 宿主转发关闭信号给子进程;
  3. 等待子进程优雅退出,超时后销毁 Job 对象强制清理;
  4. 向 SCM 上报 SERVICE_STOPPED 状态,同步更新 SCM 内存数据库状态。

四、两大独有底层技术(免费工具无实现)

1. Session 0 GUI 交互配套底层(联动 FireDaemon Zero + ZeroInput 驱动)

Vista 引入 Session 0 隔离后,服务进程无法直接弹出窗口到用户桌面:
  1. FireDaemon ZeroInput:数字签名内核驱动,移除 Session0 黑屏遮罩层,恢复键鼠输入;
  2. FireDaemon Zero:用户态 IPC 服务,建立 Session0 与桌面 Session 之间的跨会话命名管道;
  3. FireDaemon 宿主进程通过 IPC 管道转发 GUI 窗口画面、键鼠事件至用户桌面,无需修改业务程序代码。

2. 托管账户深度集成(MSA/gMSA)

底层调用 ChangeServiceConfig2W MSA 专用接口,对接 lsass.exe LSA 安全服务:
  1. 自动读取域托管账户密钥,无需明文密码存储在注册表;
  2. 服务启动时由 LSA 自动获取账户登录令牌,支持 Kerberos 委派认证,满足域环境等保最小权限规范。

五、与 sc.exe/ NSSM 底层核心差异对比

1. 对比 sc.exe(系统原生工具)

底层维度 FireDaemon Pro sc.exe
运行形态 前台 SCM 客户端 + 后台常驻服务宿主 一次性 RPC 客户端,执行后立刻退出
进程托管 JobObject 完整隔离,日志 / 监控 / 自愈全套 无托管能力,仅能启动原生服务程序,普通程序报 1053
SCM API 覆盖 全套一代 + 二代扩展 API 可视化封装 完整底层 API,仅纯文本命令行操作
资源管控 内核 JobObject 限制 CPU / 内存 / NUMA 无资源隔离底层接口
业务监控 多层健康探针、阶梯重启自愈 仅 SCM 顶层粗粒度 failure 重启

2. 对比 NSSM / WinSW(开源免费宿主)

底层维度 FireDaemon Pro NSSM/WinSW
ChangeServiceConfig2W 封装 原生完整封装 SID / 触发器 / MSA/ACL 完全不封装,需手动调用 sc 补充
进程隔离 JobObject 递归清理全部子进程 仅终止主进程,子进程易残留僵尸
资源硬限制 内核级 CPU / 内存 / NUMA 调度 无底层资源管控能力
账户体系 原生支持 MSA/gMSA 虚拟账户可视化配置 仅支持本地 / 域明文账号
监控自愈 端口 / HTTP / 脚本多层业务健康检测 仅基础退出码判断重启

六、完整执行流程示例:托管一个 Java Jar 程序

  1. GUI 填写 Jar 路径、JVM 参数、运行账户、日志路径、CPU 资源限制、服务 SID;
  2. 前台模块调用 CreateServiceW 在 SCM 注册 FireDaemon.exe 为服务,业务配置写入注册表 Parameters;
  3. 执行 sc start MyJavaSvc / GUI 点击启动,RPC 请求发送至 SCM;
  4. SCM 拉起 FireDaemon 后台宿主进程(驻留 Session0);
  5. 宿主读取注册表配置,调用 LSA 生成带独立 SID 的账户安全令牌;
  6. 创建 Job 对象,通过 CreateProcessAsUser 启动 java.exe 子进程,绑定 Job、重定向 stdout/stderr 管道;
  7. 后台监控线程持续采集进程资源、执行 HTTP 健康探针;
  8. 若 Jar 程序异常崩溃,触发阶梯退避重启逻辑,Job 对象清理残留 Java 子进程;
  9. 接收 SCM 停止信号时,优雅关闭 JVM,超时强制销毁 Job,上报停止状态至 SCM。

FireDaemon Pro 完整配套产品链(分层、依赖、联动、底层协作全解析)

图中 7 款产品分为四层配套链路:核心业务层、集群管控层、Session0 交互配套层、密码学安全底座层,形成单机运维→集群管控→图形交互→证书加密的完整闭环。

一、层级总览(依赖链路)

plaintext
 
 
 
顶层集群管控:FireDaemon Fusion
        ↓ 跨主机远程对接
单机核心底座:FireDaemon Pro(整条配套链的唯一业务核心,所有工具围绕它服务)
├─ 分支1:Session 0 GUI交互配套(工控/后台图形程序专用)
│  ├ FireDaemon Zero(可视化会话查看)
│  └ FireDaemon ZeroInput(内核键鼠驱动,Zero强制依赖)
└─ 分支2:密码学/证书安全配套(全产品线通用加密底座)
   ├ 底层加密库:FireDaemon OpenSSL(所有加密工具强制依赖)
   ├ 在线集群证书监控:FireDaemon Certify One
   └ 离线证书/哈希工具:FireDaemon Lozenge
 

二、第一层:核心主产品 FireDaemon Pro(整条配套链的基石)

image
FireDaemon Pro GUI界面
 

定位

付费商业核心,服务宿主 + 完整 SCM 底层 API 管理一体化工具,其余 6 款均为配套辅助组件,无 Pro 则无完整业务场景。

配套联动点

  1. 对外对接 Fusion:开放本地 REST/WinRM 接口,接收集群平台下发的服务创建、启停、安全配置指令;
  2. 对内对接 Zero/ZeroInput:托管 GUI 程序时,将 Session0 窗口画面、键鼠事件转发至 Zero;
  3. 安全联动 Certify One/Lozenge:Pro 服务绑定 SSL 证书,由 Certify One 做过期监控,Lozenge 生成证书文件;
  4. 加密底层依赖 OpenSSL:Pro 内置加密逻辑统一使用厂商预编译 OpenSSL 库。

底层配套价值

唯一同时具备「普通程序服务托管」+「全套 SCM 扩展 API(SID / 特权 / 触发器 / ACL)」能力,是所有配套工具的业务载体。

三、第二层:集群远程管控配套 — FireDaemon Fusion

定位

付费 Web 集中管理平台,多服务器统一运维上层入口,批量管控全网所有主机的 FireDaemon Pro 服务 + 系统原生 Windows 服务FireDaemon。

与 Pro 联动底层逻辑

  1. 每台业务主机安装 FireDaemon Pro,开放加密 TCP/WinRM 监听端口;
  2. Fusion 服务端通过 TLS1.3 加密通道连接所有远端 Pro 实例;
  3. 下发操作指令时,远端 Pro 本地调用 Advapi32 SCM API 执行配置修改;
  4. 提供 REST API,对接 Ansible、CI/CD、监控告警平台做自动化集成;
  5. 权限隔离:RBAC 角色分级,不同操作员仅能管理指定服务器 / 服务,支持 Passkey 免密登录。

依赖加密底座

Fusion 的 HTTPS、证书校验、后量子安全握手,底层全部依赖 FireDaemon OpenSSL。

四、第三层:Session 0 交互配套双组件(工控 GUI 服务专用)

Vista 引入 Session0 隔离后,后台服务无法直接弹出窗口到用户桌面,两款配套工具打通跨会话图形交互,必须成对部署。

1. FireDaemon Zero(付费,可视化会话工具)

联动 Pro 逻辑

  • 读取 Pro 托管的 GUI 服务注册表配置,建立 Session0 与用户桌面的跨会话 IPC 命名管道;
  • 捕获 Session0 内 Pro 启动的 GUI 程序窗口,转发画面到当前登录桌面;
  • 支持在 Session0 内启动高权限 CMD/PowerShell,调试后台服务。

强制依赖 ZeroInput

无 ZeroInput 内核驱动时,Session0 画面黑屏、无法接收鼠标键盘输入。

2. FireDaemon ZeroInput(免费内核驱动,底层支撑)

底层配套原理

EV 签名内核驱动,移除 Windows Session0 黑屏遮罩层,拦截键鼠输入事件转发至后台会话;
  • 仅配合 FireDaemon Zero 使用,单独安装无任何功能;
  • 工业自动化、SCADA 后台 GUI 服务场景必备配套。

五、第四层:密码学安全配套三件套(全产品线通用加密底座)

1. FireDaemon OpenSSL(免费,底层加密库底座)

配套定位

厂商定制加固、EV 签名的 Windows OpenSSL 发行包,是 Fusion、Certify One、Lozenge、FireDaemon Pro 全部加密功能的唯一底层依赖FireDaemon。

联动场景

  • Fusion Web 服务 HTTPS 加密、TLS 握手;
  • Certify One 全网 SSL 证书扫描、链校验、后量子 ML-KEM 算法检测;
  • Lozenge 证书生成、文件哈希、签名校验;
  • FireDaemon Pro 服务 SSL/TLS 端口监听、证书加载解析。

2. FireDaemon Certify One(付费,在线证书监控)

与整条链路联动

  1. 扫描全网所有主机(含 FireDaemon Pro 托管服务、Web、数据库)的 SSL/TLS 证书;
  2. 检测证书过期、链断裂、弱加密套件、CAA DNS 权限异常;
  3. 联动邮件告警,可直接调用 Lozenge 生成替换证书,推送至 Pro 更新服务证书配置;
  4. 底层密码运算完全基于 FireDaemon OpenSSL 3.6+。
image
Certify One 命令行工具
 

3. FireDaemon Lozenge(免费离线密码学工具)

配套分工(和 Certify One 互补)

  • Certify One:在线主动扫描监控存量证书风险;
  • Lozenge:离线证书 / 哈希生成工具,用于新服务上线前自签证书、CSR 请求、文件完整性校验(SHA3/BLAKE2/ML-DSA 后量子签名);

联动 Pro 场景

使用 Lozenge 生成服务 SSL 证书后,直接导入 FireDaemon Pro 配置面板绑定给托管业务程序。

六、配套链路部署组合方案(分场景)

场景 1:单机小型业务(Java/Python/ 脚本托管)

最简组合:FireDaemon Pro
 
免费可选补充:Lozenge(生成证书)+ OpenSSL(标准化加密依赖)

场景 2:单机工控 / 带 GUI 后台程序

完整单机组合:FireDaemon Pro + FireDaemon Zero + ZeroInput
 
配套加密:Lozenge + OpenSSL

场景 3:企业多服务器集群、统一运维监控

全链路完整配套:
  1. 每台业务主机:FireDaemon Pro + Zero+ZeroInput(如有 GUI 服务)+ OpenSSL
  2. 管控服务器:FireDaemon Fusion + Certify One + Lozenge

七、付费 / 免费区分总表

表格
 
 
 
产品 授权类型 配套依赖关系
FireDaemon Pro 商业付费(单服务器授权) 整条链路核心,其余工具均配套它
FireDaemon Fusion 商业付费 依赖 OpenSSL;对接多台 Pro
FireDaemon Zero 商业付费 必须搭配 ZeroInput;配套 Pro 的 GUI 服务
FireDaemon ZeroInput 永久免费 Zero 强制底层依赖,无独立用途
FireDaemon Certify One 商业付费 依赖 OpenSSL;联动 Pro/Fusion 做证书监控
FireDaemon Lozenge 永久免费 依赖 OpenSSL;离线证书生成
FireDaemon OpenSSL 永久免费 全系列加密工具底层强制依赖

八、配套链核心优势(对比 NSSM/WinSW+sc 零散组合)

  1. 全链路底层统一兼容:所有组件共享同一套 SCM API、OpenSSL 加密库、IPC 通信规范,无第三方工具适配冲突;
  2. 分层闭环运维:单机托管→集群管控→图形调试→证书安全一站式配套,无需混搭 sc.exe、OpenSSL、第三方证书工具;
  3. 企业合规配套完整:原生支持 MSA/gMSA、服务 SID、ACL 权限、证书生命周期监控,满足等保 / 工业安全规范;
  4. 统一厂商技术支持:整套配套均为 FireDaemon 官方维护,版本迭代同步更新,无多工具兼容 bug。

 

 

FireDaemon Pro 完整全流程逻辑链

分为五大独立逻辑链路:服务创建注册逻辑、服务启动运行托管逻辑、SCM 控制中转逻辑、集群远程管控联动逻辑、证书安全配套联动逻辑,覆盖从安装配置到运维监控全生命周期。

一、链路 1:新建 / 注册业务服务完整逻辑(GUI/CLI/XML 通用)

 
 
 
 
 
 
 
预览
查看代码
 

校验项:路径/账户/权限/资源阈值/触发器

 
1. 将FireDaemon.exe写入服务ImagePath
2. 同步写入注册表HKLM\CCS\Services\SvcName
 

SID/特权/触发器/MSA/NUMA/故障策略 写入SCM内存

 
 
 

业务程序路径、日志规则、健康探针、调度计划

 

运维人员录入配置

前台管理模块参数校验

Advapi32 SCM RPC客户端

调用CreateServiceW 基础API

SCM内存数据库

系统注册表持久层

批量调用ChangeServiceConfig2W全套扩展API

SetServiceObjectSecurity 设置服务ACL权限

序列化业务配置存入注册表Parameters子项

可选:导出XML配置模板

 

校验项:路径/账户/权限/资源阈值/触发器

 
1. 将FireDaemon.exe写入服务ImagePath
2. 同步写入注册表HKLM\CCS\Services\SvcName
 

SID/特权/触发器/MSA/NUMA/故障策略 写入SCM内存

 
 
 

业务程序路径、日志规则、健康探针、调度计划

 

运维人员录入配置

前台管理模块参数校验

Advapi32 SCM RPC客户端

调用CreateServiceW 基础API

SCM内存数据库

系统注册表持久层

批量调用ChangeServiceConfig2W全套扩展API

SetServiceObjectSecurity 设置服务ACL权限

序列化业务配置存入注册表Parameters子项

可选:导出XML配置模板

 

关键逻辑说明

  1. 不会把业务程序直接注册给 SCM,而是将自身FireDaemon.exe注册为标准 Windows 服务;
  2. 业务全部自定义配置(日志、资源限制、健康检测)不占用 SCM 标准字段,独立存放在Parameters二进制配置块;
  3. 一次性封装全套 SCM 一代 + 二代扩展 API,无需拆分多条sc命令分步执行;
  4. 所有配置修改实时同步 SCM 内存数据库,无需重启系统生效。

二、链路 2:服务启动 & 进程托管核心运行逻辑(SCM 启动后后台宿主完整执行流)

 
 
 
 
 
 
 
预览
查看代码
 
 
 
 

模拟指定账户:LocalSystem/虚拟账户/MSA/域账号

 
 
 
 
 
 
 
 
 

异常崩溃/资源超限

正常退出码0

 

SCM收到StartService RPC请求

SCM拉起FireDaemon.exe宿主进程,常驻Session 0

宿主ServiceMain入口,注册SCM控制回调HandlerEx

读取注册表Parameters完整业务配置

LSA安全令牌生成模块

生成定制安全令牌:附加服务SID、裁剪最小特权

重建JobObject,重新拉起业务程序

匿名管道创建:重定向子进程stdout/stderr

CreateProcessAsUser 启动业务程序子进程,绑定JobObject+管道

三大后台监控线程并行运行

日志线程:读取管道输出,按规则切割归档日志

资源监控线程:轮询JobObject CPU/内存,超限判定卡死

业务健康探针线程:TCP/HTTP/自定义脚本存活校验

子进程正常运行

持续上报状态至SCM

子进程退出/崩溃

匹配退出码白名单判断是否触发重启

阶梯退避重启调度器,间隔递增重试

停止服务,向SCM上报Stopped状态

 
 
 
 

模拟指定账户:LocalSystem/虚拟账户/MSA/域账号

 
 
 
 
 
 
 
 
 

异常崩溃/资源超限

正常退出码0

 

SCM收到StartService RPC请求

SCM拉起FireDaemon.exe宿主进程,常驻Session 0

宿主ServiceMain入口,注册SCM控制回调HandlerEx

读取注册表Parameters完整业务配置

LSA安全令牌生成模块

生成定制安全令牌:附加服务SID、裁剪最小特权

重建JobObject,重新拉起业务程序

匿名管道创建:重定向子进程stdout/stderr

CreateProcessAsUser 启动业务程序子进程,绑定JobObject+管道

三大后台监控线程并行运行

日志线程:读取管道输出,按规则切割归档日志

资源监控线程:轮询JobObject CPU/内存,超限判定卡死

业务健康探针线程:TCP/HTTP/自定义脚本存活校验

子进程正常运行

持续上报状态至SCM

子进程退出/崩溃

匹配退出码白名单判断是否触发重启

阶梯退避重启调度器,间隔递增重试

停止服务,向SCM上报Stopped状态

 

核心独有逻辑点

  1. JobObject 兜底:所有业务子 / 孙进程全部纳入容器,停止时一键递归销毁,无僵尸进程;
  2. 三层监控递进:进程退出码→硬件资源占用→业务层健康探针,粒度远超 SCM 原生sc failure;
  3. 安全令牌前置处理:启动业务前提前裁剪特权、绑定服务独立 SID,实现最小权限运行。

三、链路 3:SCM 启停 / 控制信号中转逻辑(Stop/Pause/ 自定义控制码)

 
 
 
 
 
 
 
预览
查看代码
 
 

分支1:STOP停止指令

 
 

子进程未退出

 
 

分支2:PAUSE/CONTINUE暂停恢复

分支3:自定义控制码

运维操作:sc stop / GUI停止 / PowerShell Stop-Service

RPC发送控制码至SCM

SCM转发控制码至FireDaemon宿主进程回调函数

优雅终止流程

向业务子进程发送关闭信号

等待超时阈值(可自定义)

TerminateJobObject 强制销毁全部进程树

清空日志管道,写入停止审计事件

向SCM返回SERVICE_STOPPED状态码

转发信号至业务程序,同步更新SCM状态

透传至业务子进程,支持自定义业务指令

 
 

分支1:STOP停止指令

 
 

子进程未退出

 
 

分支2:PAUSE/CONTINUE暂停恢复

分支3:自定义控制码

运维操作:sc stop / GUI停止 / PowerShell Stop-Service

RPC发送控制码至SCM

SCM转发控制码至FireDaemon宿主进程回调函数

优雅终止流程

向业务子进程发送关闭信号

等待超时阈值(可自定义)

TerminateJobObject 强制销毁全部进程树

清空日志管道,写入停止审计事件

向SCM返回SERVICE_STOPPED状态码

转发信号至业务程序,同步更新SCM状态

透传至业务子进程,支持自定义业务指令

 

逻辑差异对比 sc.exe

sc 直接将控制码下发给业务程序,普通无服务回调程序直接 1053 报错;FireDaemon 作为中间层中转,兼容无服务规范的普通控制台 / 脚本程序。

四、链路 4:FireDaemon Fusion 集群远程配套联动逻辑

 
 
 
 
 
 
 
预览
查看代码
 
 
 
 
 
 

运维登录Fusion Web管理界面

Fusion服务端TLS加密TCP/WinRM下发指令

各远端主机FireDaemon Pro前台模块监听加密端口

本地调用Advapi32 SCM API执行配置/启停操作

SCM更新本机服务数据库,拉起/停止宿主进程

远端Pro实时采集服务状态、CPU/内存、日志摘要

回传监控数据至Fusion网页仪表盘

Fusion告警引擎:检测服务宕机/资源溢出/证书过期

邮件/SNMP/自定义Webhook告警推送

 
 
 
 
 
 

运维登录Fusion Web管理界面

Fusion服务端TLS加密TCP/WinRM下发指令

各远端主机FireDaemon Pro前台模块监听加密端口

本地调用Advapi32 SCM API执行配置/启停操作

SCM更新本机服务数据库,拉起/停止宿主进程

远端Pro实时采集服务状态、CPU/内存、日志摘要

回传监控数据至Fusion网页仪表盘

Fusion告警引擎:检测服务宕机/资源溢出/证书过期

邮件/SNMP/自定义Webhook告警推送

 

配套逻辑定位

Fusion 不直接操作远端 SCM,仅做指令转发与监控聚合,所有底层 SCM 操作由目标主机本地 FireDaemon Pro 执行,规避跨机器 SMB IPC$ 端口、权限防火墙限制。

五、链路 5:Session0 GUI 交互配套联动逻辑(Pro + Zero + ZeroInput)

 
 
 
 
 
 
 
预览
查看代码
 
 

底层支撑:移除Session0黑屏遮罩、转发键鼠输入

 
 

FireDaemon Pro宿主启动GUI业务子进程(驻留Session0)

跨会话IPC管道建立

FireDaemon Zero用户态程序(桌面Session运行)

ZeroInput 内核签名驱动

捕获Session0内GUI窗口画面,渲染至用户桌面

桌面键鼠操作反向IPC回传给Session0业务程序

 
 

底层支撑:移除Session0黑屏遮罩、转发键鼠输入

 
 

FireDaemon Pro宿主启动GUI业务子进程(驻留Session0)

跨会话IPC管道建立

FireDaemon Zero用户态程序(桌面Session运行)

ZeroInput 内核签名驱动

捕获Session0内GUI窗口画面,渲染至用户桌面

桌面键鼠操作反向IPC回传给Session0业务程序

 

逻辑依赖关系

ZeroInput 是底层驱动先决条件,无驱动时 Zero 仅能看到黑屏,无法交互 GUI 程序。

六、链路 6:证书安全配套完整逻辑(Pro + Certify One + Lozenge + OpenSSL)

 
 
 
 
 
 
 
预览
查看代码

生成自签证书/CSR签名请求

 
 

证书即将过期/存在漏洞

 
 

Lozenge离线工具(底层依赖OpenSSL)

SSL证书文件

批量更新Pro服务证书配置

Certify One 定时扫描集群所有主机服务端口

校验证书有效期、加密套件、链完整性

触发告警,联动Lozenge生成新证书

全组件加密底座:FireDaemon OpenSSL

为Pro/Fusion/Certify One/Lozenge统一提供TLS/哈希/后量子加密运算

生成自签证书/CSR签名请求

 
 

证书即将过期/存在漏洞

 
 

Lozenge离线工具(底层依赖OpenSSL)

SSL证书文件

批量更新Pro服务证书配置

Certify One 定时扫描集群所有主机服务端口

校验证书有效期、加密套件、链完整性

触发告警,联动Lozenge生成新证书

全组件加密底座:FireDaemon OpenSSL

为Pro/Fusion/Certify One/Lozenge统一提供TLS/哈希/后量子加密运算

 

分工逻辑区分

  1. Lozenge:离线证书生成、文件哈希校验(事前部署阶段);
  2. Certify One:在线全网证书巡检、风险监控(运行运维阶段);
  3. OpenSSL:全产品线统一加密底层,所有证书、TLS 通信依赖该库。

七、整体全链路串联总逻辑(端到端完整业务闭环)

  1. 部署阶段:Lozenge 生成 SSL 证书 → FireDaemon Pro GUI/XML 新建服务,配置资源限制、SID、触发器、绑定证书,调用 SCM API 完成注册;
  2. 运行阶段:SCM 启动 FireDaemon 宿主 → JobObject 隔离执行业务程序,日志 / 资源 / 健康多线程监控,崩溃自动阶梯重启;
  3. 本地调试(GUI 程序):搭配 Zero+ZeroInput 跨会话查看操作后台图形界面;
  4. 集群运维:Fusion 集中管控多台主机 Pro 实例,统一下发启停 / 配置、聚合监控数据、异常告警;
  5. 安全生命周期:Certify One 持续监控全集群证书风险,到期自动联动 Lozenge 生成替换证书更新至 Pro 服务。

八、核心逻辑链优势(对比 NSSM+sc 零散工具组合)

  1. 单一载体闭环:创建、运行、监控、安全加固、远程管控全逻辑在 FireDaemon 产品体系内完成,无需切换 sc.exe、第三方 OpenSSL、证书工具;
  2. 分层解耦逻辑:前台管理模块(SCM 客户端)与后台宿主进程(业务代理)完全分离,修改配置不中断正在运行的业务;
  3. 底层统一兼容:所有配套组件共用同一套 SCM RPC、IPC 通信、OpenSSL 加密逻辑,无跨工具格式、权限、协议冲突;
  4. 故障自愈逻辑深度分层:内核 Job 资源隔离→进程退出码判断→业务健康探针→阶梯退避重启,四层自愈逻辑远超系统原生 SCM 故障策略。
 

AlwaysUp 和 FireDaemon 都是 Windows 平台上的服务管理器,它们都可以将任何应用程序(无论是命令行还是 GUI 应用)转换为 Windows 服务。这些工具都非常有用,因为它们可以确保运行的应用程序在操作系统启动时自动启动,并在不需要用户干预的情况下继续运行。

以下是 AlwaysUp 和 FireDaemon 的比较分析:

特色功能

  • AlwaysUp 提供了一个直观的、易于使用的图形界面,允许您轻松地创建、配置和管理 Windows 服务。
  • AlwaysUp 还提供了一些高级功能,如启动前的脚本,定时重启,监控模式等。此外,AlwaysUp 还支持 SMTP 和 SNMP 警报,以及集成 Windows 集群服务等功能。
  • FireDaemon 也提供了类似的功能,支持命令行界面和图形界面来创建和管理 Windows 服务。FireDaemon 还提供了一些额外的功能,如 CPU 亲和性、内存限制、优先级设置等。此外,FireDaemon 还支持多个实例和 Windows 防火墙的集成等功能。

区别

  • AlwaysUp 更适合那些需要可视化界面和高级配置选项的用户。AlwaysUp 提供了一个用户友好的 UI,使得它更容易配置服务以及提供警报和监控。
  • FireDaemon 则更加注重服务运行的性能和高级功能。FireDaemon 提供了更多的设置,使得用户可以微调服务的性能和资源使用情况。
posted @ 2024-02-28 10:59  suv789  阅读(780)  评论(0)    收藏  举报