总结&备忘:history记录的时间
2016-06-28 02:25
375 查看
最近工作中遇到一些疑似黑客入侵的案例:
客户在阿里云上购买了ECS云服务器作为应用服务器,应用运行中收到了阿里云来的异地IP登录警告短信,提示有可能登录密码已被黑客攻破
于是找到我们服务商帮忙分析处理
正常来说我们会先建议看是看该IP是否还在登录,如在就立刻kill掉其登陆会话
[root@iZ9408690vwZ ~]# who
root tty1 2016-06-28 00:08
root pts/0 2016-06-28 00:02 (223.73.58.208)
diyu pts/1 2016-06-28 00:16 (116.23.247.151)
root pts/2 2016-06-28 01:32 (223.73.58.208)
[root@iZ9408690vwZ ~]# ps
PID TTY TIME CMD
14245 pts/2 00:00:00 bash
14282 pts/2 00:00:00 ps
然后就让客户加固一下安全配置(换ssh端口,去除ssh弱算法支持,更换复杂度高一些的密码...)
最后就看异地登录者干了些什么,于是用了history命令打算查看该IP在相应的登录时间里操作了什么命令(当然也有可能已被黑客篡改)
[root@iZ9408690vwZ ~]# last
root pts/2 223.73.58.208 Tue Jun 28 01:32 still logged in
diyu pts/2 116.23.247.151 Tue Jun 28 00:41 - 01:08 (00:26)
diyu pts/2 116.23.247.151 Tue Jun 28 00:28 - 00:41 (00:12)
diyu pts/2 116.23.247.151 Tue Jun 28 00:27 - 00:28 (00:00)
diyu pts/2 116.23.247.151 Tue Jun 28 00:27 - 00:27 (00:00)
diyu pts/2 116.23.247.151 Tue Jun 28 00:18 - 00:27 (00:08)
[root@iZ9408690vwZ ~]# history
7 telnet 127.0.0.1 1234
8 ls
9 service iptables status
10 icmp-type
11 service iptables status
12 service iptables restart
13 service iptables status
14 iptables -t nat -F
15 service iptables status
16 service iptables save
可见客户没设置bash里历史记录的时间
开启bash的历史记录的时间记录方法为:
在用户配置文件中加入命令:
export HISTTIMEFORMAT="`whoami` : %F %T :"
配置了该环境变量后的history输出为:
[root@iZ9408690vwZ ~]# history
10 root : 2016-06-28 01:32:29 :icmp-type
11 root : 2016-06-28 01:32:29 :service iptables status
12 root : 2016-06-28 01:32:29 :service iptables restart
13 root : 2016-06-28 01:32:29 :service iptables status
14 root : 2016-06-28 01:32:29 :iptables -t nat -F
15 root : 2016-06-28 01:32:29 :service iptables status
16 root : 2016-06-28 01:32:29 :service iptables save
...
1006 root : 2016-06-28
01:32:29 :history
1007 root : 2016-06-28
01:32:29 :ps
1008 root : 2016-06-28
02:00:20 :export HISTTIMEFORMAT="`whoami` : %F %T :"
1009 root : 2016-06-28 02:00:23 :history
这样一来就有用户和执行时间显示了,但留意到执行设置该环境变量前的记录都为登录时间
这是因为之前的都在没设置该环境变量时的记录,在~/.bash_history里就没存相应的执行时间数据
#1467043141
less /var/log/messages
#1467043359
logout
#1467043373
export HISTTIMEFORMAT="`whoami` : %F %T :"
#1467043375
history
设置该环境变量后的历史记录前会多出一个时间戳的数据
以上只针对bash类型的shell, history是具体的shell里实现的
其他类型的shell: sh,tcsh,ksh
客户在阿里云上购买了ECS云服务器作为应用服务器,应用运行中收到了阿里云来的异地IP登录警告短信,提示有可能登录密码已被黑客攻破
于是找到我们服务商帮忙分析处理
正常来说我们会先建议看是看该IP是否还在登录,如在就立刻kill掉其登陆会话
[root@iZ9408690vwZ ~]# who
root tty1 2016-06-28 00:08
root pts/0 2016-06-28 00:02 (223.73.58.208)
diyu pts/1 2016-06-28 00:16 (116.23.247.151)
root pts/2 2016-06-28 01:32 (223.73.58.208)
[root@iZ9408690vwZ ~]# ps
PID TTY TIME CMD
14245 pts/2 00:00:00 bash
14282 pts/2 00:00:00 ps
然后就让客户加固一下安全配置(换ssh端口,去除ssh弱算法支持,更换复杂度高一些的密码...)
最后就看异地登录者干了些什么,于是用了history命令打算查看该IP在相应的登录时间里操作了什么命令(当然也有可能已被黑客篡改)
[root@iZ9408690vwZ ~]# last
root pts/2 223.73.58.208 Tue Jun 28 01:32 still logged in
diyu pts/2 116.23.247.151 Tue Jun 28 00:41 - 01:08 (00:26)
diyu pts/2 116.23.247.151 Tue Jun 28 00:28 - 00:41 (00:12)
diyu pts/2 116.23.247.151 Tue Jun 28 00:27 - 00:28 (00:00)
diyu pts/2 116.23.247.151 Tue Jun 28 00:27 - 00:27 (00:00)
diyu pts/2 116.23.247.151 Tue Jun 28 00:18 - 00:27 (00:08)
[root@iZ9408690vwZ ~]# history
7 telnet 127.0.0.1 1234
8 ls
9 service iptables status
10 icmp-type
11 service iptables status
12 service iptables restart
13 service iptables status
14 iptables -t nat -F
15 service iptables status
16 service iptables save
可见客户没设置bash里历史记录的时间
开启bash的历史记录的时间记录方法为:
在用户配置文件中加入命令:
export HISTTIMEFORMAT="`whoami` : %F %T :"
配置了该环境变量后的history输出为:
[root@iZ9408690vwZ ~]# history
10 root : 2016-06-28 01:32:29 :icmp-type
11 root : 2016-06-28 01:32:29 :service iptables status
12 root : 2016-06-28 01:32:29 :service iptables restart
13 root : 2016-06-28 01:32:29 :service iptables status
14 root : 2016-06-28 01:32:29 :iptables -t nat -F
15 root : 2016-06-28 01:32:29 :service iptables status
16 root : 2016-06-28 01:32:29 :service iptables save
...
1006 root : 2016-06-28
01:32:29 :history
1007 root : 2016-06-28
01:32:29 :ps
1008 root : 2016-06-28
02:00:20 :export HISTTIMEFORMAT="`whoami` : %F %T :"
1009 root : 2016-06-28 02:00:23 :history
这样一来就有用户和执行时间显示了,但留意到执行设置该环境变量前的记录都为登录时间
这是因为之前的都在没设置该环境变量时的记录,在~/.bash_history里就没存相应的执行时间数据
#1467043141
less /var/log/messages
#1467043359
logout
#1467043373
export HISTTIMEFORMAT="`whoami` : %F %T :"
#1467043375
history
设置该环境变量后的历史记录前会多出一个时间戳的数据
以上只针对bash类型的shell, history是具体的shell里实现的
其他类型的shell: sh,tcsh,ksh
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍