关于双向 HTTPS 的一些疑问

2019-01-18 23:42:39 +08:00
 Vegetable

最近有个需求,本来一套内网的 WEB 系统准备上云,系统内信息敏感,需要禁止员工在未被允许的设备登录.这两个需求就有一点矛盾了.

设想

我一开始是想过公司内网+加一个中转服务器,不过还是免不了要一个本地服务器.现在我的想法是使用浏览器和 Nginx 双向 HTTPS 来保证只有安装了客户端证书的浏览器能够访问服务.证书由管理人员来安装.

疑问

今天着手验证,但是涉及到签发各种 CA 证书 C/S 证书,都是第一次弄,耽误了一些时间做了一半就下班回家了,想了一下还是问一下大佬们:

今天搞证书搞得脑壳疼,加密相关的知识有点弱,懵懵懂懂的.真不知道 OpenSSL 这玩意我有该仔细研究一下还是 copy 命令完事儿...

3020 次点击
所在节点    NGINX
10 条回复
Judoon
2019-01-19 00:33:51 +08:00
证书不是可以提出来拿到另一个设备上自己安装?
lhx2008
2019-01-19 00:38:40 +08:00
好像不行,公网仍然是暴露给第三方的,可以无密码访问,可能要建一个有密码的信道
msg7086
2019-01-19 00:42:52 +08:00
HTTPS 当然是双向的。你说的双向是双向证书验证吧。
Vegetable
2019-01-19 01:24:35 +08:00
@msg7086
@lhx2008
是双向证书验证,客户端没证书会 400 那种

@Judoon
我看了一下客户端证书安装设置了私钥不可导出的话,导出的时候就只能导出 ca 证书,不能作为客户端证书导入了,我也不太懂,感觉不保险的样子.
msg7086
2019-01-19 01:35:35 +08:00
双向验证证书不需要同一个 CA 签发服务器证书。
私钥不可导出的话,哪里不保险来着?
Judoon
2019-01-19 01:36:27 +08:00
@Vegetable 打个比方是 MacOS,用 time machine 备份了拿到其他机器去恢复,不是照样能用。你这个感觉只能识别硬件指纹之类的然后云上入库,每次登录识别一下。参考 sslvpn 那玩意
TimePPT
2019-01-19 08:06:00 +08:00
内网环境+机器 MAC 地址白名单+IP 指定分配+员工帐号登录不就得了。
TimePPT
2019-01-19 08:09:02 +08:00
内网的公网访问加一个员工帐号登录的 2FA 动态密码就行了,默认一个用户线上最多 3 台设备,超额提醒,需在内网环境解绑。
Citrus
2019-01-19 09:07:35 +08:00
一定程度上可以,但是实际设备上的证书也是可以导出到别的机器上的。
如果要完全不能导出,那就每个员工配一个类似 U 盾的硬件证书,最安全。
find456789
2019-01-19 10:27:08 +08:00
https 访问,你可以用 let encrypt,

双向认证 ,你可以自己生成一个 ca,然后签个证书,

如果对方安装了你的证书,访问的时候,浏览器就会弹出提示,让对方选择用哪个证书登陆

如果对方没有安装证书,浏览器就会报错, 啥都看不到

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

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

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

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

© 2021 V2EX