监控 Linux 用户活动并对其进行审核

监控 Linux 用户活动并对其进行审核

var/log/secure为我们提供以下信息:

Mar 20 08:07:07 testing sshd[29749]: Accepted password for oracle from 10.51.1.12 port 49239 ssh2
Mar 20 08:07:07 testing sshd[29749]: pam_unix(sshd:session): session opened for user oracle by (uid=0)
Mar 20 08:12:16 testing sshd[29759]: Received disconnect from 10.51.1.12: 11: Disconnect requested by Windows SSH Client.
Mar 20 08:12:16 testing sshd[29749]: pam_unix(sshd:session): session closed for user oracle

oracle但是从上面的信息中我们无法得知用户执行了哪些命令呢?

/home/oracle/.bash_history为我们提供有关执行哪些命令的信息:

cat /u01/up_apps.sh 
cd daily/work
less Auto_Clone.log 
cat Auto_Clone.log 
exit
exit
cat /home/oracle/ashfaq/Auto_Clone/Auto_Clone.sh 
cat /u01/down.sh 
cd /u01/oracle/inst/apps/TESTING_testing/admin/scripts/
./adstpall.sh apps/apps
./adstrtal.sh apps/apps
cat /home/oracle/ashfaq/Auto_Clone/Auto_Clone.sh 
cat /home/oracle/ashfaq/demo/main_exec.sh
cd /home/oracle/ashfaq/demo/
ls -ltr
cat main_exec.sh

但没有告诉我们用户从哪个IP或主机名以及在什么时间执行了这些命令。

我们是否可以创建一些自定义文件,将所有这些信息以及时间、IP、用户名 ( root、、) 以及这些用户执行的命令存储在一个文件中?oraclericky

答案1

有一个工具可以做到这一点。它被称为audit,它可以为一个或多个特定用户或所有用户记录大量信息。但是,由于将为服务器上的每个系统调用检查审核规则,因此这可能意味着性能下降。它也不包含 IP 信息;为了实现这一点,您需要将审核日志与 SSH 日志结合起来,以查看用户从哪个 IP 登录。

有关如何应用审核规则的信息可以通过运行找到man auditctl

相关内容