隐匿攻防:通过 Nginx 混淆与路径鉴权加固 AdGuard Home服务
一、引言:为什么你的 DNS 服务会被“盯上”?
自建 AdGuard Home (ADGH) 开启 DNS over HTTPS (DoH) 后,默认路径通常是 /dns-query。这产生两个致命风险:
特征探测:扫描器通过扫描常用 DoH 路径,可以将你的 IP 标记为公共 DNS 节点。
滥用风险:一旦路径暴露,任何人都可以通过你的服务器解析域名,消耗带宽并产生法律风险。
本文将通过 Nginx 路径混淆(Obfuscation)与 ADGH 客户端标识技术,实现“隐身”DNS 服务。
二、核心架构设计
我们的目标是:拒绝所有标准路径请求,仅响应私有路径。
外部流量:访问
[https://abc.example.cc/dns-query](https://abc.example.cc/dns-query)\rightarrow 返回 404/444。受信任流量:访问
[https://abc.example.cc/example](https://abc.example.cc/example)\rightarrow 转发至 ADGH 内部接口。
三、Nginx 配置优化
在 Nginx 层,我们需要执行“先拦截、后转发”策略。
server {
listen 80;
server_name abc.example.cc;
return 301 https://$host$request_uri; # 更加高效的重定向
}
server {
listen 443 ssl http2;
server_name abc.example.cc;
# SSL 强化配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
# [关键] 拦截标准特征路径
# 使用 444 代表 No Response,让扫描器连接直接重置,比 404 更狠
location ~* ^/(dns-query|adhdash/dns-query) {
return 444;
}
# [关键] 混淆路径转发,example是文根,10010是你的adgh容器端口
location ^~ /example{
proxy_pass http://127.0.0.1:10010/dns-query;
# 传递真实 IP,用于 ADGH 统计
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 性能优化:启用长连接
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
# 缓存控制:DNS 响应不应被 Nginx 缓存
add_header Cache-Control no-cache;
}
}四、AdGuard Home 端配置
仅在 Nginx 层混淆是不够的,我们还需要在 ADGH 内部建立白名单映射。
第一步:设置客户端标识
在 ADGH 后台中,进入 “客户端设置”:
在【设置】-【客户端设置】新增一个客户端
第二步:强制白名单
在 “常规设置” -> “访问设置” 中:
允许的客户端:填入
新增的客户端标识以及其他你定义的标识符。拒绝其他所有客户端:确保未授权的请求即使绕过了 Nginx 路径,也无法获得解析。

五、使用方式
配置完成后,你的客户端 DoH 地址格式如下
Nginx 的正则表达式 ~^ /example 会匹配 /example/ 之后的所有字符并存入变量 $1。在执行 proxy_pass 时,Nginx 会将这个变量动态拼接到转发地址的末尾,完美契合了 ADGH 的路径鉴权机制。
五、总结
通过 Nginx 的 location 优先级机制,我们成功地为 DNS 服务搭建了一座“隐形长城”。这不仅解决了被探测的风险,更结合 ADGH 的客户端鉴权,实现了 DNS 访问控制。
提示:不要忘记清理你的 Nginx access_log,或者对 DNS 路径的 log 进行脱敏处理,保护你的解析隐私。
- 0
- 0
-
分享