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

2. 删除vimshell

vim删除后重装,致使系统登陆异常:sudo命令失效,显示/etc/sudoers文件不存在vim

查看系统中已安装的vim软件包bash


依次查看依赖关系,发现vim-minimal与sudo存在依赖ssh


故删除vim-minimal时,会连带删除sudo,致使系统登陆异常spa


总结:操作系统

调用yum {remove|erase}删除软件时,需仔细核对依赖关系,留意「will be erased」字样,谨防删除系统文件进程



1. 攻击事件

问题:root没法登录,ssh自动断开
路由

环境:CentOS7 x86_64rem

背景:

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

相关文章
相关标签/搜索