部署环境
Name | Version |
---|---|
CentOS 7 | 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
命令审计
在需要日志审计功能的服务器上执行以下命令即可
1、创建用户审计文件存放的目录,-p嵌套创建路径中不存在的目录
# mkdir -p /usr/local/monitor/
2、给用户审计文件存放的目录赋予最低权限可读、可写、可执行(赋予权限前后对比)
# ls -ldi /usr/local/monitor/
51020930 drwxr-xr-x 2 root root 6 8月 6 23:51 /usr/local/monitor/
# chmod 777 /usr/local/monitor/
# ls -ldi /usr/local/monitor/
51020930 drwxrwxrwx 2 root root 6 8月 6 23:51 /usr/local/monitor/
3、给用户审计文件存放的目录赋予t权限就是特殊权限stick_bit(也叫防删除位),防止在该目录下创建文件者之外的用户删除该文件(root用户除外)
# chmod +t /usr/local/monitor/
# ls -ldi /usr/local/monitor/
51020930 drwxrwxrwt 2 root root 6 8月 6 23:51 /usr/local/monitor/
4、编辑/etc/profile文件,在内容最后添加脚本命令
# vi /etc/profile
if [ ! -d /usr/local/monitor/${LOGNAME} ];
then
mkdir -p /usr/local/monitor/${LOGNAME}
chmod 300 /usr/local/monitor/${LOGNAME}
fi
export HISTORY_FILE="/usr/local/monitor/${LOGNAME}/bash_history"
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'
5、是配置生效(其实配置完第4步就已经生效,第5步只是保险起见)
# source /etc/profile
审计时查看/usr/local/monitor/下的以用户名字创建的目录里面的文件即可,它会分别记录登上服务器各个用户的使用目录。为了更安全,可以将该目录打包压缩备份。