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

自建 DNS over HTTPS 如何暴露和被攻击的?

  •  
  •   foru17 · 2020-09-02 20:30:42 +08:00 · 13789 次点击
    这是一个创建于 1566 天前的主题,其中的信息可能已经有所发展或是发生改变。

    利用 Adguard Home 在香港的服务器上自建了一个 DNS 服务,关闭了 53 端口,修改了 DOT 的 853 端口。

    • DOH 的地址 dns1.test.com 仅仅是自用,从未公开
    • 国内用 CDN 套了一层,域名是 dns2.test.com ,也从未公开
    • Windows 客户端用的 YogaDNS
    • 家庭内网用的自建 Adguard Home,上游是自建 DOH
    • 手机上也是用的 Adguard Home,上游是自建 DOH

    最近发现,DNS 记录里,有大量未知 IP 的 mDNS 攻击请求

    IP 来源是欧美,请求是 _services._dns-sd._udp.local,搜索了一下,资料不是很多。

    参考:

    我现在临时是把这个请求给 block 了,IP 也 block 了( IP 每天都变)。

    我是比较好奇,在我关闭 53,853,没有探测特征的情况下,我这个 443 端口自用的 DOH 的域名是怎么泄露的?这么多域名,爬虫也不容易扫吧?

    37 条回复    2020-11-22 19:05:38 +08:00
    LnTrx
        1
    LnTrx  
       2020-09-02 21:17:00 +08:00
    IP 访问源站 443 是否有响应?
    foru17
        2
    foru17  
    OP
       2020-09-02 23:05:09 +08:00
    @LnTrx 主域名 443 就是 Adguard Home 的 Web
    foru17
        3
    foru17  
    OP
       2020-09-02 23:06:33 +08:00
    @LnTrx ip + 443 是一个静态错误页面,且因为证书错误无法访问。
    dingwen07
        4
    dingwen07  
       2020-09-02 23:15:39 +08:00 via iPhone
    试着把 HTTPS 改成不常见端口,估计是在扫 DoH
    话说 DoT 端口修改之后安卓私人 DNS 应该如何配置?我三星加端口号无法保存
    mywaiting
        5
    mywaiting  
       2020-09-02 23:17:43 +08:00
    不负责任猜测 CDN 的证书透明度或者共享的 SNI 记录把子域名泄露了~
    Love4Taylor
        6
    Love4Taylor  
       2020-09-02 23:25:00 +08:00 via Android
    @dingwen07 Android 不让自定义端口 除非你去改 aosp 或者用 iptables 重定向。
    zro
        7
    zro  
       2020-09-03 00:57:50 +08:00
    既然私用,我都是用 V*N 连的,顺便策略路由也一起做了。。😏
    EvilCult
        8
    EvilCult  
       2020-09-03 01:16:07 +08:00
    问句题外话:这玩意好用么,我怎么脚着开了没什么效果啊。。。
    caola
        9
    caola  
       2020-09-03 02:01:06 +08:00
    @foru17 Windows 客户端,目前 win10 19628 以上版本自带
    mytsing520
        10
    mytsing520  
       2020-09-03 07:38:25 +08:00
    只要暴露在互联网上,不到一天你 IP 上有什么东西,别人都知道的一清二楚
    ifxo
        11
    ifxo  
       2020-09-03 08:46:03 +08:00
    说明你太小看电脑了,扫描端口很难吗,除非你把端口全封了,藏能藏多久
    alan0liang
        12
    alan0liang  
       2020-09-03 09:40:28 +08:00 via Android
    会不会是有人扫 https://ip:443 通过响应证书发现您用的域名,然后知道域名之后再访问 https://domain:443 进而发现 DoH ?
    guanhui07
        13
    guanhui07  
       2020-09-03 10:46:03 +08:00
    可以 扫描端口
    LnTrx
        14
    LnTrx  
       2020-09-03 10:58:49 +08:00
    @foru17 如果提示证书错误,那就说明服务端有响应。如果提示 NAME_INVALID,那更说明服务端发送了证书,则可以根据证书推知主机域名。建议直接禁止 IP 访问。
    kangsheng9527
        15
    kangsheng9527  
       2020-09-03 13:29:03 +08:00
    没必要自建 DNS over HTTPS,直接使用 vpn 解决方案,而且是共享多人使用那种最安全,自己搭建销售给多人使用自己也用更安全,因为自己可控。

    vpn 全是远程 dns 解析的。

    还有为何要自建 DNS over HTTPS,firefox 之类的应该有,如果不信任 firefox 那么为何不直接自建 vpn 解决方案。

    我刚好从事这一方面的项目,所以说说。
    mouyase
        16
    mouyase  
       2020-09-03 14:14:51 +08:00 via Android
    @kangsheng9527 或许楼主只是想 DNS 去广告
    kangsheng9527
        17
    kangsheng9527  
       2020-09-03 14:52:05 +08:00
    @mouyase dns 去广告不如 hosts 去广告更直接简单。。。
    janda
        18
    janda  
       2020-09-03 15:24:00 +08:00
    我也是用 Adguard Home 搭建的、多了很多未知 IP 、全是欧美那边!
    ![wPAvLD.png]( https://s1.ax1x.com/2020/09/03/wPAvLD.png)
    raycheung
        19
    raycheung  
       2020-09-03 15:47:21 +08:00
    通过模拟 DoH 请求,通过响应结果鉴别的吧。
    看到过这样一个项目 : https://pypi.org/project/doh-proxy/#doh-client
    foru17
        20
    foru17  
    OP
       2020-09-03 17:48:48 +08:00
    @LnTrx
    @guanhui07
    @alan0liang
    我这个服务器上也挂了其他网站,ip:443 这个端口访问,对应并不是 DOH 服务和域名,就是一个普通的 nginx 静态错误页面,错误证书也是其他网站的证书。
    Rilimu
        21
    Rilimu  
       2020-09-03 20:27:38 +08:00
    固定的 /dns-query 路径。特容易被扫描。

    可以套 m13253/dns-over-https 。把 DOH_HTTP_PREFIX 路径改成自己的,改的跟密码一样。

    看谁还能扫描到。
    foru17
        22
    foru17  
    OP
       2020-09-03 22:30:32 +08:00
    @Rilimu 多谢提醒,我现在修改成另外 的 path 了 ,过几天再看看会不不会有新扫描。
    foru17
        23
    foru17  
    OP
       2020-09-03 22:31:43 +08:00
    @kangsheng9527 不仅仅是去广告,改个 DNS 自己可控对于我来说更方便。
    foru17
        24
    foru17  
    OP
       2020-09-03 22:33:16 +08:00
    @zro 我也有更复杂的基于 zerotier 的方案,策略分流,穿透,内网联通啥的都弄了,但是不方便嘛,有些场景也用不上。
    foru17
        25
    foru17  
    OP
       2020-09-03 22:33:58 +08:00
    @dingwen07 安卓那个自带的 DNS,好像需要是默认 853 的 DOT,我反正没有配置成功端口形式的。
    LeeGo
        26
    LeeGo  
       2020-09-04 09:19:41 +08:00
    @foru17 博主,我感觉你这个可以出一期视频了,给小白科普一下吧,很感兴趣。另外你之前推的英国联通卡,英国联通发短信说,10 月 31 日停止服务了
    foru17
        27
    foru17  
    OP
       2020-09-04 10:59:36 +08:00
    @Rilimu 亲测,昨天改了后,今天依旧有扫描流量。
    indev
        28
    indev  
       2020-09-04 22:33:15 +08:00
    dns1 那个可以套在 cloudflare 下面,随他去吧~
    Rilimu
        29
    Rilimu  
       2020-09-05 17:17:18 +08:00
    @foru17 我去...改 url 后缀后也能被扫描....这也太强了...
    全程 HTTPS 的话,url 后缀只有 3 个人知道。你,你的服务器,和 CDN 。
    只有一种可能了。就是 CDN 把你出卖了....
    Momostudent
        30
    Momostudent  
       2020-09-05 19:24:03 +08:00
    Adguard Home 里面不是有个 设置: 允许的客户端?
    Sekai
        31
    Sekai  
       2020-09-05 23:08:31 +08:00
    你为啥不做个白名单....
    RickyC
        32
    RickyC  
       2020-09-06 20:51:36 +08:00
    dns over https 只能防止被抓包吧?
    dns over https 好像安全性不高
    8520ccc
        33
    8520ccc  
       2020-09-07 09:27:50 +08:00
    @RickyC 防劫持吧 不然毫无益处啊
    gesse
        34
    gesse  
       2020-09-07 09:58:54 +08:00   ❤️ 1
    按理说,你都换 path 了,path 传输是 https 加密的

    除非你这个 path 泄露了,不过这个感觉只能是客户端的问题。
    sleepm
        35
    sleepm  
       2020-09-07 15:09:27 +08:00
    ZMap can scan the entire public IPv4 address space in under 45 minutes. With a 10gigE connection and PF_RING, ZMap can scan the IPv4 address space in 5 minutes.
    zmap 可以在 45 分钟内扫描整个公共 ipv4 网络空间
    万兆且支持内核 PF_RING 的话,5 分钟
    国外有些大学,一些研究机构,7*24 扫描整个网络,只是为了研究
    设置过滤吧,或者 allowed_clients
    qas87
        36
    qas87  
       2020-09-14 19:06:54 +08:00
    你日志里都显示着 “无加密 DNS ”,那就是从 53 进行请求的,建议检查防火墙
    Zikinn
        37
    Zikinn  
       2020-11-22 19:05:38 +08:00
    从日志来看,“无加密 DNS”应该还是 53 端口来的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5257 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:30 · PVG 17:30 · LAX 01:30 · JFK 04:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.