日经小白问题: IPv6 下直接暴露在公网上,是不是安全方面有隐患?

2021-09-18 23:44:00 +08:00
 acess
以前经常听说 IPv6 地址空间大,所以 IPv4 下 zmap 这种高效扫描工具能不到 1 个小时就扫遍全网这种事情已经不再可能了。

怎么说呢?

我觉得这种说法貌似是有道理,但稍微想想……

有几个人上网从来就没点击过什么奇怪的链接?(虽然有安全意识的人都知道链接不能乱点)
也许一不小心、甚至毫无察觉的情况下(比如劫持、XSS ),就访问了什么奇奇怪怪的网站,然后——对方很显然就直接能知道你的 IPv6 地址了啊。

虽然这样是守株待兔的,只能被动等着你上钩,相比主动扫描影响确实相对小多了,但并不是说就没影响了。

相比而言,如果是 NAT 下的 IPv4,那他获取到的只是 NAT 网关的 IP 地址,并不能直接借助这个地址深入到内网(当然如果是 UPnP 、NAT-PMP 之类映射了那当然还是能访问到内网,不过我想有不少本来就不想暴露在公网的东西,从一开始就并不会支持 UPnP 之类的)。


关于 Windows 防火墙……根据我现在的理解:

貌似 Windows 防火墙是分“区域”的,默认是“公用网络”,比如我连了公共 WiFi 这种,我肯定不希望我的端口直接暴露出去;但有的时候,比如 BT 下载之类的,暴露一下可能也无妨。
如果是我把笔记本背回家了,连的是家里的 WiFi,那么就切换到了“专用网络”。在家里的话,比如 SMB 共享,我希望可以在别的设备上访问,于是很多时候这些端口就是暴露的。

于是问题来了,其实在“专用网络”下,我也不想让我家局域网之外的其他设备访问我的 SMB 共享不是么。

我看了一下 Windows 防火墙高级设置,里面好像也没有限制远端 IP 地址。那么……

如果是 NAT 下的 IPv4,那么“天然”就是只有我局域网里的手机啦、平板啦、第二台电脑啦……只有这些我家里的、自己的设备才能访问我的 SMB 共享。
如果是 IPv6 呢?没有 NAT 了,那我的 SMB 共享岂不就是直接暴露在公网上了么?


(当然也可以吐槽“专用网络”这个分类本身就太过笼统……比如一个学生,在寝室里愿意开放给舍友访问的东西,和放暑假回家后、在家里愿意开放给家里人访问的东西,很可能并不重合……但这其实是另一码事了)


搜了一下,貌似有人说 OpenWrt 默认的防火墙规则,会默认阻止入站连接。但是运营商的光猫什么的就不好说了,貌似一般就是没有 NAT 、也没有这样的防火墙规则。(稍微搜了一下,貌似也有光猫可能有阻止入站的规则?但好像这个甚至都没在 web 界面给出选项,都需要 telnet 上去直接改配置文件,更遑论细粒度地放行某个设备或端口)

( IPv6 的 NAT 是啥情况我也不知道。IPv4 貌似很多时候提到的都是 NAPT,而且即便能打洞大多也是端口限制型锥形 NAT 这种,貌似只要不是刻意打洞就并不怎么暴露。IPv6 据说是“真正的 NAT”,也就是说地址是一一映射的?那么也许 v6 的 NAT 很多时候并不能起到阻挡入站连接的效果了)

(另外其实我还在想一个问题,就是 IPv4 的 NAT 下有 UPnP 、NAT-PMP 之类协议能自动设置端口映射——虽然这些协议好像还是不能解决多层嵌套“级联”的问题……那么 IPv6 呢?如果说都是像(据说) OpenWrt 那样防火墙规则直接默认阻挡入站了,那如果一个 app 想像之前 UPnP 一样“开洞”要怎么办呢?是不是只能弹窗要求用户手动去设置?)


另外其实我还想到一件事,就是 Electrum 这个 BTC 钱包曾经爆过的一个高危漏洞,在浏览器访问恶意网页时,因为 Electrum 钱包在运行时就监听本地端口开了一个 RPC 服务器,可以被浏览器里的恶意网页(比如 JS 代码?)访问,于是就可以直接窃取钱包里的资金或私钥(如果钱包没设密码的话,如果设置了密码也仍然有隐私泄露问题,也就是 BTC 地址可以被得知)。
当时的修正措施是让 Electrum 的 RPC 服务器在响应头里加入一条来禁止 CORS,不过当时就有人说这样修得其实并不算彻底。

一方面可以说,像 Electrum 的这个 RPC 漏洞,就是被动守株待兔的典型,并不是主动去“扫描”,但很显然一样很致命、很严重。

但另一方面其实也可以说,Electrum 已经监听本地回环地址 127.0.0.1 了(如果我没记错的话),于是这反过来可以挑战上文提到的“IPv6 相比 NAT 下的 IPv4 会增加暴露面”这个概念——不说什么 IPv4 还是 IPv6 、是公网 IP 还是内网私有 IP,即便你监听的是本地回环地址又如何,不是照样有可能“暴露”么,虽然这大概因为浏览器环境所以受到一定的限制(大概就是……只能是 HTTP(S)、FTP 之类等浏览器能支持的协议,而且还会受 CORS 限制?)
9138 次点击
所在节点    信息安全
40 条回复
acess
2021-09-19 11:44:33 +08:00
@cwbsw 这样其实还是需要第三方服务器协调吧。
另外 TCP 也可以么?
cwbsw
2021-09-19 12:23:56 +08:00
@acess VoIP 、游戏联机本来就有服务器的啊。如果你需要长期固定端口提供互联网服务,那自然还是需要配置防火墙的。
pcslide
2021-09-19 12:48:32 +08:00
现在主流操作系统(包括手机),都支持随机生成 ipv6 后缀,哪有什么暴露问题?
codehz
2021-09-19 13:01:33 +08:00
没有 NAT 不代表就是直接暴露在公网,随机后缀只是为了隐私(避免猜测内网设备数量),防火墙和 NAT 完全是正交的关系。。。
codehz
2021-09-19 13:06:41 +08:00
关于家庭网络的防火墙问题,不应该由 windows 来解决,而应该是路由器上设置规则,毕竟关于哪些地址是外部的,只有路由器有这个能力去识别(当然你可以说按前缀,但是如果你的网络拓朴有两层呢,本地的防火墙设置得多复杂才能处理?
expy
2021-09-19 14:05:48 +08:00
ipv4 也有不搞 NAT,一台设备一个公网 IP 。安全问题让防火墙解决。
1arry
2021-09-19 18:18:36 +08:00
入侵 lz 的 IPv6 是有什么好处吗?如果没有,lz 的 IPV6 需要做做 SEO 才能不安全吧。
opengps
2021-09-19 20:34:18 +08:00
目前的自动扫描器破解工具还有很多不支持 ipv6 的,所以攻击相对没有那么多
exploreexe
2021-09-19 22:12:43 +08:00
要是为了安全,就别这么干呀。
非要把自己置于风险之下 干嘛呢
acess
2021-09-20 11:07:33 +08:00
@swulling
@jim9606
以前没在用 v6 的时候太留意过,现在回想起来好像还是有一些服务会同时监听 v4 和 v6 ?具体是啥情况我也不是很清楚。
acess
2021-09-20 11:20:45 +08:00
@swulling
@hs0000t
@tril
@codehz
我手头的一台老光猫和新的电信版 TP-Link,好像设置界面里都没找到 IPv6 防火墙……
hs0000t
2021-09-20 11:28:02 +08:00
@acess 电信不熟,我家用的联通,要找客服发工单,等电话来以后要管理员密码,然后在 http://192.168.1.1/CU.html 里改防火墙配置,默认只有高中低三档,管理员进去能看到具体的条目
acess
2021-09-20 11:41:35 +08:00
@hs0000t 我这个光猫也有防火墙选项,但里面翻来翻去也没有 v6 相关的选项,实测也没有阻挡入站连接。
acess
2021-09-20 11:53:29 +08:00
我去……我稍微观察了一下,TP-Link 的这个防火墙……好像就是新加了一个开关,调到“高”其实就是帮你关掉虚拟服务器(端口映射)和 DMZ 主机这俩功能😂
实测这个“防火墙”调到“高”之后,(光猫桥接、路由器拨号的情况下) v6 入站连接依旧畅通无阻……
yanqiyu
2021-09-20 16:34:21 +08:00
我更加倾向于设备自己实现防火墙(主要是小米的老款路由器默认拦截所有 v6 入站不给关让我恼火了一段时间)
Windows 上不太了解,但是在我的 Linux 工作站上是按照 source ip 段设置了防火墙规则的,设备所在的 /64 段就是内部,其他的都是外部
对于手机上一开始就不应该监听任何端口 (刚才 nmap 了一下,确实没有监听端口,要是有的话建议和厂商对线或者卸载对应 APP )

不过归根结底还是监听所有地址不可取,需要监听 [::] 的服务其实屈指可数,要是多到了难以管理的话我认为是一开始的设计问题。
zed1018
2021-09-20 20:55:52 +08:00
所以现在 Windows11 上无论在家还是在公司都推荐用“公开网络”配置。
acess
2021-09-20 22:16:20 +08:00
@zed1018 其实“公用网络”真想开的话各种服务还是都能开的……我没感觉到这个模式和专用网络有啥本质区别……
acbot
2021-09-20 23:04:57 +08:00
v6 时代防火墙的重要性就很明显了。 除了路由器防火墙要设置正确外,也不能像以前 v4 时代那样关闭系统防火墙来使用了。如果你的系统打开了 SLAAC + stable-privacy (无状态模式 + 随机字符串 模式)一般你上网都是随机临时地址,加上如果是拨号上网的话前缀也会变 所以这个就是人家说不容易扫描的原因。其实最关键还是路由器防火墙要管理好
tankren
2021-10-19 14:02:45 +08:00
pfsense 防火墙好使
Teleport
2022-01-23 13:30:30 +08:00
试了一下家里路由器的防火墙,v6 也挡了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/802867

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX