V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
xeathen
V2EX  ›  NAS

公网映射 NAS,如何保证安全

  •  
  •   xeathen · 4 天前 · 5558 次点击

    买了个 DXP4800 玩玩,家中有动态 IPv4 公网 ip ,开放端口使用体验不错,但是担心安全问题,是否有比较完备的安全措施能够实施?

    目前还有绿联官方的中转服务器可以利用(会尝试 P2P 打洞),不过需要手机号认证,只能作为迫不得已的备选的方案。

    79 条回复    2025-06-04 17:59:43 +08:00
    busier
        1
    busier  
       4 天前 via iPhone
    放 VPN 内

    或者

    TLS/SSL 双向证书验证,产品如果不支持可以套 nginx 实现
    freedomSky
        2
    freedomSky  
       4 天前
    ddns + wireguard
    xmlf
        3
    xmlf  
       4 天前 via Android
    frp 不行吗?
    xeathen
        4
    xeathen  
    OP
       4 天前
    VPN 的方案,我知道很安全,不过如果能让家人无感的访问就更好了,这也是我发帖的原因
    kevinhwang
        5
    kevinhwang  
       4 天前
    高端口+nginx444 返回非目标 sni/路径+log 配合 fail2ban ban 非法尝试的 ip ,uuid 作为密码。
    deepbytes
        6
    deepbytes  
       4 天前 via iPhone
    我是用 FRP ,做好安全加固就行,密码好复杂度,FRP 服务端所在 vps 选境内离你近的,vps 也同样做好安全加固,仅放开需要用的端口,nginx 反向代理,NPM 设置对于 NAS 的服务,根据敏感程度,酌情进行白名单 ip 配置
    MADBOB
        7
    MADBOB  
       4 天前
    我用的群晖的,直接开放 5001 https 端口,用了 6 、7 年了吧,然后安全策略是外网一次登录失败直接锁 IP 。正常情况下没问题的,偶尔会被肉鸡攻击就会看到一堆外国 IP 被锁的通知,过一两天就消停了。至少目前看来挺安全的
    deepbytes
        8
    deepbytes  
       4 天前 via iPhone
    不过你既然有动态 ip ,配合 ddns ,套个 Nginx 就行#6 方案是 有没有公网 ip 都行。反正我打洞就是一直不成功…
    dcsuibian
        9
    dcsuibian  
       4 天前
    我是群晖,目前是动态公网 IP+DDNS+高位端口+HTTPS (腾讯云免费证书)+强密码(密码管理器生成的)
    也想过采用 vpn 方案,但这样家人就没法在外面方便地访问 Synology Photots 了。目前的方案我觉得还可以,没有什么被攻破的迹象。
    不过绿联我是信不过的,详见不到一年前的帖子:
    https://yangjunhui.monster/t/1055235
    cecil2016
        10
    cecil2016  
       4 天前 via Android
    最安全的就是 VPN ,wireguard/tailscale/zerotier 一类。frp ,failban ,https 属于暂时没被攻破。白名单 IP 方案可以,几百位的复杂密码也可以
    dhuzbb
        11
    dhuzbb  
       4 天前
    @xeathen 可以参照我之前写的文章。
    kekylin
        12
    kekylin  
       4 天前   ❤️ 8
    套 VPN 虽然很安全,但和家人一起用很不方便,并且不能随时随地在任意设备使用,便利性方面牺牲很大。
    分享一下我的防护思路,已经这样安全使用五六年了。
    1 、自己使用的域名尽量不要暴露在公共论坛和聊天社区。
    2 、必须上 HTTPS ,外网访问端口使用五位数高位端口。
    3 、通过 Nginx 禁止非中国 IP 访问。Nginx 还有其他防护,比如禁止直接通过公网 IP 访问,必须是域名访问,而且如果是泛域名,必须输入正确子域名才能访问,其他非法访问直接返回 444 错误码。
    4 、通过脚本每天自动更新并封禁威胁 IP ,这些威胁 IP 数据来源于公共社区,很多都是不停爆破攻击用户被报告了,提前封禁他们。
    5 、尽量不使用来路不明的容器应用或者其他程序。
    6 、最小化暴露原则,非必要的服务不暴露出去,比如系统管理、容器管理这些,很多时候都是我自己在使用,我直接用 VPN 了,但是对于群晖相册,Jellyfin 这些多人使用服务,才会公开在外网。
    Rinndy
        13
    Rinndy  
       4 天前 via iPhone
    @xeathen 既要又要?
    EvineDeng
        14
    EvineDeng  
       4 天前   ❤️ 1
    我在主路由爱快上直接限制只允许本省 IP 访问:

    https://evine.win/p/ikuai-set-ipv4-acl/
    https://evine.win/p/ikuai-set-ipv6-acl-2/
    nicefrp
        15
    nicefrp  
       4 天前
    有公网 IP 了,最安全的方法就是 VPN 了,不过限制了些便利性。
    cwek
        16
    cwek  
       4 天前
    防止运营商扫端口的话,最好放隔离内,用绳子跳回去。
    Kaiyuan
        17
    Kaiyuan  
       4 天前
    群晖的防火墙可以设置地区授权,我就是设置了仅限国内和我的 VPS 的 IP 访问特定端口。
    不过我还弄不明白 OpenWRT 要怎样设置 IP 集,因为我设置 IP 区域之后不生效。
    crytis
        18
    crytis  
       4 天前 via iPhone
    套个 ss 怎么样
    idssc
        19
    idssc  
       4 天前 via Android
    开个 xray 用 v2rayNG 连回去
    woodchen
        20
    woodchen  
       4 天前
    NAT-虚拟服务器, 只映射使用中的端口
    WhatTheBridgeSay
        21
    WhatTheBridgeSay  
       4 天前
    只开放反代端口就行,老生常谈的强密码+MFA 都整上,就不用操心了,其实某种程度上更应该操心的是你局域网的牛鬼蛇神
    uncat
        22
    uncat  
       4 天前   ❤️ 1
    WireGuard 的安全是我即使公网可达,对方也无法发现我。比如我把我的 WireGuard 的公网 IP 和端口直接告诉你。除非我明确告诉你我的确在该端口,运行了 WireGuard 服务。否则你是无法感知的。即无法探测。

    这是 WireGuard 基于 UDP 的优势,相对于 OpenVPN 、FRP 、NPS 等 TCP 方案的优势。

    至于直接暴露服务,然后加个密码作为认证即安全的场景。这已不是同一个层面的讨论了。
    SenLief
        23
    SenLief  
       4 天前 via iPhone
    坚决不上公网,利用组网回家或者利用 ss 打洞回家。

    最后不要买 dxp4800 ,可以买 dxp4800plus 。
    YsHaNg
        24
    YsHaNg  
       4 天前 via iPhone
    不暴露管理服务 仅转发应用
    wqswsa
        25
    wqswsa  
       4 天前
    一直在使用群晖的自带的反向代理,然后防火墙禁止国外 ip ,暂时没事
    cyrah
        26
    cyrah  
       4 天前 via iPhone
    cloudflare access 邮箱验证 + 双向证书认证
    LnTrx
        27
    LnTrx  
       4 天前
    可以考虑 IPv6+https+高位端口+备案域名+系统防护+应用防护

    IPv6:利用超大地址空间的优势,防止被外部扫到。BT 等会主动暴露 IP 的服务可以分配单独 IP 。
    https:避免明文被刺探。现在有很多免费、自动化的更新方案。
    高位端口:避免常用端口被封,或者被扫(配合防火墙)
    备案域名:减少被运营商针对的风险(不一定合规,但备案比不备要好)
    系统防护:防火墙只开放有必要的端口,避免应用配置错误。阻断重试密码、扫端口等敏感操作。
    应用防护:开放公网的应用本身要有安全机制,不能没密码、弱密码或有重大安全漏洞。
    alfawei
        28
    alfawei  
       4 天前
    @MADBOB 把 5001 端口改了就更好了
    kingloong
        29
    kingloong  
       4 天前 via Android
    我直接 ipv6+ DDNS+ https ,默认端口,相比你们说的安全,几乎是裸奔状态。
    1340976576
        30
    1340976576  
       4 天前
    自荐一下,用我的 natnps 内网穿透,针对 IP 授权,未授权的 IP 访问 web 需要输入密码。网址:natnps.com
    tetora
        31
    tetora  
       4 天前
    服务放 docker 里,服务不用默认端口和弱口令,定时更新 docker ,再反代就解决 90%黑客了,剩下就看你的价值了
    JensenQian
        32
    JensenQian  
       4 天前
    搞个 ss wireguard 连回去完事了
    zhq566
        33
    zhq566  
       4 天前 via Android
    我还有远程桌面需求。也不知道安全不安全?
    mjchow
        34
    mjchow  
       3 天前
    frp 的 stcp
    hhhfffhhh
        35
    hhhfffhhh  
       3 天前
    歪个楼,类似情况:

    1. 家里宽带搞了个固定 ip ,如果在家里部署群晖 nas ,如果做到在外部安全访问?
    2. 家里的网络英国如何设计和配置,隔离外网访问内部网络设备?
    muhahaha
        36
    muhahaha  
       3 天前
    Tailscale 和 frp
    dilidilid
        37
    dilidilid  
       3 天前
    你在防火墙里只开放 docker 服务的端口不就得了。docker 逃逸的 0day 漏洞应该轮不上你
    dilidilid
        38
    dilidilid  
       3 天前   ❤️ 1
    “目前还有绿联官方的中转服务器可以利用(会尝试 P2P 打洞),不过需要手机号认证,只能作为迫不得已的备选的方案。”
    这个敏感点说实话还挺莫名其妙的。。。毕竟你的初衷是让家人用起来方便,你不会用 VPN 的家人早就把手机号提供给国内所有的服务商了,为啥你会觉得方便家人使用的 NAS 就一定要规避手机号呢。实际上除非你一直挂着 VPN ,你的 NAS 上网的 IP 也是和身份信息强绑定的。而如果你对 NAS 厂家本身不信任的话,那唯一的选项是别用它家系统
    hafuhafu
        39
    hafuhafu  
       3 天前
    有厂商服务就直接用厂商的...你都不信任厂商了,还用它系统和产品。
    并且自己去折腾,安全和方便不能兼容,你还要考虑你家人,那更是只能往方便倾斜。
    Tink
        40
    Tink  
       3 天前 via Android
    vpn 啊
    xiaoxt
        41
    xiaoxt  
       3 天前 via iPhone
    改个端口,弄个强密码就完事了,没那容易被爆破
    onice
        42
    onice  
       3 天前
    可以像大家说的那样弄个 vpn ,但如果嫌麻烦,也可以做个 web basic 验证,相当于二次验证。
    glouhao
        43
    glouhao  
       3 天前
    不要用标准端口 非法访问会少很多
    serafin
        44
    serafin  
       3 天前
    XIIPanda
        45
    XIIPanda  
       3 天前
    frp+ss
    yulgang
        46
    yulgang  
       3 天前
    不使用 VPN 过俩月宽带被封了
    zreyu
        47
    zreyu  
       3 天前
    @zhq566 高端口,高版本号客户端验证,强密码,就行了
    jony83
        48
    jony83  
       3 天前
    https+444 端口+软路由反代到内网+passwords 生成的长密码就 ok 了。别太把自己当会事搞得提心掉胆。全境那么多 vps 还是固定 ip ,就单单看中你的电脑资料?
    hanguofu
        49
    hanguofu  
       3 天前
    请问如果用手机浏览器访问 NAS , 能支持 双向证书验证 吗 ?证书放在手机浏览器的什么位置啊 ?
    find9
        50
    find9  
       3 天前 via iPhone
    防火墙拒绝 wan 口入站,既然有公网 ip 那利用 ddns➕wireguard 回家很安全。
    我家连动态 ipv4 公网都没有,ipv6 倒是有公网可是被严重限速了。不过好在是 nat1 类型的,也容易打洞,弄了 ss 节点回家。
    sulfoh6
        51
    sulfoh6  
       3 天前 via Android
    我用 VPS+frp 访问家里的迷你服务器,靠动态写入防火墙的白名单。默认禁止所有访问,客户端发起请求就加入它的 IP ,12 小时后自动撤销。服务端用 python 码了几百行,跨平台桌面端用 go webview 码了几十行,手机上就用 Restler 直接调 webapi 。平时即用即开,一键通行,再也看不到暴力猜密码的漫天日志了。
    zhady009
        52
    zhady009  
       2 天前 via iPhone
    帮家里人的设备配置好 VPN 不就好了,根据规则都是无感回家的
    J0seph
        53
    J0seph  
       2 天前
    ssh 密钥登录,其他的只开放对应的端口,开放端口的应用用强密码,
    Mast
        54
    Mast  
       2 天前
    我是直接公网绑域名+DDNS+高端口,稳的一匹
    siallen
        55
    siallen  
       2 天前
    @MADBOB 请问下外网一次登录失败直接锁 IP 这个具体是怎么实现的呢?
    allplay
        56
    allplay  
       1 天前 via Android
    运行 zerotier 也就一键开关,如果一键的麻烦都受不了,干脆劝退
    wlh
        57
    wlh  
       1 天前
    我是直接用内网穿透那一套 tailscale/zerotier/frp
    totoro625
        58
    totoro625  
       1 天前
    1 、域名:
    使用独立的域名,不要在任何地方发布该域名的链接
    添加域名泛解析到指定 ip ,避免扫描
    不要用常用子域名,例如 nas 、pan 、photo 等
    申请证书的时候使用泛解析申请,不要泄露子域名
    前端套 nginx ,错误的子域名直接返回 444 错误码
    2 、防火墙
    非必要端口不要全部公开在公网
    最好添加 ip 白名单
    我是手机上弄个 ddns ,设备对该 ddns 域名解析为 IP 自动过白
    xiaoding
        59
    xiaoding  
       1 天前
    上公网不上 vpn 或者穿透就是不安全的,即使上各种措施,指不定你搭的应用或者 docker 镜像里面有个啥 0day 之类
    MADBOB
        60
    MADBOB  
       1 天前
    @siallen 设置-安全性-帐户-帐户保护里面设置策略
    SakuraYuki
        61
    SakuraYuki  
       1 天前
    我是用 surge 回家的,最好用同类型的 vpn 回家,只开一个 vpn 的端口,不仅是规避公网被扫到的风险,同时也能避免因为开 web 服务被运营商封号的风险
    zhucegeqiu
        62
    zhucegeqiu  
       1 天前
    最优解就是开一个 ss/v2 之类的,直接利用已有的分流软件,翻墙&回家一站式解决方案
    vibbow
        63
    vibbow  
       1 天前
    绑定个域名,根据域名反代回 NAS
    域名不对就访问不了
    soar0712
        64
    soar0712  
       1 天前
    高端口、https 、两步校验、强密码
    luoshengdu
        65
    luoshengdu  
       1 天前
    公网开放,drive 、hyper backup 、web ,用了 20 年了,没碰到什么威胁。
    **管理员两步验证、搞好证书、做好 DSM 的防火墙就好、防护内配置好封锁、配置好 smtp 通知**

    [img][/img]
    [img][/img]
    jiabing520a
        66
    jiabing520a  
       1 天前
    看大家都回复了很多,其实我觉得任何一个措施都会增加系统负担,所以改动量是越小越好
    nekoneko
        67
    nekoneko  
       1 天前
    配好防火墙就行了, 放行常用 ip 地址, 其他一律拒绝.
    配合组网使用体验更佳
    ciki
        68
    ciki  
       1 天前
    无所谓,只要不把无任何安全防护就能修改系统文件的放出去就行了
    2Broear
        69
    2Broear  
       1 天前
    waf
    xinxuyue
        70
    xinxuyue  
       20 小时 47 分钟前
    软件不足硬件来凑,上 NGFW ,哈哈哈哈。
    gvdlmjwje
        71
    gvdlmjwje  
       18 小时 24 分钟前
    @luoshengdu 我靠牛的 那时候就有群辉了?
    abc0123xyz
        72
    abc0123xyz  
       18 小时 19 分钟前
    用的爱快自带的 openvpn 连回去,然后所有的都走内网
    f14g
        73
    f14g  
       18 小时 5 分钟前
    在家里用 docker 部署一个长亭的雷池 waf 社区版, 然后所有的请求都走 waf 做转发. 能帮助拦截掉大量的国外攻击.
    siallen
        74
    siallen  
       17 小时 34 分钟前
    @MADBOB 好吧,谢谢大佬。我用的飞牛,好像没有这个功能
    wuud
        75
    wuud  
       16 小时 19 分钟前
    使用 nginx 代理 web 。
    访问时判断是否存在 cookie 。如果存在返回正常页面,如果不存在返回错误。
    第一次访问 URL 时需要指定路径,如 http://xxx.com/asdf 。其中 asdf 是自定义的字符串,如果存在这个字符串,则保存 cookie
    这样只要第一次访问 url 时附带自定义字符串,后续就可以无感访问了
    AndreasG
        76
    AndreasG  
       15 小时 36 分钟前
    用雷池代理一层就行了
    dreamingclj
        77
    dreamingclj  
       15 小时 5 分钟前
    @SenLief 为什么 dxp4800 不能买
    jalena
        78
    jalena  
       15 小时 1 分钟前
    我有个不成熟的想法哈,,给 NAS 里面塞满病毒,然后公开,你看行不行
    snoopygao
        79
    snoopygao  
       14 小时 37 分钟前
    1 、限制省内 IP 可访问,甚至可以限制省内单个运营商 4G 5G 可访问;
    2 、使用 QUIC 协议,基于 UDP 的,一般没人扫,当然首先公网地址要禁 PING 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3285 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 00:37 · PVG 08:37 · LAX 17:37 · JFK 20:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.