V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
find456789
V2EX  ›  问与答

阿里云是怎么知道我域名下的隐藏子域名的?这些子域名只存在于我 nginx、caddy 的配置文件里,莫非它读了我的配置文件?

  •  
  •   find456789 · 2020-07-03 22:30:55 +08:00 · 3216 次点击
    这是一个创建于 1364 天前的主题,其中的信息可能已经有所发展或是发生改变。

    路径:ssl 证书=》资产中心

    直达链接: https://yundun.console.aliyun.com/?p=cas#/assets

    在这里会列出我在阿里云购买的域名,每个域名前面有个+号,点击后会列出这个域名的子域名 image.png

    我发现这里列出的子域名,有些子域名是不对外公开的,除了公开的,不公开的分为两类:

    1. 专门作为管理后台的子域名,如 admin404.a.com ,在别人的机器上 ping 不通,admin404 这个子域名没有解析,单纯的在我本地的 host 里 指向我的服务器 ip

        我这样做是为了保护后台, 那么。这个子域名出现在这里的原理应该是阿里云后台会采集我的访问日志,然后存起来 
      
    2. 在 caddy 、nginx 配置文件中独有的测试域名, 如 test404.a.com, 这个域名我本地一直是指向 127.0.0.1 的, 我平时在本地调试开发,就用的这个域名, 而这个域名所有资源都是本地的,阿里云不可能知道这个域名的存在, 这个域名同样也没有解析记录,那么 我唯一想到的可能,就是阿里云读取了我的 caddy 、nginx 配置文件

       我努力试着去回想,是不是我用这些域名访问过线上环境,但实际上有几个子域名,真的不太可能访问过线上资源,但想不到其他地方会泄露这些子域名
      

    注意:

    这些被阿里云发现的子域名,并不是简单的 admin,test 这些前缀,我所用的前缀都是比较特殊的,并且很多子域名还是二级,三级子域名, 我实在想不通阿里云是怎么知道这些子域名的

    我想问问,是怎么回事,希望阿里云的人,能解释下原理

    23 条回复    2020-07-04 13:24:25 +08:00
    yuzo555
        1
    yuzo555  
       2020-07-03 22:34:01 +08:00 via Android
    他的网关肯定有记录呀,不然怎么判断哪些服务器接入未备案域名。
    WordTian
        2
    WordTian  
       2020-07-03 22:34:45 +08:00 via iPhone
    https 的流量中,域名是明文的,猜应该是对流量进行了分析吧
    find456789
        3
    find456789  
    OP
       2020-07-03 22:37:27 +08:00
    @yuzo555 所以 对应我列出的第一条原因,他记录了那部分

    但是我不理解,为什么我有些域名 ,没有解析、没有关联到阿里云,怎么也被阿里云知道了

    test.houtai.a.com 这种域名,只存在 nginx 配置文件里, 还存在我本地 host 文件里, 从来没有和阿里云的 ip 发生过关联

    我就很好奇了 ,百思不得其解
    wsy2220
        4
    wsy2220  
       2020-07-03 22:54:47 +08:00
    `别人的机器上 ping 不通`

    这个行为足够让阿里云知道你有这个子域名了
    find456789
        5
    find456789  
    OP
       2020-07-03 23:01:19 +08:00
    @wsy2220

    在阿里云域名解析后台,我也没有给这些子域名添加过 任何解析记录, 所以除非读取我的配置文件,阿里云不可能知道这些域名的存在

    但是我又不想把话说死, 可是确实想不通,

    这些隐藏的域名,被阿里云知道太蹊跷了
    find456789
        6
    find456789  
    OP
       2020-07-03 23:05:06 +08:00
    @wsy2220

    就类似
    ➜ ~ ping admin.test.baidu.com
    ping: cannot resolve admin.test.baidu.com: Unknown host


    admin.test 这个子域名,百度没有添加任何解析, 所以在任何人电脑上是 ping 不通的,只能得到 Unknown host

    如果我修改本地 host 把 admin.test.baidu.com 指向 127.0.0.1 , 同时在 nginx 配置文件里添加了 admin.test.baidu.com

    那么, 云服务商 怎么可能知道 admin.test 这个域名的存在呢?

    对于云服务商来说, 这个域名 ,只能通过读取 nginx 配置文件,才能知道

    然后我实际的隐藏子域名, 更长,更奇怪, 根本不可能被猜出来
    reechangs
        7
    reechangs  
       2020-07-03 23:05:12 +08:00
    1. 这个域名是否在阿里云注册?
    2. 这个域名是否在阿里云 DNS 解析?
    3. 这个域名是否备案?
    choury
        8
    choury  
       2020-07-03 23:08:40 +08:00 via Android
    你只要访问过就能从 host 信息里面拿到啊
    find456789
        9
    find456789  
    OP
       2020-07-03 23:09:45 +08:00
    @reechangs

    我买的 baidu.com 是在阿里云买的
    baidu.com , www.baidu.com 我通过阿里云 解析到了 阿里云的主机 ip 1.1.1.1

    域名用的阿里云的 dns 解析

    也是在阿里云备案的

    ====

    admin.test404.baidu.com , admim404.front.baidu.com 等奇怪的子域名, 没有在解析后台添加记录,那么不可能在这一步泄露

    也不会是在备案的地方泄露,因为备案只备案 baidu.com 即可


    至于 dns 解析, 我不太懂,
    admim404.front.baidu.com 我就添加在我本机的 host 文件里, 指向 127.0.0.1,还加到了我 nginx 配置文件里,

    我访问 admim404.front.baidu.com 的时候,会发送 dns 解析到 阿里云吗? 我猜测应该不用吧,不过我不懂解析这一块的知识
    find456789
        10
    find456789  
    OP
       2020-07-03 23:11:12 +08:00
    @choury

    admin.test404. baidu .com 我指向了 127.0.0.1 用来本地开发 测试, 整个开发流程, 没有访问外网,没有访问阿里云任何资源, 相当于断网访问, 阿里云不可能从 host 拿到
    yesicoo
        11
    yesicoo  
       2020-07-03 23:14:27 +08:00
    我去看了我的账号一眼 也发现奇怪的事情,像上面说的我已泛解析配置的子域名的它记录就不说了。奇怪在多了两个不是我的:
    www.hainanbank.com.cn.xxxx.com
    *.hainanbank.com.cn.xxxx.com
    这两个海南银行的是什么鬼。
    https://sm.ms/image/5N6VWDl1RnbjTHf
    Xusually
        12
    Xusually  
       2020-07-03 23:16:11 +08:00
    @find456789 你解析道阿里云 1.1.1.1ip 的域名,你举例子说是 baidu.com
    那么用 ssl 了吗,如果用了,那么证书里面除了 baidu.com, *.baidu.com 这种,有没有 admin.test404.baidu.com
    如果证书里加了的话。。那么可以从证书里看到。
    wdlth
        13
    wdlth  
       2020-07-03 23:20:32 +08:00
    我只看到有解析的
    Jirajine
        14
    Jirajine  
       2020-07-03 23:25:10 +08:00 via Android
    猜测可能是阿里云的 NS 记录了任意子域解析记录。
    当你解析某个本地域名时,可能会发生这种事:
    1. 操作系统默认优先使用 ipv6,所以请求 aaaa 记录。
    2. 该请求被发送到你配置的 NS 服务器上(阿里云)被记录后回复 NXDOMAIN
    3. 操作系统 fallback 到 ipv4,并在你的 hosts 文件中得到结果。
    4. 如果没有得到结果并最终解析失败,那么可能会尝试搜索本地域如 aaa.com 失败后尝试搜索 aaa.com.lan (本地域在 /etc/resolv.conf 中的 search 字段)
    通常具有公网域名的服务器该值会被配置为服务器的主域,这也正好印证了 #11 的情况。
    要阻止自动搜索本地域可以使用绝对域名 aaa.com.
    lhx2008
        15
    lhx2008  
       2020-07-03 23:25:22 +08:00
    SSL 握手的时候,会明文携带域名,如果是 HTTP 直接拦截就可以了,这套系统应该是和备案审查系统通用的。你本地配了 hosts,test.xxx 域名到阿里云,阿里云的网关就可以检测到,你不信配点别的,不是你的域名看看
    xgfan
        16
    xgfan  
       2020-07-03 23:39:12 +08:00
    如果你服务器在阿里云,那就一切都说得通了。
    和阿里云拦截未备案的域名原理是一致的。
    wsy2220
        17
    wsy2220  
       2020-07-04 01:08:57 +08:00 via Android
    @find456789 想想你的上游 dns 是怎么知道这个域名解析不了的
    alan0liang
        18
    alan0liang  
       2020-07-04 06:29:13 +08:00 via Android
    lz 有没有关闭 AliYunDunService ?这玩意会在 root 上跑,天天上传各种东西包括日志……
    screen
        19
    screen  
       2020-07-04 08:52:28 +08:00 via iPhone
    有个东西叫二级域名探测
    stevenshawe
        20
    stevenshawe  
       2020-07-04 09:51:48 +08:00
    大数据 你的本地测试域名 被浏览器知道了 访问啥域名了都知道
    Greatshu
        21
    Greatshu  
       2020-07-04 11:02:01 +08:00
    点击授权了就没什么可说的。网关处监控可以理解,但扫描 nginx/caddy 配置文件和 hosts 真的有点过了。
    https://s1.ax1x.com/2020/07/04/NvInQs.png
    nekobest
        22
    nekobest  
       2020-07-04 12:19:02 +08:00
    阿里云的扫描是丧心病狂的.... XD
    find456789
        23
    find456789  
    OP
       2020-07-04 13:24:25 +08:00
    @Xusually 本地测试我用的 http,没有 https


    @alan0liang AliYunDunService 没有关闭,我就用的默认的机器,没有做多余的配置,阿里云全家桶我也没有删,觉得麻烦,也怕万一删了会出啥问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1541 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:02 · PVG 01:02 · LAX 10:02 · JFK 13:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.