我login到了我不拥有的共享系统,并且可以访问该系统上的gsutil命令。
我想在该系统上使用gsutil来操纵一些谷歌云数据(下载备份等),但这是否意味着我必须创build本地文件与我的凭据或私钥在他们?
这使我困扰,因为这不是我自己的系统,我不信任这些共享系统上的敏感证书。
有没有办法在本地机器上保留证书,然后远程运行gsutil,如下所示:
ssh [email protected] gsutil等等等等等等./my/local/config.key
…所以我保持键/ creds本地,并通过SSH远程运行gsutil?
如果你在不受信任的系统上运行gsutil auth login以获取凭证,请运行其他gsutil命令,然后使用gsutil auth revoke结束会话? 虽然它可能会在不受信任的文件系统上留下可能看起来像凭证的东西,但对于Google来说,它们将是胡言乱语; 他们将不会有效的身份validation。
(a)不受信任的系统的gsutil命令和库是可信的(例如,他们不会尝试在其他地方caching你的凭证)和(b)不受信任的系统的root账户不会主动试图窥探在会议期间您的gsutil凭据。 脆弱性的窗口(即攻击面)仅限于auth和revoke命令之间的时间段。
另一个select是创build和加载一个encryption的FUSE文件系统,但是攻击面是一样的:当你使用gsutil命令做功时,它使用有效的凭证,所以你的暴露是相同的。 对于这个问题,即使你可以通过你的ssh连接将证书传递给套接字或者命名pipe道到gsutil命令,如果gsutil已经被修改来捕获你的证书,那么在证书被撤销之前,你是脆弱的。
我知道它扩大了你的问题的范围,但知道你关心的攻击媒介可能会帮助我们破解解决scheme来减轻你的顾虑。 只是调用一个“不可信”的系统可能意味着很多不同的事情。