利用 SecureCRT 进行 Linux 安全审计的实操指南
一 审计目标与总体思路
- 目标:实现远程会话的可追溯性(谁、在何时、从哪台主机、执行了哪些命令)、完整性(日志防篡改)、可用性(快速检索与回溯)。
- 思路:在客户端侧用 SecureCRT 完整记录会话;在服务端侧用 Linux 系统审计服务记录系统调用与登录事件;两端日志相互印证,形成闭环。
二 客户端侧 SecureCRT 审计配置
- 启用会话日志
- 路径:Options → Session Options → Logging,勾选 Enable logging,设置日志保存路径与格式(建议按会话名、日期组织目录,便于检索)。
- 关键操作标记
- 在会话中插入自定义注释,便于定位关键事件(例如在变更窗口输入特定标记,后续在日志中快速检索)。
- 自动化与一致性
- 使用 Tools → Script Editor 编写脚本(如 TCL/TK),自动记录登录时间、执行的命令等,减少人为遗漏。
- 强化身份与通道安全
- 仅使用 SSH2;在 Session Options → SSH2 → PublicKey 导入私钥启用公钥认证;必要时通过 Firewall 配置堡垒机跳转,集中管控与审计接入。
- 会话稳定性与合规
- 在 Session Options → Terminal → Anti-idle 设置空闲超时自动断开,降低被未授权复用的风险。
- 文件传输留痕
- 涉及文件变更时使用 SFTP(SecureCRT 支持),所有传输动作在客户端侧同样留痕,便于与命令审计关联。
三 服务端侧 Linux 审计配置
- 启用并验证审计服务
- 启动 auditd:
sudo systemctl start auditd && sudo systemctl enable auditd
- 查看状态:
sudo systemctl status auditd
- 记录登录与会话
- 记录登录/登出:
sudo auditctl -a always,exit -F arch=b64 -S execve -k session
- 持久化规则:将规则写入
/etc/audit/rules.d/audit.rules,然后 sudo augenrules --load
- 记录关键系统调用
- 监控敏感文件:
sudo auditctl -w /etc/passwd -p wa -k identity
- 监控特权命令:
sudo auditctl -a always,exit -F path=/usr/bin/sudo -F perm=x -k privilege_escalation
- 日志保护与检索
- 日志文件位于 /var/log/audit/audit.log,建议配合 logrotate 做按日切分与保留策略;使用
ausearch、aureport 检索与生成报表,例如:ausearch -k session | aureport -x
四 日志分析与回溯流程
- 客户端侧快速定位
- 在 SecureCRT 中开启/检查日志,利用日志的自动记录与命令窗口能力,结合会话标签与关键标记,快速回溯某次操作的完整输入输出。
- 跨主机批量审计
- 多窗口同时连接到多台设备,统一下发审计或核查命令,保持审计动作的一致性与效率。
- 关联分析
- 以时间戳为纽带,将 SecureCRT 会话日志与 Linux auditd 日志进行交叉比对,验证命令来源、执行结果与影响范围,定位异常行为与责任主体。
五 合规与运维建议
- 最小权限与多因素
- 运维人员采用最小权限与多因素认证;优先使用 SSH 公钥认证,禁用口令登录或仅在应急时临时启用。
- 集中审计与堡垒机
- 通过 堡垒机统一接入与录像/命令审计,配合 SecureCRT 的 Firewall 配置,减少直连暴露面并提升审计一致性。
- 定期更新与基线核查
- 定期更新 SecureCRT 与 Linux 系统/SSH 组件,对审计规则、日志保留周期、权限配置进行基线核查与周期性复盘。