如何安全地将局域网内的 http 服务暴露在公网?

2021-07-11 05:41:13 +08:00
 dangyuluo

我在局域网内搭建了一个 Frigate ( object detection)服务,用来做一些家庭自动化。Frigate 提供了一个 web 接口,监听在 10.0.0.200:5000 上。为了在外访问,我把路由器开放了一个端口转发。但是 Frigate 本身既不提供 https,也不提供鉴权,因此我需要配置一些安全措施。

我可以另外搭建一个 nginx 作为 https 反向代理,但是鉴权的话现在只能想到 https basic authenticate 。请问有没有更安全、简单的做法呢?

2343 次点击
所在节点    HTTP
13 条回复
wangsongyan
2021-07-11 06:03:52 +08:00
vpn,不过我还没倒腾清楚
dangyuluo
2021-07-11 06:25:23 +08:00
@wangsongyan 是想要安全暴露在公网,不是安全地访问内网
Pastsong
2021-07-11 06:36:26 +08:00
https basic authentication 挺安全的,只要做好爆破处理
wangsongyan
2021-07-11 06:40:51 +08:00
@dangyuluo #2 没有认真审题🥵
yanzhiling2001
2021-07-11 08:00:45 +08:00
如果这个局域网内的 http 服务 只有你自己访问.

你可以用 frp 的 stcp 模式,把这个内网 http 服务通过 frp 绑定到你的固定访问的设备端口上.具体你看看 frp 的 stcp 模式怎么用的.

固定访问的设备访问自己的 127.0.0.1:5000,就会被 frp 转发请求到局域网的 http 上.

这样既没有公开暴露,frp 自带的加密和身份验证也能保证安全
hackyuan
2021-07-11 08:54:08 +08:00
dingwen07
2021-07-11 09:04:19 +08:00
HTTPS Client Authentication
plko345
2021-07-11 09:23:46 +08:00
自己访问的话可以做证书双向验证
LeeReamond
2021-07-11 10:28:45 +08:00
用过的方案楼上都说了,tls+basic auth 的方法是没问题的,只不过要防爆破需要一个强密码。sftp 的安全性也可以,这么长时间没听说过什么出问题的新闻
matrix67
2021-07-11 10:34:13 +08:00
https basic authenticate + fail2ban

重要的就是防止爆破,或者不是用密码认证。
hanguofu
2021-07-12 07:36:03 +08:00
请问 https basic authenticate 是不是需要 域名 和 TLS 证书啊 ?把域名 指向自己的内网服务器 犯法吗 ?需要到当地公安局 报备 icp 证书吗 ?需要备案吗 ?
dangyuluo
2021-07-12 10:52:32 +08:00
@hanguofu 你的口气很奇怪。我回头问问 Palo Alto police department
NewYear
2021-07-12 17:50:23 +08:00
https 双向认证

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

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

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

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

© 2021 V2EX