服务器维护过程中踩过的坑儿
2017-06-17 22:05
148 查看
2. 删除vim
vim删除后重装,导致系统登录异常:sudo命令失效,显示/etc/sudoers文件不存在
查看系统中已安装的vim软件包
依次查看依赖关系,发现vim-minimal与sudo存在依赖
故删除vim-minimal时,会连带删除sudo,导致系统登录异常
总结:
调用yum {remove|erase}删除软件时,需仔细核对依赖关系,留意「will be erased」字样,谨防删除系统文件
1. 攻击
问题:root无法登陆,ssh自动断开
环境:CentOS7 x86_64
背景:
◇ 对路由器做端口映射,映射「22」号端口,后启动「DMZ」,直接将家里的主机暴露于公网
◇「root」用户密码为弱口令「123456」
事件回顾:
① 发现CPU过高
② top命令显示系统负载高达4,一个名为「26487」的进程CPU利用率为200
③ kill命令杀死进程
④ 短时间内,ssh连接自动断开
⑤ 重启系统,root登录,自动回退到登录界面
⑥ ssh尝试连接,仍旧失败
尝试:
① ssh远程执行命令「date」「reboot」,结果:无输出无反应,失败
② 使用「rongxj」用户登陆,结果:成功
查看各配置文件,结果:无权限
以「sudo cmd」执行命令,结果:'rongxj is not in the sudoers file.'
③ 进入单用户模式,结果:很多文件在单用户模式下不可见
转机:
xshell重新登录「root」,连接成功后,Bash提示字符串出现前,反复快速「Ctrl+C」,结果:简行模式,登陆成功,完整root权限
排查:
查看~/.bashrc,内容只一行「exit」
至此真相大白
分析:
登陆shell脚本调用顺序为
「/etc/profile」——「.bash_profile」——「.bashrc」——「/etc/bashrc」
「.bash_profile」中以「source」命令运行「.bashrc」,而后由「.bashrc」以「source」命令运行「/etc/bashrc」,臭虫们将「.bashrc」文件内容改为「exit」,使得脚本调用过程提前结束,故而「root」用户登录失败(自动退出)
调查:
「last」查看登录信息
上午「10:30」左右,刚把主机暴露于外网,在「弱口令」的条件下,就有两个陌生的IP登录进来,「124.68.10.20」(天津)和「195.22.127.83」(波兰)
「history」中没有找到有价值的线索
总结:
① 需为一两个普通用户赋予「root」权限,以备不测
② 任何暴露于公网的东西,一是务必使用强密码,二是尽量修改众所周知的默认端口
③ 定期做备份,虚拟机则开启「自动快照保护」
经验:
在不确定bug前,沉住气,不可按照Google或Baidu出的结果,逐一试错。缕清关系,按照操作系统执行的流程,逐一排查,找到「根源」后,方可动手
vim删除后重装,导致系统登录异常:sudo命令失效,显示/etc/sudoers文件不存在
查看系统中已安装的vim软件包
依次查看依赖关系,发现vim-minimal与sudo存在依赖
故删除vim-minimal时,会连带删除sudo,导致系统登录异常
总结:
调用yum {remove|erase}删除软件时,需仔细核对依赖关系,留意「will be erased」字样,谨防删除系统文件
1. 攻击
问题:root无法登陆,ssh自动断开
环境:CentOS7 x86_64
背景:
◇ 对路由器做端口映射,映射「22」号端口,后启动「DMZ」,直接将家里的主机暴露于公网
◇「root」用户密码为弱口令「123456」
事件回顾:
① 发现CPU过高
② top命令显示系统负载高达4,一个名为「26487」的进程CPU利用率为200
③ kill命令杀死进程
④ 短时间内,ssh连接自动断开
⑤ 重启系统,root登录,自动回退到登录界面
⑥ ssh尝试连接,仍旧失败
尝试:
① ssh远程执行命令「date」「reboot」,结果:无输出无反应,失败
② 使用「rongxj」用户登陆,结果:成功
查看各配置文件,结果:无权限
以「sudo cmd」执行命令,结果:'rongxj is not in the sudoers file.'
③ 进入单用户模式,结果:很多文件在单用户模式下不可见
转机:
xshell重新登录「root」,连接成功后,Bash提示字符串出现前,反复快速「Ctrl+C」,结果:简行模式,登陆成功,完整root权限
排查:
查看~/.bashrc,内容只一行「exit」
至此真相大白
分析:
登陆shell脚本调用顺序为
「/etc/profile」——「.bash_profile」——「.bashrc」——「/etc/bashrc」
「.bash_profile」中以「source」命令运行「.bashrc」,而后由「.bashrc」以「source」命令运行「/etc/bashrc」,臭虫们将「.bashrc」文件内容改为「exit」,使得脚本调用过程提前结束,故而「root」用户登录失败(自动退出)
调查:
「last」查看登录信息
上午「10:30」左右,刚把主机暴露于外网,在「弱口令」的条件下,就有两个陌生的IP登录进来,「124.68.10.20」(天津)和「195.22.127.83」(波兰)
「history」中没有找到有价值的线索
总结:
① 需为一两个普通用户赋予「root」权限,以备不测
② 任何暴露于公网的东西,一是务必使用强密码,二是尽量修改众所周知的默认端口
③ 定期做备份,虚拟机则开启「自动快照保护」
经验:
在不确定bug前,沉住气,不可按照Google或Baidu出的结果,逐一试错。缕清关系,按照操作系统执行的流程,逐一排查,找到「根源」后,方可动手
相关文章推荐
- 服务器维护过程中踩过的坑儿
- 服务器维护过程中踩过的坑儿
- 服务器设计过程中踩过的坑儿
- 天下数据浅谈服务器维护过程中应该注意的问题
- 服务器设计过程中踩过的坑儿
- 服务器设计过程中踩过的坑儿
- 博客园服务器故障发生及处理全过程纪录[全部写完, 请阅读文后的注意]
- [公告]今天12:00-15:00由于服务器维护造成无法访问博客园
- FreeBSD网站平台建设全过程(六、安装配置视频点播服务器)
- 开发完成端口服务器过程中,实现post两次完成调用的问题和最终解决
- [通知]19:30-20:30进行服务器维护
- Linux下jsp开发环境,apache,tomcat服务器配置过程:
- 网游服务器设计--到底应该追求性能和效率还是应该追求架构清晰易维护?
- FreeBSD网站平台建设全过程(三、安装配置web服务器)
- FreeBSD网站平台建设全过程(五、安装配置E-mail服务器)
- VC学习资料收集(10):udp服务器设计过程总结
- IT整体外包后业务系统从开发项目转入维护项目的过程管理
- 存储过程中操作了链接服务器时要注意的问题
- UNIX下DNS服务器之管理维护篇