I am currently trying to solve the question of one of our users, whether an ssh key from an ssh deployment task could be read out from another entity that has access to the bamboo build agent where the task gets executed.
Use-Case: Two parties need to use the same bamboo agent which is dedicated to some build and deployment projects. One of those parties has access to the agent on the level of the user that is running the bamboo-agent-process. Now I am wondering if they could somehow get to know the ssh key the other party uses during their "ssh deployment task". This key has to be copied to the agent, so that the agent can establish the ssh connection to the destination, right? Therefore the key either lays somewhere in the file system temporarily or at least gets loaded directly into the memory, which has to be accesiable by the bamboo-agent-process. And as this is the case, a dump of said process memory could be taken to retrieve the key? Or, if the first assumption is right, the key can just be retrieved from the temp file. Is that right?
A workaround of that issue I have in mind is to have another user on that device and run a second bamboo-agent-process for the other party and dedicate theire jobs to that agent. As they both do not have root access, I assume that, without exploiting any security flaws, they can not easily access the files and memory of the other bamboo-agent process. It is not that both parties do not trust each other at all, it is the same company. But I would still like to seperate their stuff.
Hey there, Data Center community! I'm Martyna Wojtas and I am the Product Manager for Bamboo Data Center. I’m excited to share that Bamboo 9.0 is now available. We purpose-built this platform to help...