科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>Linux系统密码恢复实践

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

安装设置的简单过于简单的数字密码客户没有进行更改,估计服务器已经被坏人光顾过了。通过协商,客户将服务器拿回自己的公司等待我们上门去恢复密码。

来源: 2007年10月18日

关键字:服务器 root 恢复 密码 系统 Linux 服务器

  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系统的使用和设置也提高和长进迅速。

推广二维码
邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

重磅专题