节点在线、应用在线、配置在线使用令牌查询
大石头 authored at 2021-12-16 19:49:30
2.11 KiB
Stardust
# SVR-8 远程命令执行安全方案 > 版本:v1.0 | 日期:2026-07-15 > 对应需求:SVR-8 远程命令执行安全 --- ## 安全原则 StarAgent 支持通过星尘平台远程执行 bash/cmd 命令。由于 Agent 是开源的,客户端可修改源码绕过限制,因此**安全重点在平台侧**。 **核心原则:** 1. **客户端可被攻破** — 攻击者可修改 Agent 源码去除限制 2. **平台是安全边界** — 所有安全策略在平台侧实施 3. **审计重于防御** — 无法阻止时确保可追溯 ## 方案A - 增强安全日志 ### Agent 端的改进 使用 `WriteEvent` 上报执行日志: | 字段 | 说明 | |------|------| | 级别 | warn(执行前)/ info(成功)/ error(失败) | | 事件 | RunBash / RunCmd | | 命令 | 执行的命令内容 | | 超时 | 超时时间(毫秒) | | 耗时 | 实际执行时间(毫秒) | | 结果长度 | 返回结果长度 | | 时间戳 | 执行时间 | ### 关键特性 - `WriteEvent` 直接上报到星尘平台数据库,Agent 无法删除 - 使用 `Stopwatch` 记录精确耗时 - 日志长度超过1000字符自动截断 ## 方案B - 平台侧审计 ### 数据库审计表 **NodeCommand(节点命令执行记录):** | 字段 | 说明 | |------|------| | NodeId | 节点ID | | Command | 执行的命令 | | Type | bash/cmd | | OperatorId | 操作人ID | | OperatorName | 操作人名称 | | ClientIP | 操作人IP | | Success | 是否成功 | | Duration | 耗时(ms) | | ErrorMessage | 错误信息 | | ExecuteTime | 执行时间 | **NodeCommandAlert(异常操作告警):** | 字段 | 说明 | |------|------| | AlertType | 告警类型(dangerous_command/abnormal_time/abnormal_ip) | | AlertLevel | 告警级别(info/warn/error/critical) | | Status | 状态(pending/confirmed/ignored) | ### 告警规则 - **危险命令**:包含 rm -rf、dd、mkfs 等危险操作时触发 critical 告警 - **批量操作**:同时对多台节点执行命令时触发 warn 告警 - **异常时间**:非工作时间执行命令时触发 info 告警 - **异常 IP**:从非常用 IP 执行命令时触发 warn 告警