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

关于电信 sdn 网关 ipv6 网络裸奔问题

  •  
  •   jyeric · 2022-09-03 18:32:21 +08:00 · 4370 次点击
    这是一个创建于 818 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天 bt 下载的时候看到了很多的 ipv6 网址(本来 ipv6 默认被电信 sdn 网关屏蔽)于是简单看了下。结果发现每个端都分配了 2 个公网 ip 地址。(我看网关运行时间应该是今天凌晨运营商重启网关发送更新的)

    其他的最近 V2EX 帖子
    https://v2ex.com/t/875489
    https://v2ex.com/t/875570
    https://v2ex.com/t/875608
    https://v2ex.com/t/875719

    感觉最近关于 ipv6 的帖子很多,不知道是不是最近运营商加大了对 ipv6 的下发。

    关于裸奔问题其实问题挺大的,本来内网条件下可能的无密码 /默认密码(虽然本来也并非安全,但至少有内网的保护)也会直接映射到公网去。而且可能本来内网随便发的端口也可能会被 0day 漏洞攻破。

    我看到有些说 ipv6 扫不到的。其实这个问题是很大的,尤其是对每个端都发配 ipv6 的情况下。视频网站、网盘可能会搞(或已经再搞) p2p ,不经意间就暴露了。普通下载 bt ,加入到 dht 网络,开个 ipfs ,也都会直接暴露你电脑的 ipv6 。特别是下载 bt,不少人喜欢搞 webui ,还是默认密码或无密码。直接就能成为 tcpflood 肉鸡一台。

    因此目前有什么本机方案防火墙吗? sdn 网关无管理权限。可以在电脑上先设置一下。然后联系电信公司看看 sdn 网关怎么解决或者自己买路由器替代。

    33 条回复    2022-09-06 22:39:46 +08:00
    jousca
        1
    jousca  
       2022-09-03 19:35:07 +08:00
    你想多了!!!

    我估计你 IPV6 协议都没耐心读完……
    jyeric
        2
    jyeric  
    OP
       2022-09-03 19:58:32 +08:00
    @jousca 那我说的哪里存在问题了
    geekvcn
        3
    geekvcn  
       2022-09-03 20:00:25 +08:00 via iPhone
    运营商光猫,SDN 防火墙都是默认禁止 V6 入站流量的,家用路由器 OpenWrt 华为 中兴 华硕 小米 TP 也都是默认禁止入站。你实在不放心 IPv6 是支持 NAT 的,只是不推荐。另外 IPv6 无状态虽然后缀是固定算法生成的固定后缀,但是无状态一般都配合隐私扩展,隐私地址用来对外访问,服务方知道又如何?隐私地址也是默认禁用入站流量的。
    geekvcn
        4
    geekvcn  
       2022-09-03 20:01:10 +08:00 via iPhone
    @jyeric 全是问题
    jyeric
        5
    jyeric  
    OP
       2022-09-03 20:08:14 +08:00
    @geekvcn 就是现在支持 v6 入站了 我才发的问题

    我用手机流量测试过了 可以直接入
    jyeric
        6
    jyeric  
    OP
       2022-09-03 20:10:10 +08:00
    @geekvcn 那么按这么说那应该是就是 sdn 网关配置问题了。我稍后去联系电信运营商
    acbot
        7
    acbot  
       2022-09-03 20:20:40 +08:00
    即使 SDN 没有防火墙,只要你不乱修改操作系统的防火墙配置,Linux 和 Windows 默认的防火墙配置都可以满足安全要求。另外,虽然没用过 SDN 这种设备但是基本的防火墙功能应该是有的估计只是他们默认配置关闭了而已,他们应该可以调整。不过很多用户应该是要求关闭的
    v2tudnew
        8
    v2tudnew  
       2022-09-03 21:07:06 +08:00
    普通人你就放心好了,一定会装什么管家之类的,到时候肯定会默认禁止连入(就像现在不是白名单应用直接杀掉),你还得折腾允许某些应用连入。

    会用防火墙的那就更不用担心了。
    jyeric
        9
    jyeric  
    OP
       2022-09-03 21:42:06 +08:00
    @acbot 那不一定,smb 什么的不改防火墙都是危险东西
    limon
        10
    limon  
       2022-09-03 22:00:06 +08:00
    网卡设置里直接取消 ipv6
    Kunmona
        11
    Kunmona  
       2022-09-03 22:18:45 +08:00 via Android
    如果用 openwrt ,是默认开启 IPv6 的防火墙的,阻断所有入站流量,当然也可以单独设备单独端口开放,就是有点麻烦,建议你光猫后再接一个例如 openwrt 一样带有 IPv6 的防火墙路由器,如果你嫌不安全又懒得折腾那就关了它
    cnbatch
        12
    cnbatch  
       2022-09-03 22:29:43 +08:00
    担心 SMB 纯属多余,与其在这里猜测还不如直接进入 Windows 自带的防火墙的“高级安全 Windows Defender 防火墙”设置望一眼。

    进入设置后可以看到,SMB 在防火墙的默认设置当中并不对公网开放,无论 IPv4 还是 IPv6 。
    LnTrx
        13
    LnTrx  
       2022-09-03 22:50:23 +08:00   ❤️ 1
    用户设备很多是可移动的,把安全寄托于网关可能反而被偷袭
    Windows 自带的防火墙就可以限制入站为本地子网
    LnTrx
        14
    LnTrx  
       2022-09-03 23:40:56 +08:00   ❤️ 2
    所谓“IPv6 扫不到”是跟 IPv4 相比的。在 IPv4 下,扫遍全网是可行的。如果常用端口配置薄弱,分分钟就被人端了。IPv6 地址空间非常大,除非掌握很具体的信息,扫段几乎是不现实的。

    楼主指出 IPv6 可能通过应用主动暴露,这个风险是真实存在的。安装各类应用的设备,主要是有用户操作的( PC )或者本来就面向外网的设备( NAS ),这些设备基本都有安全机制。即便没有,攻击面相比公网 IPv4 还是小很多,攻击的实现和范围受到很多限制。就像是在 IPv4 下的 DMZ 主机,很多人把常用端口调到非标准端口就完事了。尽管十分草率,但被攻陷的概率也会小很多。

    当然,更高的安全性是值得追求的。个人认为 IPv6 时代的不应该继续假设内网是安全的,而应该基于“零信任”,做好机器本身的安全防护和验证。特别是对于经常移动的设备,它们的上级网关本来就不可控,虚幻的安全感可能反而导致翻车。如果还是担心,也可以借助 IPv6 超大地址空间的优势,给 bt 、ipfs 这类应用分配独立的地址(如虚拟机),从而仅把安全的的、与敏感数据隔离的服务暴露给外部。
    1423
        15
    1423  
       2022-09-03 23:47:26 +08:00   ❤️ 1
    PT 的 ipv6 peer 一扫一个准,门户大开
    malash
        16
    malash  
       2022-09-04 04:10:08 +08:00   ❤️ 2
    我认为楼主的担忧是对的,在 IPv6 环境下对网关防火墙的依赖其实是大于 IPv4 的。

    在 IPv4 下,NAT 其实起到了部分防火墙的功能,NAT 下的机器默认无法对外暴露端口,除非指定端口转发(相当于防火墙开放端口)或者 DMZ (相当于关闭防火墙)。而在 IPv6 下,是没有这层防护的,因此光猫路由器等设备普遍启用了 IPv6 防火墙默认阻止一切入站连接,但这种办法显然过于简单粗暴,很多情况下用户为了暴露一个服务就只能完全关闭防火墙,使内网所有设备都处于“裸奔”状态。当然,我绝对不是推荐在 IPv6 下再使用 NAT ,防火墙才是正确的选择。

    IPv6 的确有一些安全方面的加强,如 @geekvcn 所说,理想状态下无状态的地址分配应配合隐私扩展,相当于分配了两个地址,一个用于入站一个用于出站。但我实际测试了一下,许多服务器操作系统——如 Ubuntu Server 、Windows Server 是默认不会开启隐私扩展的(在 Linux 下可以用 sysctl -a | grep use_tempaddr 进行验证),甚至 https://www.v2ex.com/t/833550#r_11359995 里提到群晖都默认不会开启隐私扩展。因此我们不能过于相信隐私扩展真的生效了。
    又如 @acbot 所说,开启防火墙固然会默认禁用入站流量,但对于需要暴露的服务还是需要在防火墙上开放端口的。一旦放开端口,无论是哪种 IPv6 地址其实都开放了,我并没有找到能够“自动区分”隐私地址的规则?如果有可否提供下链接?我在 macOS 上实际测试了自带的防火墙,是没有这种功能的,两个 IPv6 都能被外网访问到
    IPv6 地址众多,确实不用太担心被批量扫描的问题,但是对于 P2P 下载、DDNS 等场景下依然有地址泄露的风险。很多人喜欢搞 All in one ,一台机器既当下载机又当 NAS 又跑很多服务,它们都会共用一个 IPv6 地址,“门户大开”是很可能遇到的。

    因此对于目前的情况,我建议有对外暴露服务需求的用户最好自行选购一款能够具有高级防火墙功能的路由器 /网关,不用太复杂,可以按照端口进行放行基本就够用了。否则,一定不要轻易关闭光猫里的 IPv6 防火墙。同时也希望光猫的厂家能足够重视 IPv6 防火墙的重要性,把光猫里简陋的防火墙开关升级一下。

    另外,安全从来不是只依靠一方面就可以的,内网每个设备的防火墙尽量都开启,网关的防火墙也一样重要,双重保险才是最安全的。只是很多场景下内网的服务无法做到足够安全,比如弱口令甚至无口令的 WebUI 、为了小米摄像头只能开启不安全的 SMB 1.0 等等,这些可都不是容易解决的,总不能让用户自己去这些服务的改源代码吧?网关防火墙作为最后一道防线,哪怕内网真的裸奔,也足够提供大部分人需要的安全性了。
    jyeric
        17
    jyeric  
    OP
       2022-09-04 09:47:01 +08:00
    @cnbatch #12 感谢回复 当时测试了 SMB 确实不能通过外网访问,我原本以为是路由器防火墙设置,原来是 windows 的防火墙就禁止了。smb 只是举个例子。
    @LnTrx #14 确实。我就比较偏向内网比较安全的人。因为我的设备都不怎么移动,而且很少联公用 wifi 。其实 windows 防火墙有针对专用网络、家庭网络、公用网络的防火墙设置,很多情况下即使连接公用 wifi ,也基本上不会暴露端口,因为防火墙堵住了。但在 ipv6 情况下可能暴露后就全部变为“公用网络”这种情况了。
    @malash #16 我就想的是需要暴露端口的人直接零防火墙,直接裸奔。甚至路由器厂商想目前的电信 sdn 网关直接 ipv6 无防火墙设置,直接暴露公网裸奔。
    另外关于隐私扩展,windows 好像已经是分配一个 ipv6 地址和一个临时 ipv6 地址了。临时 ipv6 地址用于出站访问网络。但比较奇怪的是临时 ipv6 地址仍然可以入站。可能就应该防火墙哪里设置一下阻止临时 ipv6 地址直接入站。


    其实我在想有没有办法就是对专门的要映射的服务直接单独分配 ipv6 。比如 bt ,是否可以直接要求获取一个专门的 ipv6 地址专门映射,然后把 webgui 和 bt 端口分开。甚至于各个需要入站需求的服务全部让他们单独随机分配 ipv6 。
    acbot
        18
    acbot  
       2022-09-04 10:06:00 +08:00
    @cnbatch "...SMB 在防火墙的默认设置当中并不对公网开放,无论 IPv4 还是 IPv6..." 对啊,他连这个都不知道!
    acbot
        19
    acbot  
       2022-09-04 10:12:34 +08:00
    @malash 我感觉你的文字都是翻译过来的那种! 现在不论光猫还是很多国产路由器 v6 的端口开放支持都很差,很多设备连关闭或者是打开火墙的选项都没有只能用默认规则。这个时候有需要端口开放需求的能有一个关闭功能就觉得很不错了,不是他们不知道防火墙关闭的问题
    jyeric
        20
    jyeric  
    OP
       2022-09-04 10:23:37 +08:00
    @acbot 确实不知道啊,我只看我用的服务中是否会产生什么问题。smb 我只是用于内网的文件共享,而且测了外网确实不通。本来举 smb 的例子也只是想说可能会有不安全的端口或内容直接暴露在 ipv6 中。然后通过 bt 下载或者 p2p 就暴露 ipv6 地址了。

    smb 这点确实是说错了。
    acbot
        21
    acbot  
       2022-09-04 10:30:18 +08:00
    虽然没用过 SDN 这种设备但是基本的防火墙功能应该是有的,估计只是运营商的默认配置数据里关闭了而已,你有需要他们重应该可以重新调整配置数据开启默认防火墙就对了。就算真的 SDN 这种设备没有防火墙,你和公网之间还有一层运营商防火墙他们在这个地方调也是行的,不然你觉得为啥 80 443 SMB 这些为什么不能访问呢。 你的问题是把服务安全和防火墙混到一起了,认为只要防盗门好钥匙随便放都安全,你防盗门再好直接家里就有内鬼或者是你把门的钥匙都给人家了 你现在要怪门不安全...
    jyeric
        22
    jyeric  
    OP
       2022-09-04 10:33:42 +08:00
    @acbot 我这电信的 sdn 网关直接防火墙都没有,直接暴露公网了,所以标题我也写的是 sdn 网关 ipv6 裸奔。内容也是 ipv6 裸奔问题,而不是讨论国内路由器到底防火墙能不能关闭。前提已经定死了,情况就是 ipv6 裸奔到设备。

    而且 bt 下载的也不是都懂网络安全的,觉得下载快,好,直接关了防火墙;有什么 nas 需求要访问,又直接把防火墙关了
    acbot
        23
    acbot  
       2022-09-04 10:43:15 +08:00
    @jyeric 你说的没有很大可能是仅仅是没有提供给你一个操作界面来开启或者是关闭防火墙,而运营商默认配置的时候又给你关了,并不代表你这个设备真的没有防火墙。
    jyeric
        24
    jyeric  
    OP
       2022-09-04 10:43:39 +08:00
    @acbot 抱歉,我回复延迟比较大。这是针对#21 的回复。上条是针对#19 的回复

    因为我是在想没有防火墙的情况下 ipv6 直接暴露在公网的情况。ipv6 范围广,不可以直接被搜到,理论安全。如果只是防火墙全部堵死就没有 ipv6 的作用了。现在想说但是会有 bt 这类直接送 ipv6 地址出去的软件,然后因为 ipv6 被软件送出去,造成其他在这个 ipv6 地址上开启端口的 webgui ,0day 漏洞啊这类的危险性。

    门足够多,就算虚掩着,当不可能去查看大量门是否都锁着的时候,就是安全的

    另外,理论上 sdn 网关要开启防火墙的话应该打电话过去就行了。
    acbot
        25
    acbot  
       2022-09-04 10:53:59 +08:00   ❤️ 1
    @jyeric 没有什么抱歉的,就讨论问题嘛! 你说的问题其实我都理解了,而是你没有理解我说的意思!

    ”现在想说但是会有 bt 这类直接送 ipv6 地址出去的软件,然后因为 ipv6 被软件送出去,造成其他在这个 ipv6 地址上开启端口的 webgui ,0day 漏洞啊这类的危险性。“ 开始我就说了一下,这个问题是你应用本身安全问题并不是 v6 带来的!
    jyeric
        26
    jyeric  
    OP
       2022-09-04 11:19:31 +08:00
    @acbot 对 但是应用本身安全有些是可以避免的 有些是不可避免的

    比如说弱密码和无密码在知道的情况下是完全可以避免的
    但对于不知道或不清楚的弱密码情况下,或者干脆就是突发的 0day 漏洞 就难以被避免

    这确实不是 v6 带来的。但是 v6 会更容易导致问题的发生,因为失去了 NAT 的保护。

    那么,既然 v6 在不断推广,如果只是通过防火墙全部阻止入站,短期内是个很好的解决办法,我也觉得我可能会在路由器设置,但不能解决根本问题。而且既然每个设备都能获得 ipv6 地址,入站可能也会被越来越多的软件选择。

    在讨论过程中,我觉得让不同软件映射不同 v6 地址会更方便解决入站的问题和暴露地址的问题。但目前好像也没有这类的实现,也不知道这方面有什么缺点。
    acbot
        27
    acbot  
       2022-09-04 11:42:54 +08:00
    @jyeric ”...NAT 的保护...” 这里就是一个最常见的误区,NAT 不提供任何保护功能他仅仅是提供了一个端口和地址转换的功能,所有保护功能都是防火墙完成的. v4 的 NAT 端口映射虽然你设备上只操作了一次但是实际是包含增加 NAT 和防火墙规则两个动作的。 按照你的逻辑: 数据中心所有机器都是公网,没有 NAT 他们如何保障安全? 另外,如果你真认为是 NAT 才安全其实 v6 也有 NAT (很多国产设备都支持)仅仅是不推荐用而已,你完全也可以在 v6NAT 下使用。 你有很多误区
    malash
        28
    malash  
       2022-09-04 14:12:38 +08:00
    @jyeric
    “其实我在想有没有办法就是对专门的要映射的服务直接单独分配 ipv6 。比如 bt ,是否可以直接要求获取一个专门的 ipv6 地址专门映射,然后把 webgui 和 bt 端口分开”
    最简单的办法就是用 OpenWRT 作为网关,默认开启 IPv6 防火墙,然后只对需要打开的端口进行端口转发。这种场景下,网关就是专门用来暴露端口的,除了网关以外的 IPv6 地址都只能对内网服务,满足你的需求
    malash
        29
    malash  
       2022-09-04 14:58:56 +08:00
    @acbot 数据中心是一个很好的例子,类似的还有当年没有路由器的年代,大家都直接用 PC 拨 PPPOE 。这种情况下安全的确是由设备的防火墙和自身开放的服务决定的,我想肯定不会有人敢在自己的 VPS 上开放一个没有密码保护的 Web 服务吧?
    NAT 不是被设计用来解决内网安全问题的,但不可否认的是它的确起到了一定的防火墙的作用。在有 NAT 的情况下,即使内网裸奔,网关也能起到一定的防护作用。IPv6 的网关防火墙也是类似的作用,如果内网注定要裸奔,那么总有最后一道防线。而且大部分情况下,使用单一的网关防火墙会比给每一个设备都维护防火墙要容易,更适合普通用户。
    如果 NAT=地址转换+防火墙,那么在 IPv6 下我们不需要地址转换了,其实需要的就是一个防火墙
    LnTrx
        30
    LnTrx  
       2022-09-04 17:00:48 +08:00
    @jyeric 同一主机内为不同应用单独分配 IPv6 是一个值得研究的问题,目前比较成熟的经验还比较少。
    对于服务端场景,可以沿用多 IPv4 主机的经验,例如在写端口监听时直接指定 IPv6 地址。
    对于应用端场景,我能想到的做法主要还是虚拟化。例如 VMware 下开的虚拟机,设为桥接模式就会获得与主机不同的 IPv6 地址,从而实现分离。对于 Docker 来说固定前缀比较好配,动态前缀可能需要依赖脚本,例如 https://github.com/wido/docker-ipv6 (未验证过)。
    gyorou
        31
    gyorou  
       2022-09-05 09:41:06 +08:00
    v6 一个端口可以绑定多个地址的,不同软件映射不同地址没啥问题。
    路由防火墙不是很好设置吗?
    实在担心内网暴露,可以用 v6 的 ULA 做 NAT 。
    adminoroot
        32
    adminoroot  
       2022-09-05 11:07:30 +08:00
    哎,2 年前买 ax68 的时候就发现这个问题了,关闭 IPv6 防火墙的话,内网的服务器外网用 IPv6 访问不到,关闭 IPv6 防火墙的话,全部设备 IPv6 外网都能访问到。我也经常在 qbittorrent 里面随便找个地址端口扫描:很多 5000 端口的 nas 都能扫描出来;很多 qb 的 web 界面用 admin adminadmin 的默认用户名个密码;很多 FileBrowser 也用默认密码,里面的文件都被我看光光了;还有的 opwrt 也用默认的 password 密码,ssr+的订阅链接都顺便被我复制一下送给别人使用了。。。。
    jyeric
        33
    jyeric  
    OP
       2022-09-06 22:39:46 +08:00
    @adminoroot 确实啊 我就是因为这一点提出这个问题的 就是考虑 bt 下的爽直接关闭防火墙 不考虑 webgui 是不是弱密码 /无密码 jsonrpc token 有没有设置
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:55 · PVG 14:55 · LAX 22:55 · JFK 01:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.