不对公众提供网络服务的话,完全没必要对外暴露任何端口

21 小时 40 分钟前
 swiftg

最近肥牛的 0day 漏洞很火,分享下我的观点:

普通人如果不对不特定公众人群提供网络服务的话,完全可以不对外暴露任何端口,以获得最大的数据安全。

那在外如何访问家里的数据呢,只需要一个中转服务,把当前设备的 IP 传递给家里的防火墙即可。分享下我的实现方式

  1. 本地防火墙默认 drop 掉所有的入栈请求,注意是 drop 不是 reject 。被扫描时选择不回应,而不是大喊“不准进”,网络黑暗森林法则
  2. 本地防火墙上运行一个监听脚本/程序,只通过 cf tunnel 监听来自 cf worker 的认证后的请求,不监听公网请求
  3. 在 cf Worker 上部署一个中转脚本,用于接受远程设备的 ip 并转发给本地防火墙
  4. 远程设备,比如手机需要访问家里的设备时,先访问 cf worker 脚本,脚本将设备的 IP 和请求端口等信息传递给本地防火墙的监听程序,再由其加入到防火墙的临时白名单里,允许 10 分钟内入栈连接。超时后将 ip 移出白名单
  5. iOS 设备可以利用快捷指令,在启动某个 App ,比如群晖 Photos 时自动后台访问 worker 脚本,将当前设备的 IP 传递给家里的防火墙,基本可以无感直接访问家里。其他有更高权限的系统,完全可以将设备的 IP 变动实时传递给家里

其中第二步也可以简化为只运行一个轮询脚本,通过 cron job 不断轮询 cf worker 获取最新的白名单 IP 。时效性比通过 cf tunnel 监听稍差。自己有 VPS 的话可以通过其他方式与 VPS 建立一个长连接传递白名单 IP ,增加时效性

1080 次点击
所在节点    NAS
12 条回复
dilidilid
20 小时 19 分钟前
“把当前设备的 IP 传递给家里的防火墙即可”,那你直接挂个 tailscale 然后只允许 ts 的 IP 不就好了。。。
cheese
20 小时 17 分钟前
直接 tailscale 这类 WireGuard 协议的零配置自动组网工具就好了,不是更安全方便。如果没有公网 ip 的,还省得自己去穿透了
dddedd
20 小时 14 分钟前
好复杂,我直接开个 vless 回家,分流做好还不影响翻墙
totoro625
20 小时 7 分钟前
设备上运行一个 ddns-go ,把当前设备公网出口 IP 记录到一个特殊的域名内
家里设备 crontab 每两小时刷新一次 ddns IP
我用的 UFW:
/usr/bin/cat /data/ufw/web.txt | /usr/bin/xargs /usr/sbin/ufw delete allow from
/usr/bin/dig 特殊的域名 +short > /data/ufw/web.txt
/usr/bin/cat /data/ufw/web.txt | /usr/bin/xargs /usr/sbin/ufw allow from comment '临时 web'
codehz
19 小时 49 分钟前
你自己做验证不如直接用 zero trust 的策略
ritziiiiii
19 小时 10 分钟前
求大佬回复,我想问一下,需要 IPV6 公网穿进飞牛(光猫关了防火墙),我要怎么做基础的防御?

如果我的 NAS 不能从外面很好的高质量穿透,那这个 NAS 就不是我想要的功能了···。
honmaple
18 小时 52 分钟前
我现在需要对外的服务都是 公网机器 -> nginx -> zerotier -> 内网 -> 具体的 docker 服务,即使某个服务出现问题,也只会影响这个 docker 服务,不会影响其它内网的服务,话说 docker 应该是很安全的吧
LnTrx
18 小时 38 分钟前
如果 cf 的网卡了,而人又在外面,怎么救急
Aaron01
18 小时 35 分钟前
@LnTrx 如果 cf 的网都卡了,就没什么更着急的了
Aaron01
18 小时 34 分钟前
@cheese 貌似这种的要在手机上开个 VPN 和科学软件有冲突
LnTrx
18 小时 33 分钟前
@Aaron01 大陆地区 cf 被干扰的情况并不少见
wctml
3 小时 23 分钟前
只能内网访问就行了。

这个东西为什么要公网访问呢。

任何暴露在公网的自己维护的东西都容易被利用漏洞攻破。

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

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

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

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

© 2021 V2EX