模拟sudo+rsyslog日志审计功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟sudo+rsyslog日志审计功能相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

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

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

[[email protected] ~]# rpm -qa sudo rsyslog

sudo-1.8.6p3-12.el6.x86_64

rsyslog-5.8.10-8.el6.x86_64

[[email protected] ~]# echo "Defaults  logfile=/var/log/sudo.log">>/etc/sudoers

[[email protected] ~]# tail -1 /etc/sudoers

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

[[email protected] ~]# visudo -c  检查语法

/etc/sudoers:解析正确

[[email protected] ~]# echo "local2.debug  /var/log/sudo.log">>/etc/rsyslog.conf

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

[[email protected] ~]# /etc/init.d/rsyslog restart

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

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

自动生成的文件

[[email protected] ~]# ll /var/log/sudo.log

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

[[email protected] ~]# su - chuji001

[[email protected] ~]$ 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

[[email protected] ~]$ sudo useradd aaaa

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

[[email protected] ~]# 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日志审计功能的主要内容,如果未能解决你的问题,请参考以下文章

sudo配合syslog日志审计记录用户操作

centos6 配置sudo命令日志审计

日志审计策略配置audit

Linux简单的日志审计

linux audit审计--audit的日志切分,以及与rsyslog的切分协同使用

Ubuntu中怎么启用Crontab日志记录