linux 用户行为审计

简介:

根据公司需求,整理了一个linux用户审计的脚本,现和大家分享! 
具体步骤如下:

一:配置调试

1.创建用户审计文件存放目录和审计日志文件 ; 
mkdir -p /var/log/usermonitor/

2.创建用户审计日志文件; 
echo usermonitor >/var/log/usermonitor/usermonitor.log

3.将日志文件所有者赋予一个最低权限的用户; 
chown nobody:nobody /var/log/usermonitor/usermonitor.log

4.给该日志文件赋予所有人的写权限;  
chmod 002 /var/log/usermonitor/usermonitor.log

5.设置文件权限,使所有用户对该文件只有追加权限 ; 
chattr +a /var/log/usermonitor.log

6.编辑/etc/profile文件,添加如下脚本命令;

export HISTORY_FILE=/var/log/usermonitor/usermonitor.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'

7.使配置生效 
source  /etc/profile

二:功能测试

首先使用如下命令监测用户行为审计日志文件;

tail -f /var/log/usermonitor/usermonitor.log

############################################################################ 
1.root用户登录,本地测试;

执行如下测试命令

ll 
more /etc/profile 
vi /etc/profile 
history

查看审计日志结果 
12-03-20 00:00:13 ##### root pts/5 (192.168.0.101)  #### ll 
12-03-20 00:00:36 ##### root pts/5 (192.168.0.101)  #### more /etc/profile 
12-03-20 00:01:42 ##### root pts/5 (192.168.0.101)  #### vi /etc/profile 
12-03-20 00:01:47 ##### root pts/5 (192.168.0.101)  #### history 
12-03-20 00:01:59 ##### root pts/5 (192.168.0.101)  #### history

############################################################################

2.审计日志文件权限测试; 
测试在普通用户下,审计日志文件的权限控制功能是否实现?

测试普通用户读取审计日志文件,提示拒绝,表示普通用户无法读取审计日志文件; 
[kjh@kjh ~]$ more /var/log/usermonitor/usermonitor.log 
/var/log/usermonitor/usermonitor.log: Permission denied

测试普通用户对日志文件的写入权限,测试命令如下; 
[kjh@kjh ~]$ echo 1 >>/var/log/usermonitor/usermonitor.log 
[kjh@kjh ~]$ echo test >>/var/log/usermonitor/usermonitor.log 
[kjh@kjh ~]$ echo test sm >>/var/log/usermonitor/usermonitor.log 
[kjh@kjh ~]$ echo user test  >>/var/log/usermonitor/usermonitor.log

查看日志监测结果;

12-03-20 00:05:18 ##### root pts/5 (192.168.0.101)  #### useradd kjh 
12-03-20 00:05:32 ##### root pts/5 (192.168.0.101)  #### passwd kjh 

test 
test sm 
user test 
通过测试可以看出,用户审计日志文件权限控制功能生效(允许系统所有用户写入);

###########################################################################

3.普通用户登录审计测试;

使用管理软件使用普通用户登录服务器系统,查看监测日志,能否监测到用户操作命令

执行如下测试命令

vi /etc/profile 
ll 
free -i 
history

查看审计日志结果

12-03-20 00:39:27 ##### kjh pts/2 (192.168.0.101)  #### vi /etc/profile 
12-03-20 00:39:33 ##### kjh pts/2 (192.168.0.101)  #### ll 
12-03-20 00:39:49 ##### kjh pts/2 (192.168.0.101)  #### free -i 
12-03-20 00:39:55 ##### kjh pts/2 (192.168.0.101)  #### history

通过查看监测日志文件可以发现,普通用户登录后,所做的相关操作可以正常监控。



本文转自    geekwolf   51CTO博客,原文链接:http://blog.51cto.com/linuxgeek/998318

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
Linux 开发工具
linux记录所以用户行为脚本
linux记录所以用户行为脚本
89 0
|
Linux 开发工具
Linux记录所有用户操作行为脚本
Linux记录所有用户操作行为脚本
129 0
|
Ubuntu Linux 网络安全
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
本文介绍了Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录。
3683 1
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
|
存储 监控 Ubuntu
在Linux中,如何进行用户行为监控?
在Linux中,如何进行用户行为监控?
|
Linux 网络安全 数据安全/隐私保护
在Linux中,ptables是否支持time时间控制用户行为,如有请写出具体操作步骤。
在Linux中,ptables是否支持time时间控制用户行为,如有请写出具体操作步骤。
|
安全 Linux
探索Linux中的`aulast`命令:审计用户的登录历史
`aulast`是Linux审计系统中的工具,用于查看用户登录历史。它显示登录时间、终端、IP地址等信息,帮助管理员分析登录模式和检测入侵。命令语法包括选项如 `-i` 显示IP地址,`-l` 显示详细信息,`-n` 指定记录数,`-s` 和 `-e` 指定时间范围。在使用前需确保`auditd`已启用并配置好规则。
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
网络协议 算法 Linux
Linux 所有信号性质和行为总结
Linux 所有信号性质和行为总结
360 1
|
Linux Windows
OracleVirtualBo界面太小,操作界面对用户不友好?如何使得界面最大化且方便在Windows和Linux环境之间切换应用呢?
OracleVirtualBo界面太小,操作界面对用户不友好?如何使得界面最大化且方便在Windows和Linux环境之间切换应用呢?
386 0
OracleVirtualBo界面太小,操作界面对用户不友好?如何使得界面最大化且方便在Windows和Linux环境之间切换应用呢?
|
运维 Linux Shell
Linux基础知识- 系统随你玩之--文件的用户与用户组
Linux基础知识- 系统随你玩之--介绍文件的用户与用户组并带领大家实际操作
Linux基础知识- 系统随你玩之--文件的用户与用户组