服务日志审计项目

服务日志审计项目

目的要求:实施后可以让运维和开发的所有执行的命令都有记录可查,杜绝内部人员操作隐患)(缺陷:单机、本地服务器上应用

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

sudo配合syslog服务,进行日志审计。

安装sudo命令和sysclog服务

[root@localhost 桌面]# yum -y install sudo rsyslog

[root@localhost 桌面]# rpm -q sudo

sudo-1.8.6p3-12.el6.x86_64

[root@localhost 桌面]# rpm -q rsyslog

rsyslog-5.8.10-8.el6.x86_64

[root@localhost 桌面]# rpm -qa |egrep "sudo|rsyslog"

rsyslog-5.8.10-8.el6.x86_64

sudo-1.8.6p3-12.el6.x86_64

添加要提权的用户shi:和测试的普通用户shi2

[root@localhost 桌面]# useradd shi

[root@localhost 桌面]# echo "123" |passwd --stdin shi

[root@localhost 桌面]# useradd shi2

[root@localhost 桌面]# echo "789" |passwd --stdin shi2

[root@localhost 桌面]# vim /etc/sudoers

………………

root    ALL=(ALL)       ALL

shi     ALL=(ALL)       /usr/bin/passwd,!/usr/bin/passwd root,/bin/mount,/bin/umount

………………

wq

把提权的命令写入/var/log/sudo.log文件中:

[root@localhost 桌面]# echo "Defaults     logfile=/var/log/sudo.log" >>/etc/sudoers

[root@localhost 桌面]# tail -1 /etc/sudoers

Defaults     logfile=/var/log/sudo.log

[root@localhost 桌面]# visudo -c                //visudo  -c 可以检查语法是否正确

/etc/sudoers:解析正确

指定一个local2的设备,打印的内容级别是debug,把执行的sudo的命令通过rsyslog写到/var/log/sudo.log文件中:

[root@localhost 桌面]# echo "local2.debug    /var/log/sudo.log" >>/etc/rsyslog.conf

[root@localhost 桌面]# tail -1 /etc/rsyslog.conf

local2.debug    /var/log/sudo.log

[root@localhost 桌面]# ls /var/log/ |grep "sudo"

为空                                               //重启rsyslog服务前,文件还没有生成

[root@localhost 桌面]# /etc/init.d/rsyslog restart

[root@localhost 桌面]# ls /var/log/ |grep "sudo"

sudo.log                                           //重启rsyslog服务后,会成该文件

[root@localhost 桌面]# ls -l /var/log/sudo.log           //权限很小,只有root能看,能操作

-rw-------. 1 root root 0 5月  14 19:13 /var/log/sudo.log

[root@localhost 桌面]# cat /var/log/sudo.log

为空                  //因为还没有用户执行sudo命令,没有记录。

测试提权的shi用户(执行sudo命令):

[root@localhost 桌面]# su - shi

[shi@localhost ~]$ sudo -l

输入自己密码:123,查看权限:

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

    (ALL) /usr/bin/passwd, (ALL) !/usr/bin/passwd root, (ALL) /bin/mount, (ALL)

/bin/umount

[shi@localhost ~]$ sudo passwd shi2           //更改普通用户shi2的密码

输入shi2的新密码:987,即可更改成功。、

[shi@localhost ~]$ sudo passwd root           //不能更改root密码

对不起,用户 shi 无权以 root 的身份在 localhost.localdomain 上执行 /usr/bin/passwd root。

[shi@localhost ~]$ umount /dev/cdrom

umount: /dev/sr0 is not in the fstab (and you are not root)

[shi@localhost ~]$ sudo umount /dev/cdrom

[shi@localhost ~]$ mount /dev/cdrom /mnt

mount: only root can do that

[shi@localhost ~]$ sudo mount /dev/cdrom /mnt

mount: block device /dev/sr0 is write-protected, mounting read-only

[shi@localhost ~]$ sudo useradd a

对不起,用户 shi 无权以 root 的身份在 localhost.localdomain 上执行 /usr/sbin/useradd a。

查看记录sudo命令的日志/var/log/sudo.log,可以查看到所有普通用户用sudo执行的命令(成功或失败)

[root@localhost 桌面]# cat /var/log/sudo.log

May 14 19:19:18 : shi : TTY=pts/0 ; PWD=/home/shi ; USER=root ; COMMAND=list

May 14 19:22:23 : shi : TTY=pts/0 ; PWD=/home/shi ; USER=root ;

    COMMAND=/usr/bin/passwd shi2

May 14 19:24:26 : shi : 命令禁止使用 ; TTY=pts/0 ; PWD=/home/shi ;

    USER=root ; COMMAND=/usr/bin/passwd root

May 14 19:26:10 : shi : TTY=pts/0 ; PWD=/home/shi ; USER=root ; COMMAND=list

May 14 19:26:49 : shi : TTY=pts/0 ; PWD=/home/shi ; USER=root ;

    COMMAND=/bin/umount /dev/cdrom

May 14 19:27:29 : shi : TTY=pts/0 ; PWD=/home/shi ; USER=root ;

    COMMAND=/bin/mount /dev/cdrom /mnt

May 14 19:28:33 : shi : 命令禁止使用 ; TTY=pts/0 ; PWD=/home/shi ;

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

如果对运维课程感兴趣,可以在b站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维实战课程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值