V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
chohoor
V2EX  ›  云计算

国内云服务的安全问题

  •  
  •   chohoor · 2016-12-03 18:39:37 +08:00 via Android · 7505 次点击
    这是一个创建于 2705 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在 aliyun 上新开了一个 centos7.2 的服务器,改完 hostname ,发现重启后还会变回去。研究了一下,发现是 cloud-init 在每次开机时都会改一下 hostname ,禁止这个服务,重启,成功,于是有感。

    通过查资料发现,在创建云主机的时候是通过 cloud-init 注入密码,密钥,进行一些初始化的配置(看过 nova 代码,发现 kvm 底层就可以注入密码了,不用在虚拟机里添加其它服务)。

    然而不仅仅是这些,在研究弹性伸缩的时候发现远程还可以通过 cloud-init 执行脚本!!这不是等于留了一个很大的后门给云服务商吗?细思极恐。

    以前用阿里的服务器, rc.local 里有好些开机运行的脚本,最近开的这台虽然没有了,但是通过 systemctl 看到还是有阿里和一些不知道干什么的服务。

    监控和安全这些功能,完全可以在虚拟机外部而不用给虚拟机预装服务就可以实现,有时候,我们只需要一个干净的,而不是通过被预装了 xx 服务的镜像来创建的服务器。然而,国内的服务商好像普遍都没有用户上传自定义镜像来创建服务器的功能,目前就知道国外的 vultr 可以。

    楼主云计算专业还没毕业,以上个人见解。
    对于云服务器后门,大家有什么看法。顺便请推荐国内哪家可以上传自定义镜像来创建服务器。
    71 条回复    2016-12-06 14:34:18 +08:00
    mandymak
        1
    mandymak  
       2016-12-03 19:11:57 +08:00
    @chohoor 母鸡是人家的,有甚么隐私可言。
    chohoor
        2
    chohoor  
    OP
       2016-12-03 19:25:56 +08:00 via Android
    @mandymak vultr 还是可以自定义镜像的,至少系统是干净的。
    sxul07
        3
    sxul07  
       2016-12-03 19:35:11 +08:00
    国内没见过 国外 KVM 的主机基本可以自己上传的 吧=。=

    不过硬件在人家手上,真要弄啥你也没啥办法…
    stabc
        4
    stabc  
       2016-12-03 19:45:35 +08:00
    跑题一下,云计算专业都教啥?
    chohoor
        5
    chohoor  
    OP
       2016-12-03 19:46:24 +08:00 via Android
    @sxul07 隐私是其一,还有就是被预装了服务,感觉很烦。
    iA7489
        6
    iA7489  
       2016-12-03 19:51:38 +08:00 via iPhone
    vps2arch
    chohoor
        7
    chohoor  
    OP
       2016-12-03 19:53:59 +08:00 via Android   ❤️ 1
    @stabc 我是云架构方向,基础课程和计算机系的差不多,多了 python , django , linux , shell ,虚拟化, kvm , openstack 架构,搭建,开发,运维这些
    chohoor
        8
    chohoor  
    OP
       2016-12-03 20:01:24 +08:00 via Android
    @iA7489 the fastest way to [convert] a vps to arch linux!!!
    vultr
        9
    vultr  
       2016-12-03 20:03:11 +08:00
    有阿里云的 ecs 上 ping nginx.org 得到以下这些内容,不知道是不是只有我遇到这种情况。

    ping nginx.org
    PING nginx.org.cn (47.90.14.232) 56(84) bytes of data.
    64 bytes from 47.90.14.232: icmp_seq=1 ttl=110 time=52.6 ms
    64 bytes from 47.90.14.232: icmp_seq=2 ttl=110 time=52.7 ms
    64 bytes from 47.90.14.232: icmp_seq=3 ttl=110 time=52.6 ms
    64 bytes from 47.90.14.232: icmp_seq=4 ttl=110 time=52.7 ms
    64 bytes from 47.90.14.232: icmp_seq=5 ttl=110 time=52.7 ms
    64 bytes from 47.90.14.232: icmp_seq=6 ttl=110 time=52.6 ms
    64 bytes from 47.90.14.232: icmp_seq=7 ttl=110 time=52.7 ms
    64 bytes from 47.90.14.232: icmp_seq=8 ttl=110 time=52.6 ms
    64 bytes from 47.90.14.232: icmp_seq=9 ttl=110 time=52.7 ms
    64 bytes from 47.90.14.232: icmp_seq=10 ttl=110 time=52.7 ms
    64 bytes from 47.90.14.232: icmp_seq=11 ttl=110 time=52.6 ms
    64 bytes from 47.90.14.232: icmp_seq=12 ttl=110 time=52.6 ms
    64 bytes from 47.90.14.232: icmp_seq=13 ttl=110 time=52.6 ms
    ^C
    --- nginx.org.cn ping statistics ---
    14 packets transmitted, 13 received, 7% packet loss, time 13022ms
    rtt min/avg/max/mdev = 52.629/52.698/52.748/0.039 ms
    jimzhong
        10
    jimzhong  
       2016-12-03 21:02:04 +08:00
    哪个大学本科开云计算专业?
    chohoor
        11
    chohoor  
    OP
       2016-12-03 21:12:44 +08:00 via Android
    @vultr 改 dns 试试呢
    xrpbtc
        12
    xrpbtc  
       2016-12-03 22:45:05 +08:00
    吓担心, aws 一样是这样的
    chohoor
        13
    chohoor  
    OP
       2016-12-04 00:59:58 +08:00 via Android
    @xrpbtc 安全和功能是成反比的,想要更多的功能就要给云服务商更多的权利,还是有很多功能依赖于这些后门。
    doubleflower
        14
    doubleflower  
       2016-12-04 06:47:12 +08:00 via Android
    洁癖啊,得电
    aveline
        15
    aveline  
       2016-12-04 08:54:38 +08:00 via iPhone
    Vultr 也是用的 cloud-init 哦,是不是更加细思恐极了呢……

    呵呵
    vultr
        16
    vultr  
       2016-12-04 09:33:56 +08:00
    @chohoor 是的,改了 dns 就没事了,但很多人都是不改的,如果装的 nginx 都是被换过的,那就麻烦大了。
    hanmiao
        17
    hanmiao  
       2016-12-04 09:54:30 +08:00   ❤️ 2
    @chohoor 别介意蛤
    利用 OSS 自定义镜像给阿里云 ECS 服务器安装操作系统
    https://bbs.aliyun.com/read/301207.html


    我真不是有心的 233
    tempdban
        18
    tempdban  
       2016-12-04 10:31:27 +08:00 via Android   ❤️ 2
    看了 nova 代码…兄弟你这代码是怎么看的, kvm 怎么能直接注入文件? nbd?
    注入文件的几个招除了用 nbd 直接挂载,其他的都是要守护进程适配的。
    先毕业,之后少提看了 nova 代码
    chohoor
        19
    chohoor  
    OP
       2016-12-04 10:40:20 +08:00 via Android
    @tempdban 看到了挂载镜像文件注入那里,研究不深,多谢指点,有时间再多看看
    chohoor
        20
    chohoor  
    OP
       2016-12-04 10:41:52 +08:00 via Android
    @hanmiao 额……好嘛,还是我太年轻了
    chohoor
        21
    chohoor  
    OP
       2016-12-04 10:43:02 +08:00 via Android
    @aveline 自己上传的镜像没有 cloud-init 哦
    chohoor
        22
    chohoor  
    OP
       2016-12-04 10:44:20 +08:00 via Android
    @doubleflower 吓!只是想要个干净的系统,知道系统在干什么而已……
    hanmiao
        23
    hanmiao  
       2016-12-04 10:51:03 +08:00
    其实我在阿里云相关的技术群里聊这种事,被各种教育(非阿里云人员)。要考虑稳定性,要注重业务而不是自建镜像。多个有大量客户的都表示别作死,业务第一。除非你没客户就是折腾着玩,没太大意义。居然都表示有这功能也不会去用。
    xiaoc19
        24
    xiaoc19  
       2016-12-04 10:52:16 +08:00
    愿意用国内的,就放弃安全吧
    vultr
        25
    vultr  
       2016-12-04 11:22:54 +08:00
    @hanmiao 如果你遇到 https://www.v2ex.com/t/217931 这样的事件,那就不知道是谁在作死了。多些人从技术上关注阿里云并不是什么坏事情。
    9hills
        26
    9hills  
       2016-12-04 11:30:25 +08:00 via iPhone
    @tempdban nova 还真能在没有 agent 的情况下注入 root 密码。

    http://docs.openstack.org/admin-guide/compute-admin-password-injection.html

    KVM 是不需要 Agent 的, XEN Windows 需要 Agent 注入
    hanmiao
        27
    hanmiao  
       2016-12-04 11:36:52 +08:00
    @vultr 除非你真遇到这种情况,然而由于阿里云对监控和杀毒之类的丧心病狂的集成。你是要用呢,还是当 vps 不要各种服务器运行数据呢?
    chohoor
        28
    chohoor  
    OP
       2016-12-04 12:06:58 +08:00 via Android
    @hanmiao 个人折腾没什么重要业务,还是想要干净的系统。如果是企业,也应该有专业运维吧。
    chohoor
        29
    chohoor  
    OP
       2016-12-04 12:11:31 +08:00 via Android
    @xiaoc19 一般用香港节点,只是搭个梯子,博客和小程序这些,没什么重要的东西,但总有一种被别人偷窥的不安全感。用国外的话 ping 太高。
    uuuing
        30
    uuuing  
       2016-12-04 12:13:56 +08:00
    按照你的理论 你干脆自建机房算了 然后机房门口养 10 条狼狗谁进来咬死谁,你就自己在机房呆着,饿了叫外卖,大小便机房解决。这样理论上绝对安全
    mandymak
        31
    mandymak  
       2016-12-04 12:23:10 +08:00
    @chohoor 那就用来中转加速到 vultr 好了。
    chohoor
        32
    chohoor  
    OP
       2016-12-04 12:32:26 +08:00 via Android
    @uuuing 没有人想把自己的隐私和安全暴露给别人,除非那些什么都不会的。我是只是自己拿来玩玩,虽然里面也没什么重要东西,云服务商也对我没兴趣。有业务需要云服务商支持的那就另当别论。
    uuuing
        33
    uuuing  
       2016-12-04 12:36:30 +08:00
    @chohoor 那你就用国外的,相对国内来说老外就算拿到你的资料对你的威胁也少一些。
    chohoor
        34
    chohoor  
    OP
       2016-12-04 12:38:27 +08:00 via Android
    @mandymak 用 vultr 在东京节点开了一个,发现不像以前那样绕道美国再回来了,延迟 80+到 100 多,中转的话两个延迟加一起好像更慢了呢……
    mandymak
        35
    mandymak  
       2016-12-04 12:41:45 +08:00
    @chohoor 广东电信?
    tempdban
        36
    tempdban  
       2016-12-04 13:13:38 +08:00 via Android
    @9hills 兄弟,你也看的不深啊, libvirt 注入密码,不也是用 nbd 么? nbd 只支持 qcow(2)格式的硬盘镜像,上了 ceph 之后硬盘镜像都是 raw 的,再所谓的 libvirt 注入一下试试,
    这种东西不是看了文档,看了几行代码就是懂了会了,要动手。
    9hills
        37
    9hills  
       2016-12-04 13:58:45 +08:00
    @tempdban 呵呵,半瓶子醋。 Ceph 一定要用 raw 格式?你自己试过么?
    9hills
        38
    9hills  
       2016-12-04 14:25:04 +08:00
    说回正题,云主机内置 Agent 的事情,其实大部分服务商都是标配,但是这里最好是做成 optional 的

    自己实现一个 Agent 也不难,比较简单,但是安全性等都无法保证,虽然能够做的事情更多就是了。
    不自己实现的话, QEMU Guest Agent 勉强对凑吧,并且做成配置项,用户启动的时候给个可选。
    tempdban
        39
    tempdban  
       2016-12-04 14:27:12 +08:00 via Android
    @9hills 您是我亲大哥 人 ceph 自己都说了
    Ceph doesn ’ t support QCOW2 for hosting a virtual machine disk.
    http://docs.ceph.com/docs/master/rbd/rbd-openstack/
    tempdban
        40
    tempdban  
       2016-12-04 14:28:14 +08:00 via Android
    @9hills 我给你粘全一点
    mportant Ceph doesn ’ t support QCOW2 for hosting a virtual machine disk. Thus if you want to boot virtual machines in Ceph (ephemeral backend or boot from volume), the Glance image format must be RAW.
    tempdban
        41
    tempdban  
       2016-12-04 14:31:36 +08:00 via Android
    @9hills 哪句不动我可以负责解释。
    9hills
        42
    9hills  
       2016-12-04 14:32:54 +08:00
    @tempdban
    < 这种东西不是看了文档,看了几行代码就是懂了会了,要动手。

    完美自打脸,其实你试试就知道,虽然文档上说不支持 QCOW2 ,但是其实是能用的。。。只是没有 cow 之类的特性了,效率很差,但是效率很差也不是不能用
    9hills
        43
    9hills  
       2016-12-04 14:34:08 +08:00
    @tempdban 也来给你贴个文档
    Important The raw data format is really the only sensible format option to use with RBD. Technically, you could use other QEMU-supported formats (such as qcow2 or vmdk), but doing so would add additional overhead, and would also render the volume unsafe for virtual machine live migration when caching (see below) is enabled.

    那句不动(不懂?)我可以负责解释
    tempdban
        44
    tempdban  
       2016-12-04 15:26:50 +08:00 via Android
    @9hills 好,我错了,我打脸
    kfll
        45
    kfll  
       2016-12-04 16:50:07 +08:00 via iPhone
    阿里的 cloudinit 是改过的,主要支持了他自己的 datasource 。 py 的代码大家都可以看到。

    我拿阿里云和 vultr 的 ubuntu 系统换了 dns , apt 源( archive )更新了所有包,对比了 /bin /usr/bin /sbin /usr/sbin 中两者都存在的文件,有几个跟磁盘相关的文件对不上(没怎么考虑,可能是 archive 解析到不同镜像了,没记下来)
    billwang
        46
    billwang  
       2016-12-04 17:06:54 +08:00
    其实,你就是在服务商那里买一台实体机器也不安全,网络、服务器都在人家手里,人家想干啥都行。你远程那里有人家在机房操作来的权限大。所以,要么自己在单位搭建服务器,要么就忍了吧。
    tcsky
        47
    tcsky  
       2016-12-04 17:19:32 +08:00
    并不是所有人都不需要该服务, 就如许多个人及外包公司, 这些用户根本不关心或没能力解决最简单的安全问题,你没见到网上好多一键安装包许多人用么, 有些默认密码都不知道改的, 你可以是试试扫下阿里云的网段, 现在不清楚, 但之前确实扫出来一堆机器. 阿里云提供的选项省心省力。而且能避免出现小问题就转客服.

    至于真的关心到数据安全的公司都有专业运维会处理的
    vultr
        48
    vultr  
       2016-12-04 17:29:48 +08:00
    @hanmiao 用还是可以用的,我想说的是,多一些人从技术上关注阿里云的问题,无论对用户还是阿里云自己都是好事情,只有这样它才有进步的动力,而我们会得到更好的阿里云服务。
    kaneg
        49
    kaneg  
       2016-12-04 17:39:55 +08:00 via iPhone
    既然选择了云服务,就得接受这种客观现状,我们能做的只有自己把系统的安全搞好。否则,网盘,微信,短信,电话,任何一个运营商都可以轻而易举的窥探你的数据,我们能因噎废食吗?
    goodryb
        50
    goodryb  
       2016-12-04 20:10:50 +08:00
    楼主这地图炮,总想搞个大新闻
    lshero
        51
    lshero  
       2016-12-04 22:40:09 +08:00
    西部数码可以自己上传 ISO 不过需要加钱....
    chohoor
        52
    chohoor  
    OP
       2016-12-04 22:47:24 +08:00 via Android
    @tempdban
    @9hills
    我再回去看看代码……
    chohoor
        53
    chohoor  
    OP
       2016-12-04 22:57:13 +08:00 via Android
    @kfll
    @billwang
    @tcsky
    @kaneg
    就目前来看云安全是普遍存在的问题,并不是说来自外部的攻击,而是内部的权限太大,服务商给你提供更多服务的同时也会需要更多的权限。除非不用,否则通过预装服务,挂载磁盘, vnc ,网络监控等还是能看到隐私的信息。并不是说自己有什么隐私怕被偷窥,一般有道德的云服务商也不会这么干。只是自己的云服务器留个后门总觉得不舒服……
    chohoor
        54
    chohoor  
    OP
       2016-12-04 23:00:13 +08:00 via Android
    @goodryb 不想搞大新闻,只是因为改不了 hostname 这件小事从而对云安全有感……
    azuis
        55
    azuis  
       2016-12-04 23:23:39 +08:00 via iPhone
    @chohoor 你都用云服务了服务商权限当然会比用户高。这是不可避免的。如果在意这些问题可以用私有云或者自建机房。
    xcai
        56
    xcai  
       2016-12-05 07:51:44 +08:00 via Android
    @chohoor 你是怎么修改主机名的?
    ratazzi
        57
    ratazzi  
       2016-12-05 08:31:42 +08:00 via iPhone
    阿里云香港开了台服务器,直接给装了 java 的服务,内存直接少掉几百 M
    setonfocus
        58
    setonfocus  
       2016-12-05 08:48:30 +08:00
    @chohoor 我上个月初开的 vultr 东京节点,还是绕道美国的。你什么时候开的?
    finian
        59
    finian  
       2016-12-05 09:21:59 +08:00
    @chohoor 阿里云的 CentOS 修改主机名重启后失效这个 bug 这么长时间了还没修复。。。当时提工单说暂时可以先用 OpenAPI 修改
    darkbill
        60
    darkbill  
       2016-12-05 10:09:08 +08:00
    话说,有没有什么关于青云和 UCloud 的爆料?
    cat9life
        61
    cat9life  
       2016-12-05 10:46:50 +08:00
    @setonfocus vultr 现在都绕西海岸,放弃治疗吧。还不如买个便宜的美国+Kcptun ,超自在
    chohoor
        62
    chohoor  
    OP
       2016-12-05 12:33:30 +08:00 via Android
    @setonfocus
    @cat9life
    上月底开的,刚刚路由追踪了一下,还是去了趟美国再回来,不过成都 ping 只有 80 多,高峰 130 左右,开美西的 ping 普遍在 200 多。
    chohoor
        63
    chohoor  
    OP
       2016-12-05 12:34:50 +08:00 via Android
    @xcai systemctl disable cloud-init 的服务后再改
    chohoor
        64
    chohoor  
    OP
       2016-12-05 12:39:04 +08:00 via Android
    @darkbill 没用过不做评价,也许是用的人少自然爆料的少,也许是人家做的本来就好。
    chohoor
        65
    chohoor  
    OP
       2016-12-05 12:41:19 +08:00 via Android
    @finian 这个 bug 是什么时候的?去年用 aliyun 的时候没发现,今年重新开了一个发现不能改 hostname ……
    njutree
        66
    njutree  
       2016-12-05 14:17:01 +08:00
    这个问题是没有办法解决的,虚拟机整个数据都在宿主机上,想要获取导出是很容易的,所以只能信任运营商,没有其它更好的办法。 至于 cloud-init 如果去掉有很多功能运营商就没有办法提供给用户了,比如重置密码, sshkey ,开机脚本等功能。有的时候运营商也很难做啊,用户撒 x 忘掉了密码,你不能重置密码,还有人用么?不运行些开机脚本加强虚拟机的安全性等,用户会说用他家的虚拟机三天两头就被入侵,肯定做的好。
    chohoor
        67
    chohoor  
    OP
       2016-12-05 16:20:35 +08:00 via Android
    @njutree 很赞同你说的,你说的这些是大多数,的确有很多功能依赖于 cloud-init ,不同的人有不同的需求吧,大多数人应该是想让服务商提供更多的服务,而我,没什么业务,建个虚拟机拿来学习或者随便玩玩,当然是想要最干净的系统。在云服务商和大多数客户眼里,这个后门还是很有用的。
    chohoor
        68
    chohoor  
    OP
       2016-12-05 16:22:18 +08:00 via Android
    @ratazzi 这就很尴尬了,有些人或者业务根本不需要 java 的。我的 pip 源也是被换成了阿里自己的......
    ryd994
        69
    ryd994  
       2016-12-05 17:53:23 +08:00 via Android
    说的好像独服托管就不怕了?
    把你硬盘拆下来拷一份也是一样,不然怎么取证
    要安全的话只有全盘加密,开机用密码解密,这样只要保证密码安全就没什么大问题
    8e47e42
        70
    8e47e42  
       2016-12-06 10:15:10 +08:00
    @uuuing 不安全啊,外卖吃坏了倒在机房里了就不得不叫救护车,然后入侵的人就可以通过伪装成医护人员潜入机房并通过物理接触获得 root 权限。 23333 不要问我怎么知道的
    uuuing
        71
    uuuing  
       2016-12-06 14:34:18 +08:00
    @8e47e42 放个核弹在机房,谁敢进来就引爆他
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1017 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:30 · PVG 07:30 · LAX 16:30 · JFK 19:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.