关于双向 HTTPS 的一些疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Vegetable
V2EX    NGINX

关于双向 HTTPS 的一些疑问

  •  
  •   Vegetable 2019-01-18 23:42:39 +08:00 3278 次点击
    这是一个创建于 2537 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    设想

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

    疑问

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

    • 这种方案是否可行?
    • XHR 请求能处理客户端证书的问题吗?

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

    第 1 条附言    2019-01-19 01:25:17 +08:00
    我说的是双向验证证书,同一个 CA 证书签发的服务器证书和客户端证书
    10 条回复    2019-01-19 10:27:08 +08:00
    Judoon
        1
    Judoon  
       2019-01-19 00:33:51 +08:00 via Android
    证书不是可以提出来拿到另一个设备上自己安装?
    lhx2008
        2
    lhx2008  
       2019-01-19 00:38:40 +08:00 via Android
    好像不行,公网仍然是暴露给第三方的,可以无密码访问,可能要建一个有密码的信道
    msg7086
        3
    msg7086  
       2019-01-19 00:42:52 +08:00
    HTTPS 当然是双向的。你说的双向是双向证书验证吧。
    Vegetable
        4
    Vegetable  
    OP
       2019-01-19 01:24:35 +08:00
    @msg7086
    @lhx2008
    是双向证书验证,客户端没证书会 400 那种

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

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

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

    如果对方没有安装证书,浏览器就会报错, 啥都看不到
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5631 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 03:31 PVG 11:31 LAX 19:31 JFK 22:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86