V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DoubleKing
V2EX  ›  宽带症候群

搞了个双栈家宽 300+50M,有何防护技巧

  •  
  •   DoubleKing · 157 天前 · 2486 次点击
    这是一个创建于 157 天前的主题,其中的信息可能已经有所发展或是发生改变。

    坐标成都,周末搞了个双栈的家宽,目前用 openwrt+ddns+泛域名解析+nginx 代理了一些家里的服务(主要是 nas 相关的),以便在外网使用,对外只暴露了两个高位端口,套上了 https ;

    rt:请问这样是否相对安全,还有什么需求注意的, 以及如何预防被封宽带或者被攻击

    28 条回复    2024-06-20 10:04:01 +08:00
    LanhuaMa
        1
    LanhuaMa  
       157 天前
    不要跑大流量,不要 PCDN ,把你的 http(s) 端口关掉换成 frp
    MYlyc
        2
    MYlyc  
       157 天前
    CF 的 tunnels
    yyzh
        3
    yyzh  
       157 天前 via Android   ❤️ 1
    坐等关停写保证书
    miniliuke
        4
    miniliuke  
       157 天前
    自用的话,我 http 的服务都好几年没人管
    dhuzbb
        5
    dhuzbb  
       157 天前   ❤️ 3
    记住一个道理,永远不要对外暴露家里的任何 web 服务。

    比较安全的方案是自建 wireguard 这种方案,一行 docker 命令即可,wg-easy 带有图形化的管理界面。

    在安全性方面,只需要在路由器层面开放一个 wireguard 的 udp 端口号即可。

    带来的好处很多:
    1 是速度快,有公网 IP 是直连的。比任何商用服务的速度都快得多,当然取决于你家里宽带的上传速度。
    2 完全开源免费,支持多平台。
    3 一键直连家里内网,访问习惯不需要做出任何改变,和在家里一样。
    smartruid
        6
    smartruid  
       157 天前
    如果只有自己用的话 建议用 vpn 接入,比如楼上说的 wireguard
    hexo
        7
    hexo  
       157 天前
    只暴露 vpn 端口是比较安全的,缺点就是手机和电脑要先连接 vpn 再访问服务,自己还好,如果有家人要访问的话麻烦点
    DoubleKing
        8
    DoubleKing  
    OP
       157 天前
    @miniliuke 我 ip6 跑了两年了
    DoubleKing
        9
    DoubleKing  
    OP
       157 天前
    @LanhuaMa 之前一直有 ipv6 在跑 pt ,跑了一两年,还算稳定
    DoubleKing
        10
    DoubleKing  
    OP
       157 天前
    @yyzh 可怕
    DoubleKing
        11
    DoubleKing  
    OP
       157 天前
    @smartruid 主要是我和我对象使用
    frankilla
        12
    frankilla  
       157 天前
    @dhuzbb #5 这段话已写入 memos 。
    kk2syc
        13
    kk2syc  
       157 天前   ❤️ 2
    n 年前问过电信区域经理,ddns 域名不一定备案,只要不包含关键词即可。你对外的所有 web 只要加上权限控制(登录系统)就行了,只要不能直接任意访问,就不算对外公开。开 web 被关停的都是挂了不合规的东西或者允许任意公共访问,每一个都嘴硬。规定看不懂,变通也不会。我电信公网 ip 对外 git8443 ( 4 年),群晖 5000 ( 6 年),海康 NVR8080 ( 10 年),家人在用,git 甚至给朋友们( 20+人)一起用,都没问题。
    caola
        14
    caola  
       157 天前
    对外开放 web 的访问真是心大,我现在都不敢直接了,
    而是只做为 web api 和 文件服务器 对外开放,但是必须验证 token (其实就简单的验证一个加密后的时间参数,误差 5 分钟内的都放行),要是验证不通过连 404 都不返回了,改为直接 TCP RST 强行中断连接。
    agostop
        15
    agostop  
       157 天前 via Android
    对外只暴露了两个高位端口
    -----------
    你是如何保证只暴露了这两个端口?
    agostop
        16
    agostop  
       157 天前 via Android
    如果可以确定只是暴露了这两个端口,那可以想办法在这两个端口上做一些安全措施也行,但是要安全的话,还是得用 vpn ,相对成本小,安全保障更高
    villivateur
        17
    villivateur  
       157 天前
    不要开 http 类协议,就算高端口也一样,运营商并不是检测你的端口,而是检测协议类型
    Wy4q3489O1z996QO
        18
    Wy4q3489O1z996QO  
       157 天前
    @LanhuaMa
    @DoubleKing #9 赞同,用 frp 的 stcp 模式。
    对外只暴露一个端口,配置好之后跟访问内网一样。
    78786381
        19
    78786381  
       157 天前
    我开了个 openwrt 和 bitwarden ,有别的需求的时候设置 openwrt 防火墙,暂时没什么问题
    thereone
        20
    thereone  
       157 天前
    和你一样用 nginx 反代,防护做了一点把 nginx 的默认访问改成返回 444 ,比如 https://xxxx.com:12345 这样能直接进入页面的改成 https://xxxx.com:12345 访问就返回 444 直接中断连接这样就只知道开放了端口不知道跑的什么东西。把要访问的修改成二级目录 https://xxxx.com:12345/qunhui 这种才能进入的同时也可以再加个简单的页面认证,这样基本就不会让人扫描出来了,扫描端口就直接给你返回 444 的连接了。可以探测到的就是你在这个端口跑了一个 nginx 服务但是用 https 是不知道你里面的路径的,一定不能用 http 传输数据就是了。
    thereone
        21
    thereone  
       157 天前
    @thereone 最终达成的效果就是访问
    https://x.x.x.x:12345 IP 地址加端口 返回 444 关闭连接不让访问
    https://x.x.x.x:12345/qunhui IP 地址加端口加正确的目录 返回 444 关闭连接不让访问
    https://xxxx.com:12345 域名加端口 返回 444 关闭连接不让访问
    https://xxxx.com:12345/qunhui 域名加端口加正确路径 正常访问
    达到以上效果基本就可以了对于普通人防护基本没有问题,再加强的就是不用 nginx 做反代而是内网部署一个开源 waf 用 waf 来做反代同时上一个免费防火墙针对端口扫描之类的也做防护,同时在出口路由器限制可以访问的 ip 地址基本就可以避免绝大部的扫描探测还有攻击了。最后就是勤加更新软件防止漏洞攻击。
    DoubleKing
        22
    DoubleKing  
    OP
       157 天前
    @78786381 我也想装一个 bitwarden
    DoubleKing
        23
    DoubleKing  
    OP
       157 天前
    @agostop #16 ipv4 不知道我现在的方案安不安,之前只有 ipv6 ,相同的方案
    DoubleKing
        24
    DoubleKing  
    OP
       157 天前
    @thereone #20 我现在是必须 https://xxx.域名:端口才能访问,如果不是 https 或者端口不对,,或者 xxx 没有,直接就是 400 或者错误,
    thereone
        25
    thereone  
       157 天前
    @DoubleKing 不要返回 400 的错误返回 400 的错误代表你这里有一个能显示页面的网站,用 444 直接就是关闭连接访问不正确直接关闭连接,浏览器会直接显示无法访问此页面这样才是最好的,只有正确的访问才会显示页面。
    AndreasG
        26
    AndreasG  
       155 天前
    @dhuzbb 如果要开 bt 下载需要开放 16881 6881 端口么,我现在家里的宽带开了这两个也开了群晖的 5000 ,还开了 sftp 和 webdav 端口,还有一个游戏的端口,而且没 https ,最近在考虑如何削减开放的端口,目前家里宽带是用 tplink 自带的 ddns ,几块钱买了个域名二次解析到了 ddns 的域名上,老哥有没有啥方案
    misaka00251
        27
    misaka00251  
       154 天前
    我开过 Wireguard 结果被运营商 UDP QoS 了……
    dhuzbb
        28
    dhuzbb  
       154 天前
    @AndreasG 不需要,路由器开放 wirguard 的 udp 连接端口,是为了在外访问家里的网络。一旦连接上家里网络,就和你在家里访问局域网中的设备是一样的了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3627 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 10:39 · PVG 18:39 · LAX 02:39 · JFK 05:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.