首页 > 代码库 > 模拟sudo+rsyslog日志审计功能

模拟sudo+rsyslog日志审计功能

生产环境日志审计解决方案

所谓日志审计,就是记录所有系统及相关用户行为的信息,并且可以自动分析、处理、展示(包括文本或者录像)

1) 通过环境变量命令及syslog服务进行全部日志审计(信息太大,不推荐)

2) Sudo配合syslog服务,进行日志审计(信息较少,效果不错)

3) 在bash解释器程序里嵌入一个监控器,让所有被审计的系统用户使用修改过的增加了监视器的特殊bash程序作为解释程序

4) 齐治的堡垒机:商业产品

Sudo日志审计:专门对使用sudo命令的系统用户记录其执行的命令相关信息

所谓sudo命令日志审计,并不记录普通用户的普通操作。而是记录,那些执行sudo命令的用户的操作。

1)          安装sudo命令,syslog服务(centos6.4为rsyslog)

[root@test ~]# rpm -qa sudo rsyslog

sudo-1.8.6p3-12.el6.x86_64

rsyslog-5.8.10-8.el6.x86_64

[root@test ~]# echo "Defaults  logfile=/var/log/sudo.log">>/etc/sudoers

[root@test ~]# tail -1 /etc/sudoers

Defaults  logfile=/var/log/sudo.log   ###将sudo的操作放入日志文件中

[root@test ~]# visudo -c  检查语法

/etc/sudoers:解析正确

[root@test ~]# echo "local2.debug  /var/log/sudo.log">>/etc/rsyslog.conf

在配置文件中指定一个local2设备打印级别debug把执行命令通过/rsyslog.写到sudo

[root@test ~]# /etc/init.d/rsyslog restart

关闭系统日志记录器:                                       [确定]

启动系统日志记录器:                                       [确定]

自动生成的文件

[root@test ~]# ll /var/log/sudo.log

-rw-------. 1 root root 0 8月  11 00:51 /var/log/sudo.log

[root@test ~]# su - chuji001

[chuji001@test ~]$ sudo -l

[sudo] password for chuji001:

匹配此主机上 chuji001 的默认条目:

    requiretty, !visiblepw, always_set_home, env_reset,

    env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR

    LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG

    LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE

    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",

    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER

    LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS

    _XKB_CHARSET XAUTHORITY",

    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin,

    logfile=/var/log/sudo.log

 

用户 chuji001 可以在该主机上运行以下命令:

    (root) /usr/bin/free, /usr/bin/iostat, /usr/bin/top,

/bin/hostname, /sbin/ifconfig, /bin/netstat, /sbin/route

[chuji001@test ~]$ sudo useradd aaaa

对不起,用户 chuji001 无权以 root 的身份在 test 上执行 /usr/sbin/useradd aaaa。

[root@test ~]# cat /var/log/sudo.log

Aug 11 00:53:58 : chuji001 : 3 次错误密码尝试 ; TTY=pts/2 ;

    PWD=/home/chuji001 ; USER=root ; COMMAND=list

Aug 11 00:55:14 : chuji001 : TTY=pts/2 ; PWD=/home/chuji001 ; USER=root ;

    COMMAND=list

Aug 11 00:56:24 : chuji001 : 命令禁止使用 ; TTY=pts/2 ; PWD=/home/chuji001

    ; USER=root ; COMMAND=/usr/sbin/useradd aaaa

模拟sudo+rsyslog日志审计功能