IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

Linux系统密码恢复实践

2006年12月05日
/

23号接到客户电话,Linux服务器无法登陆,因为服务器放在联通的托管机房,所以无法到现场处理。经过联网检测,服务器无法Ping通,服务器所在网段的网关可以Ping通。开始以为是服务器托管机房网络出现问题,导致该服务器不能访问,后来经过使用扫描工具发现该服务器IP位置端口21,389,1002和1702有回应,所以断定网络不存在问题,服务器也在运行。经过了解,安装设置的简单过于简单的数字密码客户没有进行更改(这一点真是没有想到),估计服务器已经被坏人光顾过了。通过协商,客户将服务器拿回自己的公司等待我们上门去恢复密码。

周六上午到达客户那里以后首先进行密码恢复工作:

1,在服务器开机运行到Grub画面是,按E键进入登陆选择项,其中有三项,

Root (hd0,0)

kernel /boot/vmlinuz-2.4.21-15 EL ro root=LABEL=/

Initrd /initrd-2.4.21-15 EL.img

将光标移到第二项,然后再次按E键,在出现的界面里面最下面一行是:

Grub edit > kernel /boot/vmlinuz-2.4.21-15.EL ro root=LABEL=/ 

在ro之前添加 single 然后按回车返回刚才的Grub登陆选择界面,在第二项上按B键。

即可直接进入Linux 命令行,然后键入 passwd root 即可修改root用户的密码。

经过检查发现服务器上的SSHD服务运行正常,同时也没有发现运行21端口有打开,扫描到的389,1002和1702都没有打开,郁闷,因为我对Linux水平较差,所以不能像Windows平台一样,检查注册表或者运行的服务一样检查Linux服务运行的状况,看来需要奋起直追了。服务器也就开着平常使用的几个端口,22、3306等服务端口。防火墙的设置也是允许通过SSH的,真是郁闷为什么当时22端口和3306端口都探测不到打开的状态?系统那只有两个帐号,一个是Test帐号,当时是不是自己安装时设置的已经忘记了,另外一个是mysql帐号,用该帐号进行登陆也不能完成,该用户密码也已经被修改。不管那么多了,先把test帐号斩首示众吧。检查日志是发现2月22号以前的日志全都不见了,也就是坏人已经将前面的日志清空,也就无法追踪做过什么动作了。(将会关注日志的转移保存的方法,将日志转移到另外的服务器上去,或者通过邮件等等。)

2,重新安装和IP相关的包,IPtables、IPSec、Iproute、Initscripts、iputils。经过重新安装相关的包,将Root用户设置成一个足够强大的密码,MySQL帐号也是一样。并将连接公网的Eth0网卡在防火墙设置里面配置为不信任网卡,过滤掉没有规则允许通过的包。经过测试SSH可以正常通过连接,但是MySQL找不到地方设置,允许防火墙放行3306端口的包。(太菜了)

现场处理过程中忘记同时更新OPENSSH相关的包,(真是令人惊讶)因为以后需要SSH来提供远程连接服务,如果在SSH设置里面做点手脚就是留下一个很大的后门了,同时MySQL也没有进行重新安装。后来这两个问题只好等客户将服务器接入网络以后,将openssh在Redhat新版发行包里面的附带的openssh和telnet相关的包先行传送到服务器上去,然后安装telnet-server服务器,通过telnet连接移掉openssh重新安装新版的openssh。(为了设置telnet和更新openssh又进行了N个小时的学习和研究)然后在Iptable里面添加相应的规则允许3306的包通过。

附注:为了解决这个问题,多次烦扰在珠海工作的朋友梁宝玉和公司的同事,在此一并表示感谢。通过此次实做和几个工作日的艰苦奋战,对Linux系统的使用和设置也提高和长进迅速。


发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

详细剖析:企业采用Linux系统注意事项
详细剖析:企业采用Linux系统注意事项你是否已经厌烦了整日为Windows Sever打补丁,是否已经开始怀疑Windows Sever 服...
揭穿零日漏洞的七大误区
揭穿零日漏洞的七大误区又过了一个月,又有一个零日漏洞被报告,而恶意攻击者借助恶意软件,发动了钻这个...

本类热点