建议给所有需要公网暴露的 web 服务套一层 authelia

2 月 5 日
 Hconk
飞牛的漏洞应该让很多人认识到了公网暴露的安全性问题,挺多人推荐通过 VPN 的方式来保护想公网暴露的服务,VPN 的方式安全性肯定很高,但是很多时候也相对比较麻烦,需要安装 VPN 终端,有时还会和科学上网没法共用。

很多人玩 NAS 就是为了部署各种 web 服务,像 openclaw, matrix, memos 之类的,对外暴露本身就是为了方便能随时访问,如果每次访问都还要切 VPN 着实有点麻烦了。

这里推荐另外一种折中一些的方案,通过 frp 穿透把内网服务映射到服务端,注意自建 CA, 启用 token + TLS 双重认证,映射的端口在服务器上禁用掉,然后通过 NPM 来管理二级域名反向代理内网 ip:端口,通过二级域名访问这个服务,开启 https, 同时在 NPM 的 advance 里配置好 authelia 认证,这样直接访问二级域名会跳转到认证页面,认证后可以访问,和正常直接访问没什么区别。通过这种方式可以将所有对外暴露的服务统一管理,很多小众的 web 服务安全性并没有什么保证,但是经过 authelia 叠加一层之后可以减小很多的安全攻击面。

authelia 的服务比较单一,也得到过国际安全标准认证,相对于 github 上各种大小项目,安全性肯定高很多 level.
13679 次点击
所在节点    信息安全
152 条回复
deepbytes
2 月 5 日
authelia 叠加一层之后可以减小很多的安全攻击面。
——-
老哥,这个有应用配置的实战方案么,我现在的群晖就是 frp—-NPM—-公网——家里 frpc—-群晖
Meursau1T
2 月 5 日
我自己体验下来 VPN 还是很舒服,只要在运行 SS 的机器上(可以是 NAS 、路由、台式)上面也配置好梯子就好,然后手机只需要连回家的梯子,一样可以上外网
Hconk
2 月 5 日
@deepbytes authelia 的配置相对麻烦一些,我是挺久之前配置好就一直这么用着,当时 AI 还没有这个强大,折腾了挺久,有些配置命令之类的细节已经记不清了,但是可以把配置发出来给你参考下,让 AI 来指导一下应该很快就能配好,一次配置永久受益,配置好之后只要要在每次增加 NPM 增加域名时在 Advanced 选项里加几行即可。

https://gist.github.com/Hconk/428678f0c5d3fbbe8fa82ecad184aaf5
除了这里面几个还有 authelia/configuration.yml 里根据自己需要填写相应的配置。
9136347
2 月 5 日
很多人觉得电信不给公网 ip 或者不允许开放公网是限制了他自由,殊不知,这才是保护了 90%的普通人。我看到群里一堆人在热火朝天的讨论飞牛怎么开 ipv6,怎么和 cf 映射,各种奇奇怪怪的姿势的时候。真的觉得无知无畏啊。
rev1si0n
2 月 5 日
谁说和科学上网没法共用的?我用 openvpn 回家网络环境和家里网络一样直接翻墙除了 openvpn 什么都不用装,只要确保 clash 和 openvpn 在一台机器上就好。
hongc
2 月 5 日
目前是 tailscale+自建国内的 derp 中转,远程连到家里的 nas 和开发机器,体验感还不错 打洞成功 90ms 中转 60ms
Hconk
2 月 5 日
@Meursau1T 用 VPN 肯定是没什么毛病,安全性也是得到广泛验证的。我说的这种方式也是在保证一定安全的同时多一种选择,比如想把自己家里的服务共享给其他人的时候,又不想让别人装个 VPN 连到自己家里,总有些场景能用上这种方案。 总的来说安全就是一种 trade off ,找到合适的就行。
Hconk
2 月 5 日
@rev1si0n 这句说的是不太对,算是口误了,当然只要把代理装家里就行了。不过不知道你们公司是不是允许装 openvpn 客户端,装完连到家里之后内网还能不能正常用。跟直接在本地电脑装 clash 配置内网域名过滤规则的方式相比起来,我觉得在公司里用 openvpn 还挺麻烦的。
zhlxsh
2 月 5 日
@9136347 跪久了就觉得站着走路头容易撞门框,还是跪着安全。跪着走路才是保护了 90%的普通人
网上被拐卖的妇女那么多,裹小脚出不了门就不会被拐走,裹小脚才是保护了 90%的普通人
性侵案频发,割蛋能防止性犯罪,还能获得长寿,当太监才是保护了 90%普通人
Meursau1T
2 月 5 日
@9136347 现在都有公网 IPV6 地址,开端口一样是有风险的,但因为 IPV4 长期没有公网,很多人意识不到而已。该解决的安全问题始终要解决,不可能依赖 NAT 。
9136347
2 月 5 日
@zhlxsh 你的类比就是典型的张冠李戴,如果可以这么类比的话,那我们完全不需要法律,不需要警察,不需要法院,大家都自由被,何必保护 90%的普通人呢。自生自灭,死掉一波活下来的不久知道了吗。
你这是典型的以一个从业者或者自以为清醒的视角在俯视普通人,傲慢且毫无礼貌。
9136347
2 月 5 日
@Meursau1T 没有,有的地方有 ipv6,有的又没有,不一定,而且现在基本上都在猫这一层就断掉了,就算有 ipv6 其实也进不来。
9136347
2 月 5 日
@zhlxsh 真正的清醒的人,应该是俯下身子,去以最普通的视角去,去理解别人的做法。而不是自以为自己清醒且高尚,把自己 YY 到高处,然后指指点点。
jayhuang0044
2 月 5 日
@9136347 #12 给 IPV6 打脸,临时找补呢? 普通用户 IPv4 在猫那不也断开
est
2 月 5 日
五个字:

客户端证书
9136347
2 月 5 日
@jayhuang0044 你都没看清楚我和别人在讨论什么话题,说的是什么事儿。
jpyl0423
2 月 5 日
目前只对没有用户名和密码保护的网站上了 authelia
allplay
2 月 5 日
@9136347 你以为你这样是保护了某些人,但同时,这样也在侵犯另一批人。
回顾多年前 adsl 拨号时代,每台电脑都是直接上公网,聪明点的玩家还知道自己弄个路由器来拨号。那个时候的家用级路由器就有简易的防火墙,要怎么玩,用户自己明白。
电信给你 nat 一下就天生安全了吗?安全是个动态概念,即使你不被扫 ip 扫端口,但现在面临的安全威胁比 10 20 年前更加多样化。
电信 isp 只不过是在 ipv4 稀缺情况下的权宜之举,而你却当起了电信的鹰犬,自动为他摇旗呐喊,还觉得自己有道德优越感了。
jayhuang0044
2 月 5 日
@9136347 #16 我看你没搞清楚,

你也知道分 普通人, 不用公开服务 不用映射的 普通人给公网 ip,有什么危险?

需要公网 ip 需要映射的人,风险自己承担.

公网 ip,只是一种资源,只是一个工具

你非要说非公网 ip 更安全,那你说的对.

但是对普通用户安全高多呢! 根本相差无几!!!
Greenm
2 月 5 日
我选择用 CF tunnel ,还不需要公网,有个域名就行。

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

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

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

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

© 2021 V2EX