使用Audit审计服务排查linux终端异常关机问题

本文档详述了一起关于Linux终端在教室环境中出现不符合预期的自动关机问题。通过分析syslog日志和部署audit审计服务,定位到问题可能是人为操作,包括电源键误触和虚拟机的不当关闭。解决方案包括禁用电源键,调整用户行为,以及通过审计服务优化系统监控。此外,提供了audit服务的部署脚本和相关配置信息。

目录

【基本信息】

【问题描述】

【定位过程】

1,整理规律如下

2,部署audit审计服务定位问题

3,定位后期

【问题原因】

【问题解决】

【问题小结】

附录

1,audit审计服务部署脚本及其安装包

2,配置软绘,软解,禁用power键

3,部署audit服务

4,audit审计日志与规则

我将本案例写成了文档案例,可参见阿里云盘链接下载阅读,凡是提及附件的地方本文均未粘贴,可下载文档来阅读:

「spaceos终端不符合预期关机问题」https://www.aliyundrive.com/s/hetkctd2bbD

点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

【基本信息】

  1. 瘦终端:C101LS,装载x64 SpaceOS(linux终端)系统(用于连接云桌面)
  2. 版本:Workspace E1009(云桌面客户端版本)
  3. 现场使用H3C Workspace的方式部署教室云桌面,自动登录云桌面,终端锁在教室讲台里,平时仅关闭显示器,终端独立供电,并且不断电。
  4. 客户基本预期就是终端不关机,也不断开云桌面,仅关闭其显示器,第二天上课时仅仅是给显示器上电,并且从授权策略中将关机和重启功能都是禁用了的。

【问题描述】

如上述基本信息,在部署了16间教室后,经过一周表现正常,但是第二周来每天陆续发现linux终端出现9次不符合预期的关机,确定非虚拟机关机。

【定位过程】

实际上,这个问题在出差到达现场之前,就已经定位到是正常的软关机,见下syslog的日志段,依次正确关闭系统服务,并且syslog中并无硬件类的报错记录,包括SpaceAgent和workspace客户端没有执行关机记录。

Jul 11 16:43:50 localhost systemd[1]: Stopped target Timers.

Jul 11 16:43:50 localhost systemd[1]: Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.

Jul 11 16:43:50 localhost systemd[1]: Stopped target Host and Network Name Lookups.

Jul 11 16:43:50 localhost systemd[1]: Stopped Discard unused blocks once a week.

Jul 11 16:43:50 localhost systemd[1]: Stopping Authorization Manager...

Jul 11 16:43:50 localhost systemd[1]: Stopped target Graphical Interface.

Jul 11 16:43:50 localhost systemd[1]: Stopped Daily Cleanup of Temporary Directories.

Jul 11 16:43:50 localhost systemd[1]: Stopped Daily apt upgrade and clean activities.

Jul 11 16:43:50 localhost systemd[1]: Stopped Daily apt download activities.

Jul 11 16:43:50 localhost systemd[1]: Stopped Message of the Day.

Jul 11 16:43:50 localhost systemd[1]: Stopping User Manager for UID 1010...

Jul 11 16:43:50 localhost systemd[1]: Stopping Save/Restore Sound Card State...

Jul 11 16:43:50 localhost systemd[1]: Stopped target Multi-User System.

Jul 11 16:43:50 localhost systemd[1]: Stopping SpaceAgent deamon...

Jul 11 16:43:50 localhost systemd[1]: Stopping Regular background program processing daemon...

Jul 11 16:43:50 localhost systemd[575]: Stopping Virtual filesystem service...

Jul 12 07:56:19 localhost systemd[1]: Starting Flush Journal to Persistent Storage...

Jul 12 07:56:19 localhost systemd[1]: Started Flush Journal to Persistent Storage.

但疑难问题点在于,我们并不清楚关机的触发源,因为客户确定他们不会去关机,也不希望关机,讲台也没有针对终端的关开机按钮(后续事实证明这句话不完全准确)。

1,整理规律如下

  1. 出现的终端并不固定,多个教室均出现,从出现的数量来看(加上到现场发现的总共出现16台),问题概率高
  2. 问题发生的时间并不固定,有的是晚上8点多,有的是下午2-4点之间
  3. 问题时间尽管不固定,但是11号(周末),出现5台不符合预期关机时间点集中的情况,均在下午4点30-5点之间。

2,部署audit审计服务定位问题

在现场部署了audit服务(见附件1)来审计关机触发源,尽管没定位到触发源,但是从客观上证明了和workspace,spaceagent以及管理平台无关。截取部分审计内容如下:

A)键入last -x | shutdown后的审计结果

type=SYSCALL msg=audit(1626146892.715:736)(2021-07-13 11:28:12): arch=c000003e syscall=59 success=yes exit=0 a0=557d4e603050 a1=557d4e5de6a0 a2=557d4e5df9f0 a3=8 items=2 ppid=4776 pid=4785 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=4294967295 comm="shutdown" exe="/bin/systemctl" key="shutdown_call"

type=EXECVE msg=audit(1626146892.715:736): argc=1 a0="shutdown"

type=CWD msg=audit(1626146892.715:736): cwd="/root"

解析:

comm="shutdown" ,命令参数是关机

exe="/bin/systemctl" ,实际执行者是systemctl

key="shutdown_call" ,key是shutdown_call

cwd="/root",执行进程的路径(因为是人为切换到该目录下执行的)

type=EXECVE msg=audit(1626146892.715:736): argc=1 a0="shutdown",执行的命令是shutdown。

故该关机审计是人为在/root目录执行shutdown关机

B)通过ws客户端关机后的审计结果

type=SYSCALL msg=audit(1626058718.076:61): arch=c000003e syscall=59 success=yes exit=0 a0=562fe643d738 a1=562fe6443d88 a2=562fe6445240 a3=0 items=2 ppid=1495 pid=1496 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="shutdown" exe="/bin/systemctl" key="shutdown_call"

type=EXECVE msg=audit(1626058718.076:61): argc=3 a0="shutdown" a1="-h" a2="now"

type=CWD msg=audit(1626058718.076:61): cwd="/userdata/H3C/Workspace/E1009"

解析:

comm="shutdown" ,命令参数是shutdown

exe="/bin/systemctl" ,实际执行者是systemctl

key="shutdown_call" ,key是shutdown_call

cwd="/userdata/H3C/Workspace/E1009",执行进程的路径

type=EXECVE msg=audit(1626058718.076:61): argc=3 a0="shutdown" a1="-h" a2="now"

执行的命令是shutdown -h now

故该关机审计是/userdata/H3C/Workspace/E1009下执行了shutdown -h now的关机

C)通过终端关机后的审计结果

#正常关机审计日志开始日志段1:查询服务状态

type=SYSCALL msg=audit(1626053451.193:483): arch=c000003e syscall=59 success=yes exit=0 a0=55d9e0583dd8 a1=55d9e0583d40 a2=55d9e0583d98 a3=1b6 items=2 ppid=4977 pid=4981 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="systemctl" exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值