用户按键监控与审计
1. 监控需求与背景
在许多大型环境中,时常需要对用户的操作进行监控,特别是对拥有系统根访问权限或其他管理类型账户(如 Oracle 账户)的用户按键操作进行审计。现场承包商可能带来特定的安全风险,例如在新应用引入环境时,通常会有一两名承包商在现场进行安装、故障排除和人员培训。为了对他们的操作进行一定程度的监控,可在更改密码后,使用 sudo 让承包商访问新应用账户。不过,sudo 仅记录带有日期/时间戳的输入命令,标准输出和标准错误的详细命令输出不会被记录,因此在出现问题时,无法获得完整的审计跟踪。
2. 使用 script 命令进行监控
为了解决上述问题,可以使用 script 命令从用户访问账户开始到退出账户的整个过程中跟踪其按键操作。该命令的使用步骤如下:
1. 设置 sudo :需要在机器上设置 sudo,并将用于监控的每个 shell 脚本的名称以及允许执行这些脚本的特定用户配置到 sudo 中。
2. script 命令语法 :script 命令的语法为 script [filename]
。如果不指定文件名,类型记录将保存在当前目录下名为 typescript 的文件中。脚本会话在派生的 shell 退出时结束,这意味着要完全注销系统需要两次退出操作。
3. 示例 :以下是一个在命令行上使用 script 命令的简短会话示例:
[root:yogi]@/# more /usr/loc