V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
raysmond
V2EX  ›  站长

昨天我的网站被黑了,/bin 目录,服务器程序和数据库都被删除了

  •  
  •   raysmond · 2015-12-06 10:03:50 +08:00 · 12513 次点击
    这是一个创建于 3275 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://7xo30i.com1.z0.glb.clouddn.com/assets/styles/CloudSpace/layerslider/skins/v5/Screen%20Shot%202015-12-06%20at%2009.55.07.png

    我是 https://www.expper.com 网站的站长,上个月才上线。没什么名气。不知道为何被盯上了,昨天阿里云云盾检测到服务器密码被破解。我重置密码才登录服务器,发现 /bin 目录,服务器目录, postgresql 数据库文件, .ssh 目录都被删除了,几乎不能用了,当时我的内心是奔溃的。

    还好我有备份数据库的习惯,写了个脚本每天备份,万幸这儿备份目录没有被删除啊。
    于是我重新初始化磁盘,重新安装各种服务,重新做了安全措施,改密码,搞到晚上一点才上线。

    我搞不懂黑客为什么要攻击我的网站服务器。也不知道是如何攻破的。

    请问大家有这样的经历吗?你们是如何保证服务器的安全的?

    79 条回复    2015-12-09 13:39:32 +08:00
    Anteiku
        1
    Anteiku  
       2015-12-06 10:06:00 +08:00 via Android
    重新做了安全措施,***改密码***。
    看样子楼主你还是不长记性……
    别用密码登陆了。
    raysmond
        2
    raysmond  
    OP
       2015-12-06 10:07:31 +08:00
    @Anteiku 我指数据库密码, redis 密码。你是如何登录服务器的?我加了 ssh key ,能够禁用密码登录吗?
    raysmond
        3
    raysmond  
    OP
       2015-12-06 10:09:47 +08:00
    @Anteiku 果然 ssh 可以禁用密码登录,谢谢提醒
    MrMario
        4
    MrMario  
       2015-12-06 10:10:33 +08:00 via iPhone   ❤️ 1
    修改 sshd.config :password login no
    如果数据库没有远程访问的需求,改为监听 127.0.0.1
    设置 fail2ban ,缓解暴力破解
    raysmond
        5
    raysmond  
    OP
       2015-12-06 10:12:57 +08:00
    @MrMario 嗯,数据库已经 bind 了 127.0.0.1
    hqs123
        6
    hqs123  
       2015-12-06 10:22:42 +08:00
    注意备份...
    duanzhanling
        7
    duanzhanling  
       2015-12-06 10:28:01 +08:00
    @MrMario 呵呵 说的不错呢,使用 fail2ban 封 IP ,然后再配置 SSH 禁止使用密码登陆,只能使用 ssh 密钥登陆,看你还破解去,嘿嘿……
    matrix67
        8
    matrix67  
       2015-12-06 10:30:06 +08:00
    楼主反正你密码也已经改了,说一下上一个密码是啥,我就想看看什么样的复杂度的密码能被扫到
    matrix67
        9
    matrix67  
       2015-12-06 10:31:24 +08:00
    另外,如果你不是随机的密码,其实可以把你的密码放到社工库里面搜一下,只要是在那里面出现过的,理论上讲都是弱密码,肯定能被扫到
    em70
        10
    em70  
       2015-12-06 10:40:12 +08:00 via Android
    换个端口,别用 22
    raysmond
        11
    raysmond  
    OP
       2015-12-06 10:51:43 +08:00
    @hqs123 嗯,每天都在备份重要的数据
    raysmond
        12
    raysmond  
    OP
       2015-12-06 10:53:19 +08:00
    @matrix67 上一个密码我也不记得了,我都是随意打的,数字+大小写字母混合,大概二十多位吧。
    raysmond
        13
    raysmond  
    OP
       2015-12-06 10:54:14 +08:00
    @matrix67 嗯,可以试试
    Anteiku
        14
    Anteiku  
       2015-12-06 11:11:18 +08:00
    万幸这儿*备份目录没有被删除*啊。
    至少有一份异地备份数据吧,楼主最好找个脚本把数据备份到 Dropbox 的脚本。
    KyleMeow
        15
    KyleMeow  
       2015-12-06 11:12:46 +08:00
    阿里云不是有自动快照吗?难道快照也删掉了?
    Anteiku
        16
    Anteiku  
       2015-12-06 11:14:10 +08:00
    ˊ_>ˋ 阿里云不带梯子连不上 Dropbox ,换别的也可以。
    raysmond
        17
    raysmond  
    OP
       2015-12-06 11:14:15 +08:00
    @Anteiku 我有用 dropbox uploader 和异地备份的脚本,只不过网站上个月才上线,还没有搞上传的事情就被黑了。看来真的是一点都不能掉以轻心啊。
    raysmond
        18
    raysmond  
    OP
       2015-12-06 11:14:51 +08:00
    @Anteiku 还好我买的阿里云香港服务器,上 dropbox 没问题
    raysmond
        19
    raysmond  
    OP
       2015-12-06 11:16:12 +08:00
    @KyleMeow 阿里云香港的那个挂在磁盘居然没有快照(一个月居然没有进行过快照,我也没有手动去创建),不知道为什么。
    KyleMeow
        20
    KyleMeow  
       2015-12-06 11:56:17 +08:00
    @raysmond 我是每天凌晨 cron 自动备份后 rsync 推送到海外服务器的, Dropbox 公有云总感觉数据放那里不安全,容量也小。
    lhbc
        21
    lhbc  
       2015-12-06 12:17:23 +08:00
    @raysmond 你这个密码,被暴力破解的可能性极小
    你还是查代码或者配置上有什么漏洞吧
    imn1
        22
    imn1  
       2015-12-06 12:55:53 +08:00
    攻击却低调的,估计是练手
    zonghua
        23
    zonghua  
       2015-12-06 12:59:56 +08:00
    吖,我每天都有浏览,没发生什么事。
    raysmond
        24
    raysmond  
    OP
       2015-12-06 13:06:53 +08:00 via iPhone
    @lhbc 可能是 redis 的漏洞沒搞好,我重新搞了一下
    raysmond
        25
    raysmond  
    OP
       2015-12-06 13:07:22 +08:00 via iPhone
    @zonghua 昨晚掛掉了,我重新安裝了系統,重新部署好了
    ipconfiger
        26
    ipconfiger  
       2015-12-06 13:17:37 +08:00
    @raysmond 你的 redis 开放给公网了?
    lxjsmdc
        27
    lxjsmdc  
       2015-12-06 13:21:32 +08:00
    @raysmond 初入 linux 求列一份做安全防范的设置清单 谢谢
    SharkIng
        28
    SharkIng  
       2015-12-06 13:24:03 +08:00
    备份的重要性
    eccstartup
        29
    eccstartup  
       2015-12-06 13:59:10 +08:00
    第一次被拦截的时候,没有给你提醒?
    br00k
        30
    br00k  
       2015-12-06 14:29:22 +08:00
    被机器人扫描到的吧。
    kendetrics
        31
    kendetrics  
       2015-12-06 15:02:28 +08:00
    aisin
        32
    aisin  
       2015-12-06 15:03:31 +08:00
    赶紧去给我的服务器设置了 dropbox 每天定时备份
    raysmond
        33
    raysmond  
    OP
       2015-12-06 15:10:47 +08:00 via iPhone
    @ipconfiger 沒啊。 bind 了本地,只是以 root 運行了
    raysmond
        34
    raysmond  
    OP
       2015-12-06 15:20:21 +08:00 via iPhone
    @eccstartup 我在外地,沒收到提醒。
    timothyye
        35
    timothyye  
       2015-12-06 15:50:18 +08:00 via Android
    看样子楼主你还是不长记性……
    禁止密码登录,用证书登录妥妥的……
    MrMario
        36
    MrMario  
       2015-12-06 16:00:04 +08:00
    phperstar
        37
    phperstar  
       2015-12-06 16:19:16 +08:00
    需要兼职运维不,可以联系我,哈哈
    ianisme
        38
    ianisme  
       2015-12-06 16:44:35 +08:00
    因为可以做跳板,可以扫肉鸡,可以干很多事情,他们其实和你无仇无怨,只是碰巧遇到你了
    GeekTest
        39
    GeekTest  
       2015-12-06 16:47:03 +08:00 via Android
    用 key 登录 禁用密码登录 IP 白名单 基本没啥问题
    raysmond
        40
    raysmond  
    OP
       2015-12-06 18:08:18 +08:00 via iPhone
    @GeekTest 基本我也按照這個思路了
    GeekTest
        41
    GeekTest  
       2015-12-06 18:18:57 +08:00 via Android
    @raysmond 要不 ssh 监听内网,然后弄个 VPN
    raysmond
        42
    raysmond  
    OP
       2015-12-06 20:42:02 +08:00
    @phperstar 付不起运维的钱
    raysmond
        43
    raysmond  
    OP
       2015-12-06 21:01:00 +08:00
    @MrMario 我看看学习一下
    love
        44
    love  
       2015-12-06 21:37:39 +08:00
    LZ 用这个随机的密码关 ssh 什么事啊,明显不可能是 ssh 的问题。
    xdeng
        45
    xdeng  
       2015-12-06 21:40:11 +08:00 via iPhone
    阿里云硬盘&系统盘。不是自动备份的嘛。
    raysmond
        46
    raysmond  
    OP
       2015-12-06 21:40:39 +08:00
    @xdeng 我的阿里云香港的服务器好像没有自动备份,我得问问阿里云怎么回事去
    raysmond
        47
    raysmond  
    OP
       2015-12-06 21:41:05 +08:00
    @love 我也觉得,可能是通过其他漏洞进来的,不太可能是暴力破解密码
    lyragosa
        48
    lyragosa  
       2015-12-06 21:41:20 +08:00
    我推荐一个, virtualmin 的自带备份,然后 dropbox 自动上传,谁用谁知道。

    唯一缺点就是太占空间……
    raysmond
        49
    raysmond  
    OP
       2015-12-06 21:42:47 +08:00
    @lyragosa 谢谢,我去了解一下
    Parallel
        50
    Parallel  
       2015-12-07 01:25:17 +08:00
    @matrix67 噗,哥们你这名字取的, Matrix67 本人知道吗。。 LOL
    hoythan
        51
    hoythan  
       2015-12-07 08:47:52 +08:00
    我只想问楼主的网站是什么程序?
    hoythan
        52
    hoythan  
       2015-12-07 08:49:47 +08:00
    还有注册的账户永远提示登录失败
    hoythan
        53
    hoythan  
       2015-12-07 08:50:31 +08:00
    @hoythan 尼玛,找回密码直接提示邮箱不存在...前一秒还在邮箱里验证账号的,后一秒就不认了...
    yuriko
        54
    yuriko  
       2015-12-07 08:55:40 +08:00
    ……我会说,我买了 VPS 才 3 天就爆炸了么……
    xuhaoyangx
        55
    xuhaoyangx  
       2015-12-07 09:00:58 +08:00
    目测-,-密码比较简单

    常识啊, ssh 证书登录 关闭密码和 root 登录。

    fail2ban + 防火墙 检测状态 开 ssh 端口访问

    数据库除了 bind ,也要用防火墙限制。
    raysmond
        56
    raysmond  
    OP
       2015-12-07 09:08:23 +08:00
    @hoythan 可能是浏览器的问题,你的账号一直没有激活,我帮你激活了。这个问题比较傻逼,得改一下。
    raysmond
        57
    raysmond  
    OP
       2015-12-07 09:08:49 +08:00
    @yuriko 你比较惨
    raysmond
        58
    raysmond  
    OP
       2015-12-07 09:15:42 +08:00
    @xuhaoyangx ssh 禁用了密码登录, fail2ban 和防火墙也在搞起,希望管用
    wawehi
        59
    wawehi  
       2015-12-07 09:17:44 +08:00   ❤️ 1
    所有端口改成非默认
    不是必须的话不开放外网服务端口, 数据库,缓存这些都只开 127 或者局域网 IP
    SSH 登录必须 KEY ,禁用掉密码登录,禁用 ROOT 远程
    进程尽量不以 root 启动
    关注自己网站所用的程序的漏洞
    关注自己所用的开源程序的漏洞
    及时更新版本
    ooTwToo
        60
    ooTwToo  
       2015-12-07 09:27:40 +08:00
    @wawehi 赞赞赞
    atan
        61
    atan  
       2015-12-07 09:33:25 +08:00
    阿里云 SSD 的是没有自动快照的,一直不明白为啥
    raysmond
        62
    raysmond  
    OP
       2015-12-07 09:34:23 +08:00
    @atan 是啊,搞不懂
    msg7086
        63
    msg7086  
       2015-12-07 09:47:31 +08:00
    「写了个脚本每天备份」
    为啥不用 MySQL 复制功能。
    raysmond
        64
    raysmond  
    OP
       2015-12-07 09:50:44 +08:00
    @msg7086 MySQL 我都没用
    msg7086
        65
    msg7086  
       2015-12-07 09:54:02 +08:00
    @raysmond 所以才说要用啊。另外 Redis 也支持复制啊。不知道你用的是哪家的。
    raysmond
        66
    raysmond  
    OP
       2015-12-07 09:58:05 +08:00
    @msg7086 不用 MySQL ,单机跑 Redis 也暂时不需要复制
    lovelynn
        67
    lovelynn  
       2015-12-07 10:01:26 +08:00
    redis 最近爆了一个漏洞 http://www.freebuf.com/vuls/85021.html
    看来就是这个情况了,可以远程写 SSH 公钥,这个洞都玩了好多天了。。。解决方案
    1 )禁止使用 root 权限启动 redis 服务;
    2 )对 redis 访问启用密码认证,并且添加 IP 访问限制;
    3 )尽可能不对公网直接开放 SSH 服务。
    msg7086
        68
    msg7086  
       2015-12-07 10:01:45 +08:00
    @raysmond 复制的主要目的是备份而不是读写分离负载均衡。
    重要网站、商业网站,为了防止数据丢失的话,复制备份比每日 dump 要好得多,因为前者是实时的。
    就算是机房被轰炸了,你也能拿到最后 1 秒钟那个时刻的数据。
    ( Redis 的话是最后几分钟的数据)

    当然如果本来就没多少写入的话倒是无所谓……
    lovelynn
        69
    lovelynn  
       2015-12-07 10:05:43 +08:00
    另外一点,黑客可能不是针对你,而是在钟馗之眼类似的这种站点搜索到了楼主服务器有 redis 漏洞而已。脑补黑客独白:我不是指你是傻逼,而是在座的 redis 都是傻逼 2333333
    raysmond
        70
    raysmond  
    OP
       2015-12-07 10:07:35 +08:00
    @msg7086 小网站暂时用不着读写分离或负载均衡。数据库 replication 倒是做备份的一个不错的选择。数据库复制又不是 MySQL 才有的功能。

    anyway ,小网站,数据量小。数据库复制,负载均衡留给以后考虑
    raysmond
        71
    raysmond  
    OP
       2015-12-07 10:08:21 +08:00
    @lovelynn 嗯,前面 1 , 2 已经做了
    msg7086
        72
    msg7086  
       2015-12-07 10:11:43 +08:00
    @lovelynn 发行版自带的 redis 应该都是无权用户。
    如果抓到漏洞被黑,肯定是运维能力不到家了……
    lovelynn
        73
    lovelynn  
       2015-12-07 10:12:24 +08:00
    @raysmond 这个洞刚爆出来的时候,玩了好久国外的站。楼主也是脸差,估计漏洞搜索引擎优先级排名很高。。一般也就玩搜索引擎搜出来的前几个。。
    lovelynn
        74
    lovelynn  
       2015-12-07 10:13:16 +08:00
    @msg7086 恩 说的很有道理~~~
    raysmond
        75
    raysmond  
    OP
       2015-12-07 10:20:49 +08:00
    @lovelynn
    @msg7086 Redis 已经 bind 了本地,启用密码,已非 root 用户运行,目前一切正常。这个漏洞太明显了。
    raysmond
        76
    raysmond  
    OP
       2015-12-07 11:15:48 +08:00
    @hoythan 这个问题会在某些浏览器中出现,已经 fixed ,以后不会出现了
    tSQghkfhTtQt9mtd
        77
    tSQghkfhTtQt9mtd  
       2015-12-07 13:03:05 +08:00
    完全没想通阿里既然都检测到是“被破解”为什么不拦下来。。
    linjuyx
        78
    linjuyx  
       2015-12-09 13:06:49 +08:00
    @raysmond 阿里云 io 优化实列没有自动快照
    raysmond
        79
    raysmond  
    OP
       2015-12-09 13:39:32 +08:00
    @linjuyx 很奇怪,居然没有,这不科学
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2194 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 01:15 · PVG 09:15 · LAX 17:15 · JFK 20:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.