linux *** 作系统怎么开启日志审计功能

linux *** 作系统怎么开启日志审计功能,第1张

对于Linux *** 作审计,当前主要有两种形式。

一种是,通过收取linux *** 作系统上的日志,来进行审计。优点是全面,内容是零散,缺乏直观性,一般需要专业的软件来收集和呈现,同时由于容易被删除,可能导致关键审计信息缺失问题,以及由于共享账号问题,导致无法定位到人。

另一种是,通过碉堡堡垒机软件来实现审计。优点是全面直观,可以关联到人,确定是只能对远程运维 *** 作进行审计,无法对直接登录 *** 作进行审计。

    根据笔者上一篇文章—Linux系统上记录用户 *** 作的审计日志 。本文来利用相同的方法记录MYSQL *** 作的审计日志。

    使用用mysql工具连接MySQL server的所有 *** 作会默认记录到~/.mysql_history文件中,这个文件会把所有 *** 作记录下来,包括创建用户和修改用户的明文密码,这在生产系统上是不安全的。如果不想保存,仅仅删除是不行的(文件不存在会再建立),要直接将其软连接到垃圾箱。

     ln  -s  /dev/null  ~/.mysql_history

    利用上一篇文章相同的方法记录MYSQL *** 作的审计日志,是因为mysql工具本身就是有一个shell, 每次mysql连接退出后,都会把此次 *** 作的信息记录到~/.mysql_history文件中。那么可以重新定义MYSQL_HISTFILE环境变量来保存mysql日志。

    先看置于/etc/profile.d目录下的环境变量的脚本mysql_history.sh,和loginlog类似。

      在测试时,发现平时使用的普通用户在 *** 作mysql后无法记录,而root用户(平时没有 *** 作过mysql)可以记录成功。后来在在~/.mysql_history文件找到了 *** 作记录,估计是这个文件还存在的原因,删除后才记录到新的MYSQL_HISTFILE定义的路径。

      和loginlog一样,需要定期删除过期日志,以下脚本置于/etc/cron.weekly 目录下。

        delete_time=15

        find /opt/mysqllog/  -mtime +$delete_time -name '*.log' -exec rm -r {} \

      但是相比于loginlog,mysqllog有两点暂时没有解决。

    1、定义最大的记录条数history.maxSize不知在哪定义,my.cnf?

    2、每一条命令的时间记录添加。

材料:

Linux审计系统auditd 套件

步骤:

安装 auditd

REL/centos默认已经安装了此套件,如果你使用ubuntu server,则要手工安装它:

sudo apt-get install auditd

它包括以下内容:

auditctl : 即时控制审计守护进程的行为的工具,比如如添加规则等等。

/etc/audit/audit.rules : 记录审计规则的文件。

aureport : 查看和生成审计报告的工具。

ausearch : 查找审计事件的工具

auditspd : 转发事件通知给其他应用程序,而不是写入到审计日志文件中。

autrace : 一个用于跟踪进程的命令。

/etc/audit/auditd.conf : auditd工具的配置文件。

Audit 文件和目录访问审计

首次安装 auditd 后, 审计规则是空的。可以用 sudo auditctl -l 查看规则。文件审计用于保护敏感的文件,如保存系统用户名密码的passwd文件,文件访问审计方法:

sudo auditctl -w /etc/passwd -p rwxa

-w path : 指定要监控的路径,上面的命令指定了监控的文件路径 /etc/passwd

-p : 指定触发审计的文件/目录的访问权限

rwxa : 指定的触发条件,r 读取权限,w 写入权限,x 执行权限,a 属性(attr)

目录进行审计和文件审计相似,方法如下:

$ sudo auditctl -w /production/

以上命令对/production目录进行保护。

3. 查看审计日志

添加规则后,我们可以查看 auditd 的日志。使用 ausearch 工具可以查看auditd日志。

sudo ausearch -f /etc/passwd

-f 设定ausearch 调出 /etc/passwd文件的审计内容

4. 查看审计报告

以上命令返回log如下:

time->Mon Dec 22 09:39:16 2016

type=PATH msg=audit(1419215956.471:194): item=0 name="/etc/passwd"

inode=142512 dev=08:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL

type=CWD msg=audit(1419215956.471:194): cwd="/home/somebody"

type=SYSCALL msg=audit(1419215956.471:194): arch=40000003 syscall=5 

success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231 auid=4294967295 uid=1000 gid=1000 euid=0 suid=0 fsuid=0 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4294967295

comm="sudo" exe="/usr/bin/sudo" key=(null)

time : 审计时间。

name : 审计对象

cwd : 当前路径

syscall : 相关的系统调用

auid : 审计用户ID

uid 和 gid : 访问文件的用户ID和用户组ID

comm : 用户访问文件的命令

exe : 上面命令的可执行文件路径

以上审计日志显示文件未被改动。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8213444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存