第七星尘

记录一次服务器被入侵后的错误排查和恢复

今天早上收到空间商短信提醒说异地登陆,可能被黑客入侵。所以赶紧登录服务器看看什么情况。
先分析黑客可能的入侵路径。我打开/var/log/secure文件,有这么一行可疑记录:

Apr 17 08:40:23 AY140601123314Z sshd[13756]: Accepted publickey for root from 89.248.162.167 port 34991 ssh2
Apr 17 08:40:23 AY140601123314Z sshd[13756]: pam_unix(sshd:session): session opened for user root by (uid=0)
Apr 17 08:40:43 AY140601123314Z sshd[13756]: pam_unix(sshd:session): session closed for user root

看来它是使用publickey远程登录的。好,那去看/root/.ssh/authorized_keys文件。打开文件后发现类似这样的信息:

REDIS0006? 牥"T   +PHPREDIS_SESSION:m2v8nclchqvbjrsce8d9t9l7s0 ?毪"T   +PHPREDIS_SESSION:4ji7minal2qih2m1susrembu47%v_code|s:4:"1317";visit_item_616|i:1;7?T   +PHPREDIS_SESSION:aukaaccd0eru3oc1a0nplvn473 ?"T   +PHPREDIS_SESSION:t8vgjc7fjpb7jpdcg857codv43 ぅ"T   +PHPREDIS_SESSION:56l2m5j36jnudu2u0ntoeeiph4 ?拾"T   +PHPREDIS_SESSION:4kefmbkmvm9ioqot8k1hvtl0d6visit_item_1135|i:1;麿'?T   +PHPREDIS_SESSION:ta2a6ulccpqn9oseppvou29ih3 喹"T   +PHPREDIS_SESSION:bq7ca7i7l6pdql8i55t03qjbp2 鼭悰"T   +PHPREDIS_SESSION:31afu6bmi5vt75edldf76f0112  qweA?
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAm8glBB05kyIgRXCs8WuRwV5zLVU0LjzL1eFl70hIj0/raIl1RxCMrm6u7+fLjxEgoaCiuoNrL+gb+9Z6uBPhIdF3Q61WLuNB/nQ83S3o3d6gW9urkYU3/jKO1y7RZ+E/3u5GNrFsdMl4xaLatjcj7KSU6WJo4c90OSu0RhzZLS2jWKOLiWF3JSwoKTXouAfcDebhyt97D/HF/mZsIIG9wZVVZVoqFpm/RSZvsYvDdICy8hk3osVXW5rSw0vpB9uWBSQBfiJ5/eKZBeKSkJE8s3T75/NFrrr0n6A3h7fODsjUTIOYjOcFqAyrzdBG59eo441MaqB4nThGk+007IACZw== root@dedi10243.hostsailor.com

看来是被写入了ssh-rsa私钥。先把此文件的插入信息清理掉,让黑客无法登录。从关键字“PHPREDIS_SESSION”可以看出,黑客是通过redis进来的。redis服务哪里留下了漏洞?我突然想到,应该是redis服务对外开放了无密码访问端口所致。上网搜索了下,果然是:
Redis未授权访问导致可远程获得服务器权限
好,知道对方的入侵路径了。那就赶快堵住漏洞。在redis配置文件/usr/local/redis/etc/redis.conf(可能视环境不同而路径不一样)增加
bind 127.0.0.1
这样便可以限制外网访问redis了。对了,如果你实在需要外网访问redis,可考虑通过防火墙来做限制而部限制本机ip才能访问redis.
漏洞堵住了,再慢慢看有没有其他东西被改动了,慢慢还原吧。

分享到: 更多
码字很辛苦,转载请注明来自第七星尘的技术博客《记录一次服务器被入侵后的错误排查和恢复》

评论

  1. 1 #1

    ❓ 😛 :sad: 👿 ❗ :smile: 😳 😀 😮 😯 😕 😎 😆 😡 😈 :roll:

    回复
    2017-05-23
  2. 阿来_Alex #2

    我之前一台云服务器让别人配置,也是redis默认设置,结果被人种了 minerd, 我看监控怎么一直那么高的CPU占用率和网络流量,然后登录到服务器才发现情况。
    如非必要,一定要修改redis为本机使用或者加密。

    回复
    2016-10-28
    • vodo

      不开放外网端口不就行了

      回复
      2017-11-4
  3. 刘明 #3

    建议博主可以配置redis密码,我现在就有用redis

    回复
    2016-06-12
  4. hua #4

    有黑客可能就用这个漏洞来勒索了。

    回复
    2016-04-18
    • 第七星尘

      好在只是个人服务器,放个人博客什么的,不值什么钱。要勒索也应该找企业服务器去

      回复
      2016-04-18