For every box that contains a secret, someone wants to open it. That secret may be where you hid your favorite pair of socks or the private key for your certificate authority. Simply because that box contains a secret is enough to make someone want it. Recently you may have read about the breach over at MongoHQ and then the follow up about what happened has been detailed over here. Since this topic has been so well covered by both the company and 3rd parties I don’t want to continue to talk about the breach but about one of the issues that lead to this breach: accessibility.
When building a cloud you are building a digital fortress floating out in the Internet. It has its moats, drawbridges, and portcullis that protect access from your visitors from accessing your system. However there often are unprotected entrances to servants quarters that may be left open. These servants quarters in this case is the management access into your cloud. While you might hope that these doors are left in the shadows and unnoticed they often are not. Because Internet connectivity is so fast its completely possible to scan every IPv4 address on the Internet in less than a day. Here is an example of long time security guru Rob Graham scanning for SSH in a matter of 10 hours. This means that is easily possible to find these dark corridors that allow entrance into your castle in the cloud. To prevent access into your cloud it is best to implement a VPN or have specific management service to access your devices. Some cloud management providers such as Vistara provide such a service. Meaning that the only way to access the hosts are through an authenticated portal that ensures that only specific people can access the service.
No matter what method you use when accessing a cloud it needs to use strong authentication. This needs to be something that is outside of human control. Humans make stupid mistakes and they want the easiest solution to problems. This leaves us with passwords such as “ilovemom” or “whatdoesthefoxsay”. To take this problem out of humans hands two-factor authentication should be used. Lets take a look at a company Activision Blizzard who had a huge problem of account theft. They make hugely popular games such as World of Warcraft, Diablo, and Starcaft. These games contain earned currency or items that can be sold for real world money. Early on Blizzard determined that they couldn’t trust users to secure their own accounts so they implemented a two-factor authentication. But to ensure users would use this authentication method they made it very simple to use. They gave away free software for all smart phones, sold authentication tokens at cost, and even offered a phone service where you can call into to get a token. In the end Blizzard knew the only way to win this battle was to make it so easy to use two-factor authentication that the users couldn’t afford to not use it.
So in summary if it is easy for you to access the management of your cloud service it will be for someone else as well. Consider that your adversary has an infinite amount of time, compute, and bandwidth to combat you with. To minimize your risk you need to utilize strong authentication and restricted access into your cloud management environment. These are the steps that MongoHQ took after the breach and its something that everyone should take before your breach.