[安全公告] Redis Crackit 入侵事件通告 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
arronliu
V2EX    云计算

[安全公告] Redis Crackit 入侵事件通告

  •  1
     
  •   arronliu 2015-11-11 14:23:55 +08:00 7640 次点击
    这是一个创建于 3622 天前的主题,其中的信息可能已经有所发展或是发生改变。

    近日曝出大规模利用 Redis 漏洞进行入侵的事件,会给用户的 Redis 运行环境以及 Linux 主机造成安全风险,请可能被漏洞影响的用户仔细阅读本文,并做相应的处理。

    容易遭受入侵的环境

    用户自建的运行了 Redis 服务的 Linux 主机,并在公网上开放了 6379 的 Redis 端口

    入侵现象

    • Redis 可能被执行过 flushall 命令
    • Redis 内建了名为 crackit 的 key
    • Redis 的 dir 参数指向了 /root/.ssh
    • /root/.ssh/authorized_keys 被覆盖或者包含 Redis 相关的内容

    修复办法

    • 以非 root 权限启动 Redis
    • 增加 Redis 密码验证
    • 禁止公网开放 Redis 端口, 例如可以在青云防火墙上禁用 6379 Redis 的端口
    • 检查 authorized_keys 是否非法

    温馨提示:青云提供的 Redis 服务是运行在私有网络中的,并且已经考虑了安全加固措施,同时提供密钥验证的配置,不会受到该漏洞的影响,请用户放心使用。

    关于入侵事件的更多详情还可以参见:https://nosec.org/bobao/redis_crackit

    另外,有任何其他问题可以工单与我们联系。

    QingCloud 技术团队

    38 条回复    2015-11-18 09:22:28 +08:00
    ququzone
        1
    ququzone  
       2015-11-11 16:07:49 +08:00   1
    昨天公司服务器中招了,数据全被清了,还好不是正式数据。虽然它给我的 redis 里面放了 crackit 的 key ,不过我们服务器是禁止 root 用户 ssh 登录的,所以没有造成其他影响。大家在服务器里面设置一定要加 **禁止 root 远程登录 **
    shiny
        2
    shiny  
       2015-11-11 16:09:45 +08:00
    想起前几天一个帖子 /t/234520
    master
        3
    master  
       2015-11-11 16:27:31 +08:00
    禁止 root 远程登录固然重要
    但是为什么要让 redis 使用 root 账号启动
    wawehi
        4
    wawehi  
       2015-11-11 16:33:18 +08:00
    开放 redis 公网访问
    以 ROOT 启动
    这两大错误绝不能犯呀
    est
        5
    est  
       2015-11-11 16:39:30 +08:00
    @master 出问题的公司,一般没运维团队。 redis 多半是码农自己编译的。跑起来就谢天谢地了。
    Showfom
        6
    Showfom  
    PRO
       2015-11-11 16:41:42 +08:00
    已经做好安全措施了。
    raysmond
        7
    raysmond  
       2015-11-11 16:44:44 +08:00
    禁止了 redis 公网访问,只能 localhost 访问,为什么还不能用 root 账号启动?
    raysmond
        8
    raysmond  
       2015-11-11 16:45:10 +08:00
    @wawehi 禁止了 redis 公网访问,只能 localhost 访问,为什么还不能用 root 账号启动?
    typcn
        9
    typcn  
       2015-11-11 16:46:41 +08:00
    这是何样的安全头脑。。。。

    允许公网访问 + 不设访问密码 + 以 Root 权限启动公网可访问没密码的程序
    lukew
        10
    lukew  
       2015-11-11 16:50:57 +08:00
    @est 对的。。
    aofall
        11
    aofall  
       2015-11-11 16:53:19 +08:00 via iPhone
    @master 自编译的就是以 root 启动的
    youxiachai
        12
    youxiachai  
       2015-11-11 16:54:02 +08:00
    这个算是 redis 漏洞????????????

    redis 的文档我记得,明显写了不要用 root 启动,也不要暴露外网....
    kn007
        13
    kn007  
       2015-11-11 17:15:05 +08:00
    自用的 VPS ,
    1.一直以非 root 权限启动 Redis
    2.从未开放公网 Redis 端口
    est
        14
    est  
       2015-11-11 17:16:51 +08:00
    @raysmond 这个思路,出问题是迟早的。

    安全的攻防对抗,防守是只要漏一点,全盘皆输。攻击是只要突破一点,全盘皆赢。安全问题不是你只跑 localhost 就能高枕无忧的事。

    Defenders think in lists. Attackers think in graphs.
    iugo
        15
    iugo  
       2015-11-11 17:25:22 +08:00
    @est 看来开发者学一些运维常识是必要的.
    xshell
        16
    xshell  
       2015-11-11 17:28:22 +08:00
    没做安全设置啊~~
    facert
        17
    facert  
       2015-11-11 17:39:21 +08:00
    1. 增加 Redis 密码验证基本能被暴力破解,因为 redis 太快了,每秒钟 12k 的速度。。。
    2. 禁止 root 用户登录,也可以猜测用户名,风险还是有的。
    3. 可以修改 redis 的默认端口 6379 ,配置 rename-command CONFIG "RENAME_CONFIG", 这样即使存在未授权访问, 也能够给攻击者使用 config 指令加大难度
    4. 如果 redis 只在本机需要访问,还是设置 bind 127.0.0.1 吧
    iyangyuan
        18
    iyangyuan  
       2015-11-11 17:51:24 +08:00 via iPhone
    端口都不改,被黑怪谁
    raysmond
        19
    raysmond  
       2015-11-11 17:51:41 +08:00
    @est 我就想知道怎么做到的
    Cloudee
        20
    Cloudee  
       2015-11-11 17:58:13 +08:00
    @raysmond 我感觉就算 bind 127.0.0.1 ,也有本地提权的风险,比如本地的某个 nobody 用户上跑的危险比较大的程序被黑了,通过 127.0.0.1 连上 redis 相当于可以以 root 身份任意写文件了
    mingyi0
        21
    mingyi0  
       2015-11-11 18:56:13 +08:00
    redis 还是尽量放在内网较好
    wy315700
        22
    wy315700  
       2015-11-11 19:02:26 +08:00
    不给服务器直接分配外网 IP 是有道理的
    msg7086
        23
    msg7086  
       2015-11-11 22:16:19 +08:00
    #8 @raysmond 永远不要用 ROOT 账号启动无降权的网络服务。
    nginx / php 这些,都是起了子进程降权跑的,主进程用 ROOT 并无所谓。
    redis 这种单进程系统,开 ROOT 跑就跟你直接把 ROOT 账号白送别人是一样的。
    如 20 楼所说,任何一个无权用户都可以直接连上你的 redis 把自己提权成 root 。
    branchzero
        24
    branchzero  
       2015-11-12 00:29:02 +08:00
    还好改了端口,幸运躲过一劫,然后赶紧去限制了高危命令并且加了密码,绑定内网 IP 监听。
    lshero
        25
    lshero  
       2015-11-12 00:34:06 +08:00
    阿里云 腾讯云 XX 云 估计都是有人批量扫段的吧
    mywaiting
        26
    mywaiting  
       2015-11-12 01:19:26 +08:00
    感觉这个安全公告都有点神经病了~

    1 、竟然有人连都个 iptables 不设置就跑在公网上?
    2 、竟然有人用 root 来启动关系到网络连接的进程?
    3 、竟然有人只想改个端口、 rename 个 config 命令的名字就想逃过这个安全漏洞?
    4 、竟然有人想随便设置个密码就打发 redis 了,你们真心不懂 Redis 的爆破速度有多快吗?
    5 、竟然有人把 .ssh 目录设置成除 root 外可读可写的?

    嗯嗯,安全这事情,看来还任重而道远
    msg7086
        27
    msg7086  
       2015-11-12 01:26:11 +08:00
    @mywaiting iptables 我就不开,但是对外端口我也不会乱开,所以并没什么影响。
    WildCat
        28
    WildCat  
       2015-11-12 08:09:51 +08:00 via iPhone
    扔 docker 里的是不是不用太担心?
    wawehi
        29
    wawehi  
       2015-11-12 08:46:27 +08:00
    @raysmond 绑定局域网地址也是可以的
    youxiachai
        30
    youxiachai  
       2015-11-12 09:05:19 +08:00
    @mywaiting 有个调查报告表示..全球还真不少..其中中国占了不少..
    jimrok
        31
    jimrok  
       2015-11-12 09:20:42 +08:00
    大部分数据都不是太重要,防护力度肯定不够。
    raysmond
        32
    raysmond  
       2015-11-12 10:33:58 +08:00
    @mywaiting 这黑的
    raysmond
        33
    raysmond  
       2015-11-12 10:35:03 +08:00
    @msg7086 了解了,我感觉我之前的 redis 出了一些奇怪的问题,感觉是 flushall 了一样,但是我觉得我的程序应该是没有出错的。
    newghost
        34
    newghost  
       2015-11-12 11:20:41 +08:00
    这个漏洞应该没想象的那么严重,

    装了个数据库不设密码? 我怀疑安装的人根本不会用 redis 。

    默认 apt-get 安装 redis 的用户和组 不应该是 redis:redis 吗?

    要造成这个漏洞的执行条件其实还挺不容易的。

    redis 对这个所谓的漏洞应该不予理会,没有必要把 redis 弄的太复杂

    不过可以更改默认配置 直接 bind 127.0.0.1 限制成本机访问
    BOYPT
        35
    BOYPT  
       2015-11-12 14:33:53 +08:00
    这压根不算漏洞,服务器管理人员的知识问题。
    ihciah
        36
    ihciah  
       2015-11-12 16:28:07 +08:00
    @raysmond “在 V2EX 看到 os 助教是什么体验”...
    raysmond
        37
    raysmond  
       2015-11-13 14:04:26 +08:00
    @ihciah 13 届的吗? V2EX 是一个神奇的站
    ihciah
        38
    ihciah  
       2015-11-18 09:22:28 +08:00
    @raysmond 13 级 233333
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2537 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 01:58 PVG 09:58 LAX 18:58 JFK 21:58
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86