用自己的 BWG 服务器部署了个 chatgpt web 应用,是只给自己和老婆用的,因此在 ng 上做了双向证书认证,证书只有我和老婆有。上个月开始使用量大了很多,跟老婆对了下,发现都不是对方用的,立刻把 apikey 撤了下来。想请教下 V 友们,做了双向认证,为什么还会被其他人用了?
ps:key 是确定只有这个应用上用的,刚发现的时候还想确认是不是原来的 key 在其他地方被泄露,换了 key 发现还是有别人使用的记录,就确认应该是这个 web 被其他人上去了
1
forvvvv123 2023-09-03 16:59:14 +08:00
web 应用被人黑了
|
2
yinmin 2023-09-03 19:24:42 +08:00 via iPhone
nginx 的证书双认证,如果配置正确是没法破解的。
1.你要配置整个网站都用证书认证,尤其是/api/openai 目录。 2.确保 http 是无法访问到系统的。 这个 web 是否被其他人上去了,你可以查看 nginx 日志中/api/openai 目录请求 ip 地址和时间,然后对比 openai 的 usage 。 |
3
yinmin 2023-09-03 19:31:03 +08:00
你确认:
1. 这个网址是无法访问的(不应该出现 json 数据包信息): http://domain.com/api/openai/v1/chat/completions 2. 这个网址会弹出客户端证书认证框: https://domain.com/api/openai/v1/chat/completions |
4
yinmin 2023-09-03 19:34:03 +08:00
#2 #3 是指 chatgpt next web 这个开源第三方壳,如果是其它 web 壳,也可以做类似检查。
|
5
momocraft 2023-09-03 19:46:42 +08:00
这个应用的代码可信吗?
|
6
iBugOne 2023-09-03 20:25:05 +08:00 via Android
你都 nginx 了,为啥不先去看看 nginx 的日志
|
7
yu929 OP @yinmin 感谢提供思路。确实是用了 chatgpt next web 。按照你 3 楼的验证了一下,是没有问题的,访问 http 会自动跳 https ,然后就要求提供证书了。至于 nginx 的日志中,和 openai usage 匹配的时间也没有/api/openai 的目录请求(对比了下自己用的时间,那个时间 accesslog 是有/api/openai 的记录的)。那这就很奇怪了,我用的是 docker 部署,为了方便,想着都双向认证了,就直接在启动的时候将 key 写入环境变量中,然后测试发现怎么更换 key ,都还是有不是自己使用的 usage 记录,直至不再把 key 写到变量中
|
8
yinmin 2023-09-04 01:23:40 +08:00 via Android
有人能从你的服务器上直接拿走 key 。
|