首页 > 代码库 > 模拟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日志审计功能