NAS安全加固:WireGuard远程访问方案

NAS安全加固:WireGuard远程访问方案

2026-11-01 21:40:43 6点赞 27收藏 2评论

前阵子飞牛 fnOS 爆出安全漏洞,我实打实中招了。

说实话,我对网络安全和漏洞原理了解不多,以前总觉得只要密码设得够复杂、把默认端口改掉就没事了。直到那几天发现 NAS 的 CPU 占用率一直莫名其妙跑满,风扇狂转,进后台一看,机器里确实被人挂了陌生的程序。

因为自己也不懂怎么去底层彻底排查后门,总觉得系统已经被动过手脚。为了安全起见,最后还是老老实实把重要数据导出来备份好,整机格式化、彻底重装了一遍。

本以为这事就这么翻篇了,结果重装完没消停几天,前两天又看到群晖也爆出了严重的安全漏洞(官方连发了安全公告,部分组件甚至不需要登录就能远程执行代码。

一边是刚起步的新系统,一边是做了十来年的老牌大厂,两家 NAS 接连出事,我算是彻底想明白了:不管用哪家系统,只要为了图省事把管理页面直接暴露在公网上,迟早会被扫到。 很多漏洞根本不需要猜你的密码,直接就能绕过登录页。尤其是现在AI的加持下,找漏洞甚至已经没有技术门槛,而厂商出补丁永远比漏洞公开慢一步,中间这段时间差全靠运气。

意识到以前那种“直接在公网开端口访问管理页”的做法实在太危险,这次我决定从根上把问题解决:关掉 NAS 所有对外的公网入口,远程访问统一走 WireGuard。

NAS安全加固:WireGuard远程访问方案

改造前后对比:管理页开在公网 vs 只留一个 WireGuard 端口

一、方案:远程访问只走 WireGuard

改造的思路很简单:把路由器里以前为了远程访问开的端口映射全关掉,管理页面一律不对公网开放,只留一个 WireGuard 的 UDP 端口。出门在外时,手机连上 WireGuard,就跟在家连 Wi-Fi 一样,能直接用内网 IP 访问 NAS。

我选 WireGuard 的原因很明确:收到没有正确密钥的数据包,它什么都不回。

以前把网页后台直接放在公网上,别人的扫描器发个请求过来,NAS 就会回应一个登录页面,相当于在公网上亮着门牌号等别人来试。换用 WireGuard 之后,没有密钥的扫描器扫过来,它连个错误提示都不给,对方只会觉得这个端口压根没开。没有登录页,也就没有漏洞可以打、没有密码可以爆破。就算 NAS 系统本身再爆一次漏洞,攻击者也得先拿到我的 WireGuard 密钥才能碰到它。

本来想直接在路由器上配,但我这台 TP-Link 路由器只支持 L2TP、PPTP 和 IPSec。PPTP 的加密早就被破解了,L2TP 在安卓 12 以后的系统里又没有内置支持,用起来很折腾。最后决定把 WireGuard 跑在飞牛上,用 Docker 部署 wg-easy,路由器只负责转发这一个 UDP 端口。

NAS安全加固:WireGuard远程访问方案

在飞牛 Docker 里部署 wg-easy

wg-easy 自带网页管理界面,新建一个客户端,手机扫个二维码就能连上。不过配置时有两个细节要注意:

NAS安全加固:WireGuard远程访问方案

wg-easy 客户端管理页

第一,wg-easy 自己的管理页也要只绑定在内网 IP 上,千万别映射到公网,不然等于关了 NAS 的门,又在公网上开了另一个后台入口。

第二,客户端的 AllowedIPs 只填家里的内网网段,不填 0.0.0.0/0。这样只有访问家里设备的流量走隧道,平时在外面刷视频、看网页照常走手机流量,不会被家里的上行带宽拖慢。

NAS安全加固:WireGuard远程访问方案

允许的 IP 只填内网网段,主机填 DDNS 域名

二、DDNS:主域名不动,只把 home 子域单独拆出来

家宽的公网 IP 是动态的,重新拨号就会变,所以还是需要配个 DDNS。

这里踩了个坑。我的主域名托管在阿里云 ESA上,跑着网站和企业邮箱。飞牛自带的 DDNS 支持阿里云,但对接的是普通的云解析 DNS,跟 ESA 的接口不是一套。为了一个 DDNS 把整个域名的 NS 迁走,网站和邮箱都可能受影响,不值得。

最后用的办法是子域委派:在 ESA 里只给 home 这一个子域加两条 NS 记录,指向阿里云云解析。主域名的其他记录一条都不动。

NAS安全加固:WireGuard远程访问方案

ESA 里只给 home 加两条 NS 记录,其他记录不动

然后在云解析里把 home 子域作为独立域名添加进去。添加子域需要先在父域名加一条 TXT 记录验证归属,验证通过后就能单独管理了,跟主域名的其他服务完全互不影响。

NAS安全加固:WireGuard远程访问方案

home 子域在云解析里单独托管

最后回到飞牛,DDNS 服务商选阿里云,填好域名和 AccessKey,每 5 分钟检查一次公网 IP,变了就自动更新。

NAS安全加固:WireGuard远程访问方案

飞牛 DDNS 显示已更新

这里的 AccessKey 不要用主账号的。我单独建了一个 RAM 子账号:设置不能登录控制台,只授予 AliyunDNSFullAccess 这一个权限。万一以后 NAS 再出事、密钥泄露,别人最多改改这一条解析记录,碰不到服务器和账单。吃过一次亏,这点我现在特别在意。

NAS安全加固:WireGuard远程访问方案

RAM 子账号只授予 AliyunDNSFullAccess 一个权限

三、最终架构

现在 NAS 的管理页和家里的内网服务都不在公网上了。在外面打开手机上的 WireGuard,飞牛和 Home Assistant 都能直接用内网 IP 访问,体验跟以前在家里连 Wi-Fi 差不多,心里也踏实多了。

NAS安全加固:WireGuard远程访问方案

最终架构

展开 收起
2评论

  • 精彩
  • 最新
  • openvdn和easytier 与这个的区别呢 open可以把dns解析也拉过来 配合内网反代挺好的 连域名解析都不用了

    校验提示文案

    提交
  • 有更好用的wg套件,docker太麻烦

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
最新文章 热门文章
27
扫一下,分享更方便,购买更轻松