最近有个需求,本来一套内网的 WEB 系统准备上云,系统内信息敏感,需要禁止员工在未被允许的设备登录.这两个需求就有一点矛盾了.
我一开始是想过公司内网+加一个中转服务器,不过还是免不了要一个本地服务器.现在我的想法是使用浏览器和 Nginx 双向 HTTPS 来保证只有安装了客户端证书的浏览器能够访问服务.证书由管理人员来安装.
今天着手验证,但是涉及到签发各种 CA 证书 C/S 证书,都是第一次弄,耽误了一些时间做了一半就下班回家了,想了一下还是问一下大佬们:
今天搞证书搞得脑壳疼,加密相关的知识有点弱,懵懵懂懂的.真不知道 OpenSSL 这玩意我有该仔细研究一下还是 copy 命令完事儿...
1
Judoon 2019-01-19 00:33:51 +08:00 via Android
证书不是可以提出来拿到另一个设备上自己安装?
|
2
lhx2008 2019-01-19 00:38:40 +08:00 via Android
好像不行,公网仍然是暴露给第三方的,可以无密码访问,可能要建一个有密码的信道
|
3
msg7086 2019-01-19 00:42:52 +08:00
HTTPS 当然是双向的。你说的双向是双向证书验证吧。
|
4
Vegetable OP |
5
msg7086 2019-01-19 01:35:35 +08:00
双向验证证书不需要同一个 CA 签发服务器证书。
私钥不可导出的话,哪里不保险来着? |
6
Judoon 2019-01-19 01:36:27 +08:00 via Android
@Vegetable 打个比方是 MacOS,用 time machine 备份了拿到其他机器去恢复,不是照样能用。你这个感觉只能识别硬件指纹之类的然后云上入库,每次登录识别一下。参考 sslvpn 那玩意
|
7
TimePPT 2019-01-19 08:06:00 +08:00 via iPhone
内网环境+机器 MAC 地址白名单+IP 指定分配+员工帐号登录不就得了。
|
8
TimePPT 2019-01-19 08:09:02 +08:00 via iPhone
内网的公网访问加一个员工帐号登录的 2FA 动态密码就行了,默认一个用户线上最多 3 台设备,超额提醒,需在内网环境解绑。
|
9
Citrus 2019-01-19 09:07:35 +08:00 via iPhone
一定程度上可以,但是实际设备上的证书也是可以导出到别的机器上的。
如果要完全不能导出,那就每个员工配一个类似 U 盾的硬件证书,最安全。 |
10
find456789 2019-01-19 10:27:08 +08:00
https 访问,你可以用 let encrypt,
双向认证 ,你可以自己生成一个 ca,然后签个证书, 如果对方安装了你的证书,访问的时候,浏览器就会弹出提示,让对方选择用哪个证书登陆 如果对方没有安装证书,浏览器就会报错, 啥都看不到 |