V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yu929
V2EX  ›  问与答

客户端证书认证的服务是能破解的?

  •  
  •   yu929 · 267 天前 · 677 次点击
    这是一个创建于 267 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用自己的 BWG 服务器部署了个 chatgpt web 应用,是只给自己和老婆用的,因此在 ng 上做了双向证书认证,证书只有我和老婆有。上个月开始使用量大了很多,跟老婆对了下,发现都不是对方用的,立刻把 apikey 撤了下来。想请教下 V 友们,做了双向认证,为什么还会被其他人用了?

    ps:key 是确定只有这个应用上用的,刚发现的时候还想确认是不是原来的 key 在其他地方被泄露,换了 key 发现还是有别人使用的记录,就确认应该是这个 web 被其他人上去了

    forvvvv123
        1
    forvvvv123  
       267 天前
    web 应用被人黑了
    yinmin
        2
    yinmin  
       267 天前 via iPhone
    nginx 的证书双认证,如果配置正确是没法破解的。

    1.你要配置整个网站都用证书认证,尤其是/api/openai 目录。
    2.确保 http 是无法访问到系统的。

    这个 web 是否被其他人上去了,你可以查看 nginx 日志中/api/openai 目录请求 ip 地址和时间,然后对比 openai 的 usage 。
    yinmin
        3
    yinmin  
       267 天前
    你确认:

    1. 这个网址是无法访问的(不应该出现 json 数据包信息): http://domain.com/api/openai/v1/chat/completions
    2. 这个网址会弹出客户端证书认证框: https://domain.com/api/openai/v1/chat/completions
    yinmin
        4
    yinmin  
       267 天前
    #2 #3 是指 chatgpt next web 这个开源第三方壳,如果是其它 web 壳,也可以做类似检查。
    momocraft
        5
    momocraft  
       267 天前
    这个应用的代码可信吗?
    iBugOne
        6
    iBugOne  
       266 天前 via Android
    你都 nginx 了,为啥不先去看看 nginx 的日志
    yu929
        7
    yu929  
    OP
       266 天前
    @yinmin 感谢提供思路。确实是用了 chatgpt next web 。按照你 3 楼的验证了一下,是没有问题的,访问 http 会自动跳 https ,然后就要求提供证书了。至于 nginx 的日志中,和 openai usage 匹配的时间也没有/api/openai 的目录请求(对比了下自己用的时间,那个时间 accesslog 是有/api/openai 的记录的)。那这就很奇怪了,我用的是 docker 部署,为了方便,想着都双向认证了,就直接在启动的时候将 key 写入环境变量中,然后测试发现怎么更换 key ,都还是有不是自己使用的 usage 记录,直至不再把 key 写到变量中
    yinmin
        8
    yinmin  
       266 天前 via Android
    有人能从你的服务器上直接拿走 key 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3115 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 11:48 · PVG 19:48 · LAX 04:48 · JFK 07:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.