Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

Heroku is wonderful but it's slightly concerning that if your Heroku login is compromised someone can simply destroy your entire app and business.

Is there any way of preventing this using multi factor authentication or similar?

share|improve this question

migrated from stackoverflow.com Nov 5 '11 at 5:55

This question came from our site for professional and enthusiast programmers.

    
Voting to close as not-constructive. It's not like you can alter Heroku's security mechanism, so the only answer to this question is, AFAIK, "you can't." Programmers.SE would be a better place for the general discussion going on here. –  djacobson Nov 4 '11 at 17:42

3 Answers 3

up vote 6 down vote accepted

I would treat this scenario the same as a fire, flood, or hardware failure. What you're describing is essentially a disaster recovery scenario. Make regular app and DB backups (your code really should be in a distributed, secure source control solution, such as git), and follow best-practices for password security in the first place.

If you're looking for a 100% guaranteed solution, it doesn't exist. The best you can do is have good password security and backup practices, which will lower your risk of compromise/failure to the point that a Heroku failure becomes mathematically more likely than an unrecoverable compromise such as you outline.

When it comes to disaster recovery, you have to have a backup plan.

share|improve this answer
    
I wouldn't say it was going that far. I'm just concerned that in order to delete an app on heroku all you need to do is login and press delete. If an entire business revolves around the application then surely at least two-factor authentication is to be expected no? –  Peter Nixey Nov 2 '11 at 14:16
1  
Well, maybe that's crossing how easy it is to login, with how easy it is to get your password - they're definitely not the same. I agree that two-factor authentication would be very nice. I suppose my point is, password-based authentication is still extremely strong - it just puts the burden of secrecy on the user, whereas two-factor authentication can allow your password to get free, but you would still have the safety net of the second factor. There's no reason that, if you're able to keep your password absolutely private, that it isn't every bit as good. –  jefflunt Nov 2 '11 at 14:24
    
If you're working on a team where multiple people need to have access, does heroku provide key-based authentication, whereby users would each have their own access key which you can revoke? –  jefflunt Nov 2 '11 at 14:25
    
I do take your point and as I was thinking about it I realised that it's no different for most other hosting providers - Lindode only needs a username/password. However it does seem incredibly vulnerable in that even with your disaster recovery plans you could still face a huge knock to business. No user-based authentication though unfortunately –  Peter Nixey Nov 2 '11 at 14:37
    
All the more reason to take password security very seriously. It's great that you're thinking of all the possible ways someone could get in. The other (arguably more likely), scenario is that someone breaks in using social engineering. I.E. if your password security is sufficiently good, then the likelihood that someone will get in with a compromised/brute-force password attack is effectively zero, but that doesn't protect you from employees inadvertently providing information that results in compromised security. After you solve your password problem, move toward educating your employees. –  jefflunt Nov 2 '11 at 14:42

The big picture here is Business Continuity Plan. Don't leave work without one. Questions like:

  1. What is the backup solution for a compromised or failed website? Time to full recovery?
  2. How do you respond to customer during this downtime? (important)
  3. What is your alternate (eg: manual, paper) solution when the site is down?
  4. On recovery, what are steps to take to ensure no data is lost?
  5. How do you resume your business back to 'normal' operation?
  6. What steps to take to maintain the customer confidence or relationship? (important)

It's like spending time on a fire drill, or money on a fire extinguisher. Seems like a waste but when "poop" hit the fan, it can save your life (the business in your case).

share|improve this answer

one word answer to your original question;

No

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.