linux审计原理,Linux操作行为审计

一 使用[PROMPT_COMMAND]变量 实现审计操作行为功能

【实现原理】

在bash里设置环境变量PROMPT_COMMAND,这个命令会在用户提示符之前被执行,可以用来记录用户操作历史

【实现步骤】

1、创建行为审计日志文件

touch /var/log/Command_history.log

2、将日志文件的所有者改为权限低的用户NOBODY

chown nobody:nobody/var/log/Command_history.log

3、赋予所有用户对日志文件写的权限

chmod 002/var/log/Command_history.log

4、使所有用户对日志文件只有追加权限

chattr +a/var/log/Command_history.log

5、编辑/etc/profile,增加如下:

export HISTORY_FILE=/var/log/Command_history.log

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}'

【Bill提示】

此日志文件如果需要删除时,在执行删除操作时,会提示没有权限,这个就是chattr对文件实现的保护功能了,如果需要删除此文件,需要执行

chattr -a/var/log/Command_history.log

chmod 777/var/log/Command_history.log

然后对日志文件进行删除操作

二 根据Profile文件特征实现对操作用户的简单审计功能【失败】

【实现原理】

/etc/profile文件是linux系统的全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

【实现步骤】

编辑/etc/profile,增加如下:

read -p "Please input your name:" NAME

export HISTORY_FILE=/var/log/Command_history.log

Login=`echo -n "-------NAME [$NAME] IP [$SSH_CLIENT] -----">> $HISTORY_FILE`

Time=`date -d today +"%Y-%m-%d %H:%M:%S" >> $HISTORY_FILE`

这样用户在远程登陆linux系统时,会提示输入名字,当操作人员输入自己的名字后,日志文件中会有相应记录,后续出现问题时,可以根据日志文件找到操作人员的姓名和操作记录

【失败与教训】

失败原因:

网盘在的profile文件设置为如上所示时

在重启电脑的时候,机器在启动的时候,读取profile文件,因为profile有读取字符串操作,导致了系统在执行启动xserver服务的时候,没有完成读取profile文件操作,因此导致了xserver服务,和xserver_guard服务启动失败

失败教训:

linux系统启动要读取的文件尽量不要有输入操作

【方法改进】

在xserver命令中添加下#xserver -n Your_name命令,完成记录操作人员人名操作,方便出现问题后快速定位问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值