akerl wrote:
sweh wrote:
People need to understand the risk before they can make an informed decision as to whether to allow the script access to the API key or not.
I'd have to disagree on that one. The whole theory of unmanaged VPS is that you're responsible for your own server, for what you run on it, etc.
It's not quite that black and white. And the risk isn't all one-way, either. The risk analysis needs to be performed for both the customer
and linode.
Linode are responsible for the base builds, not the customer. If linode add their own software that has a massive backdoor then they'd be responsible. Of course linode
don't do that; their images are pretty close to what comes out of the vendor installation process. Backdoors and bugs in the vendor product are reasonably pushed onto the customer; that's part of what "unmanaged" means.
However stackscripts are
not part of the unmanaged environment. These are a linode mediated automation tool, especially if the script is allowed access to the API key. Thus far the risk exposure of stackscripts would be to backdoor or break your OS build. By allowing access to the API key the risk exposure is massively greater.
And this is where the "not one way" concept comes in. If a stackscript causes $$$ charges on a customer's credit card and the customer disputes the charges, causing a charge-back to linode then linode are out of pocket. Linode can't assume customers will be reasonable and discuss it with linode and get the money credited; I know I'd reject unauthorised charges. If I was linode then from a pure business risk analysis position I would want to make it damn clear to the customer the consequences of their actions to minimize this risk. And who knows what impact this would have to their reputation; linode would end up having to police and certify every stack script... and I know this is impossible (it's hard enough to follow some scripts even when they're not deliberately trying to hide bad behaviour!)
Quote:
As far as I'm concerned, a sufficient warning would be:
"This StackScript requests permission to use your API key, which grants complete access to the Linode Manager. Only grant this permission to scripts which you understand and trust."
Highlight and emphasise the "complete". Have a default "N" response. Potentially double-validate.
To go into the "risk mitigation" aspect further, we've seen non-experts setting up linodes. Linode makes it very easy (it's a big selling point; if someone wants an unmanaged VPS then linode is one of the best for setting it up). These people can not validate the libraries, the scripts. A new customer may not even know what "access to the linode manager" means. They may work on the assumption "it's part of the build process; it must be OK". And they will be mightily pissed off if they see $$$ on their card. Even if there's no actual linode liability, there's a reputational risk.
Life is never black or white. If I was linode I'd want to protect myself by explaining the risk to the customer who is making the decision. "Cover Your Arse". At least that's what I'd tell my management at work if such a proposal came across my desk
