首页 > 其他分享 >服务日志审计项目

服务日志审计项目

时间:2024-06-11 23:29:57浏览次数:19  
标签:审计 服务 log sudo 桌面 shi 日志 root localhost

服务日志审计项目

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

配置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站上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频

标签:审计,服务,log,sudo,桌面,shi,日志,root,localhost
From: https://blog.csdn.net/qq_34953582/article/details/139611091

相关文章

  • 基于服务器响应的实时天气数据进行JSON解析的详细代码及其框架
    #include<netinet/in.h>#include<arpa/inet.h>#include<stdio.h>#include<errno.h>#include<sys/socket.h>#include<netinet/in.h>#include<netinet/ip.h>#include<arpa/inet.h>#include<sys/socket.h&g......
  • Rustdesk 自建服务器
    自建rustdesk远程终端服务器,解决稳定远程控制需求。1、购买腾讯云服务器,99一年2、修改登录终端用户,默认使用ubuntu账户登录,存在权限限制,不能够上传文件Ubuntu系统如何使用root用户登录实例?(https://cloud.tencent.com/document/product/213/17278#ubuntu-.E7.B3.BB.E7.......
  • 详细说说机器学习在金融服务和市场营销的应用
    机器学习在金融服务和市场营销的应用非常广泛,以下是对这两个领域应用的详细说明:金融服务风险评估和信用评分机器学习通过分析大量的历史数据,可以建立风险评估模型和信用评分模型。这些模型有助于金融机构更准确地评估借款人的信用风险,从而降低贷款违约的风险。例如,机器学习......
  • 多进程并发简易服务器代码实现
    多进程实现并发服务器多进程并发服务器.c架构intsockfd=socket()bian()listen()while(1){ acceptfd=accept() pid=fork() if(pid>0){ }elseif(pid==0){ while(1){ recv()/send() } }}注意:accept不能放在P......
  • 利用聚合API平台的API接口,利用HTTP协议向服务器发送请求,并接受服务器的响应,要求利用cJ
    目录题目分析代码结果题目利用聚合API平台的API接口,利用HTTP协议向服务器发送请求,并接受服务器的响应,要求利用cJSON库对服务器的响应数据进行解析,并输出到终端分析1.需从源代码网站GitHub或SourceForge代码网站下载cJSON库及阅读下载的README相关手册如何使用cJSON库;2.使用......
  • 网络编程练习题---利用cJSON库对服务器返回的JSON格式数据完成解析
    目录题目注意事项实现代码结果展示相关接口指引题目利用某些平台(聚合API、百度AI、科大讯飞API)的API接口,利用HTTP协议向服务器发送请求,并接受服务器的响应,要求利用cJSON库对服务器的响应数据进行解析,并输出到终端。注意事项1.预测的日期开始时间为2010-01-012."老黄历"API......
  • 基于centos7.9搭建http文件服务器
    基于centos7.9搭建http文件服务器1.安装httpd[root@localhost~]#yuminstall-yhttpd2.关闭防火墙以及selinux[root@localhost~]#systemctlstopfirewalld&&setenforce03.修改相关配置​ 文件/etc/httpd/conf/httpd.conf中的默认参数(自定义修改)[root@loca......
  • 整理好了!2024年最常见 20 道分布式、微服务面试题(十)
    上一篇地址:整理好了!2024年最常见20道分布式、微服务面试题(九)-CSDN博客十九、如何设计一个高可用的分布式系统?设计一个高可用的分布式系统是一个复杂的过程,需要考虑多个方面以确保系统的鲁棒性、可扩展性和容错性。以下是一些关键的设计原则和实践:1. 冗余设计:数据冗余:通......
  • 整理好了!2024年最常见 20 道分布式、微服务面试题(九)
    上一篇地址:整理好了!2024年最常见20道分布式、微服务面试题(八)-CSDN博客十七、什么是断路器模式,它如何解决服务依赖问题?断路器模式(CircuitBreakerPattern)是一种软件设计模式,用于处理分布式系统中的服务依赖问题。当一个服务由于某些原因变得不稳定或不可用时,断路器模式可以......
  • ubuntu22.04搭建tftp服务
    通常情况下我们调试linux内核的时候是在我们的ubuntu主机上进行的,这里同样以ubuntu为例,沃恩调试好内核之后,需要将我们调试好的内核下载到我们的开发板上跑起来,通常情况下是我们的板子先启动uboot,然后uboot通过网络服务命令将我们主机上编译好的内核下载到我们的开发板山的DRAM......