服务器维护过程中踩过的坑儿

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出的结果,逐一试错。缕清关系,按照操作系统执行的流程,逐一排查,找到「根源」后,方可动手



posted on 2017-06-17 22:05  柴科夫斯不是基  阅读(115)  评论(0编辑  收藏  举报

导航