foru17
V2EX  ›  DNS

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

  •  
  •   foru17 · Sep 2, 2020 · 16411 views
    This topic created in 2258 days ago, the information mentioned may be changed or developed.

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

    vpn 全是远程 dns 解析的。

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

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

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

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

    除非你这个 path 泄露了,不过这个感觉只能是客户端的问题。
    sleepm
    sleepm
    Sep 7, 2020
    35
    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
    qas87
    Sep 14, 2020
    36
    你日志里都显示着 “无加密 DNS ”,那就是从 53 进行请求的,建议检查防火墙
    Zikinn
    Zikinn
    Nov 22, 2020
    37
    从日志来看,“无加密 DNS”应该还是 53 端口来的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1659 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 13:27 · PVG 21:27 · LAX 05:27 · JFK 08:27
    ♥ Do have faith in what you're doing.