Linux 系统安全:History 操作日志配置

History 记录了用户操作命令,但没有记录来源 ip 地址、操作用户、操作时间等,且用户可以清空 History 记录,一旦服

务器出现问题,很难调查取证和审计用户操作。

在没有堡垒机的情况下,可以通过 logger 将 History 中的操作命令记录到系统日志中。此方法实时记录用户操作,且记

录来源 ip 地址、操作用户、操作时间、操作命令等。

后续根据需求可以集中存放管理日志或使用堡垒机登录等。

HISTORY 日志配置步骤:

1. 使用 root 权限修改/etc/profile 文件,增加 history 操作日志配置,内容如下:

export HISTTIMEFORMAT=”[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null|awk ‘{print $NF}’|sed -e ‘s/[()]//g’`]”

export PROMPT_COMMAND=’\

if [ -z “$OLD_PWD” ];then

export OLD_PWD=$PWD;

fi;

if [ ! -z “$LAST_CMD” ] && [ “$(history 1)” != “$LAST_CMD” ];then

logger -t `whoami`_shell_cmd “[$OLD_PWD]$(history 1)”;

fi;

export LAST_CMD=”$(history 1)”;

export OLD_PWD=$PWD;’

2. 执行命令,使配置内容立即生效

source /etc/profile

3. 配置完成后重新启动 rsyslog 服务

service rsyslog restart

4. 日志记录文件及日志格式

logger 命令默认的日志保存在 /var/log/messages 中。

日志格式如下:

附录 1:

查看 user1 相关操作命令

# grep ‘user1_shell_cmd’ /var/log/messages