Eternidad
V2EX  ›  站长

求大佬提供个 给网站添加 2FA 的办法或者思路

By Eternidad at 2024 年 10 月 8 日 · 2655 次点击

我有一些服务通过内网穿透映射到了外网,觉得不怎么安全,想给其添加一个 2FA 的验证网站,有什么好的思路吗?

就是访问 A ,B 网站时会跳转到验证网站,输入 2FA 密码,验证成功就跳转回去

19 条回复    2024-12-12 10:59:00 +08:00
python35
   1
python35  
   2024 年 10 月 8 日
你这个需求跟 SSO 单点登录好像
kiritoyui
   2
kiritoyui  
   2024 年 10 月 8 日
web 服务没有认证么?反代那边开一个 basic auth?
Eternidad
   3
Eternidad  
OP
   2024 年 10 月 8 日
@python35 我想尽可能的简单的实现,最好不要对 A ,B 网站的代码进行修改,在 ngnix 拦截
Eternidad
   4
Eternidad  
OP
   2024 年 10 月 8 日
@kiritoyui 这个不方便统一管理,我想搞个网站统一管理
mcone
   5
mcone  
   2024 年 10 月 8 日
我也在打洞,我觉得 nginx/apache 提供的 basic auth 基本够用了,本来你的穿透理论上都是不公开的,再加个随机生成的复杂密码(还能让浏览器记住),不是比 2fa 还方便么……
bobryjosin
   6
bobryjosin  
   2024 年 10 月 9 日 via Android
https://github.com/greenpau/caddy-security
不过这玩意是 caddy 实现的,要么试试 cf 的 zerotrust ,添加 github 或者 azure ad 验证,点一下就过了,缺点就是速度一般
fox0001
   7
fox0001  
   2024 年 10 月 9 日 via Android
其中一个解决方案是,使用手机端的 2FA 应用。具体可以搜搜 freeotp
yanghanlin
   8
yanghanlin  
   2024 年 10 月 9 日
利用 Auth0 等 IDaaS 的方案,加上 oauth2-proxy 呢?这样应该可以做到在网关层实现鉴权,不用修改业务代码,也不用自己维护单点登录的服务
WildCat
   9
WildCat  
   2024 年 10 月 9 日   ❤️ 1
oauth 不更好?
jerrywaffle
   10
jerrywaffle  
   2024 年 10 月 9 日 via iPhone
authelia
ysc3839
   12
ysc3839  
   2024 年 10 月 9 日
我记得有对接 ngx_http_auth_request_module 的项目,可以看看
Trim21
   13
Trim21  
   2024 年 10 月 9 日
Dragonish3600
   14
Dragonish3600  
   2024 年 10 月 9 日 via iPhone
nginx+lua 的组合居然没人提? 10 多年前就实现这功能了吧。lua 验证 cookie ,没有的话就跳转
z7356995
   15
z7356995  
   2024 年 10 月 9 日 via Android
加一个微信验证登录,登录成功后,后台直接写死自己的微信 id ,其他微信 id 都拒绝
MrOops
   16
MrOops  
   2024 年 10 月 9 日


Cloudflare 貌似就能满足你的要求?
IvanLi127
   17
IvanLi127  
   2024 年 10 月 9 日
https://www.authelia.com/overview/prologue/supported-proxies/

可以和 nginx 集成。不过我推荐用 traefik 反向代理。能实现反向代理统一额外套一层身份验证,可选要不要 2FA ,后续可以进一步集成到应用里实现单点登录。

快上车
Eternidad
   18
Eternidad  
OP
   2024 年 10 月 9 日
@Trim21 好的,我看看,谢谢
forty
   19
forty  
   2024 年 12 月 12 日
可以直接用 cf 搞定
© 2026 V2EX · 36ms · 3.9.8.5