Skip to content

Latest commit

 

History

History
70 lines (52 loc) · 2.11 KB

File metadata and controls

70 lines (52 loc) · 2.11 KB

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 告警