How CodeSpaces was killed by security issues on AWS. The best practices to avoid it.

Amazon Web Services is the lead Cloud Computing provider in the public cloud market. Organizations are rapidly moving their applications to AWS Cloud because of the cost, elasticity, easily accessible and on-demand provisioning and many more features that Amazon introduced step-by-step during the last years.

The computing resources are available from anywhere in the world with a single click on the console or APIs or SDKs. Because of this easy accessibility security becomes a challenge for the Cloud Providers and as well as the Consumers.

Recently, an unauthorized person had gained access to the Code Spaces AWS console and completely deleted their computing resources, data, volumes, snapshots and configurations. Because of this Code Spaces shutdown their operations completely and issued a public notice to all their customers saying that “Code Spaces will not be able to operate beyond this point,” citing the price of resolving the issue, as well as the expected cost of refunding paying customers. This attack put the Code Spaces in an irreversible position both financially and in terms of ongoing credibility.

So in Public Cloud, security becomes a key component to secure your resources. Organizations should employ known security consultants and follow best practices to manage their cloud workloads effectively.

In this article, I am putting some of the best practices that everyone should apply immediately to their organizations AWS account and resources.

  • Amazon AWS Console is heavily used to manage the resources by Cloud Administrators and developers. It can be accessible via the browser HTTPS using simple username and password. To protect it further, AWS is supporting the Multi-Factor Authentication (MFA) for second level authentication. To login to AWS console, you have to use the integrated MFA code with respective user account. This MFA code is dynamically generated by the MFA device


  • Don’t give access to the Amazon master credentials to every employee in the organization. Rather, create users using the AWS IAM (Identity and Access Management) service
  • IAM Service allows you to assign the privileges using User Policies. Use the Policy Generator or Custom Policy to assign the privileges rather than using the predefined Policy Templates. Assign the least privileges to users and slowly grant the additional privileges as on when needed.


  • Use Amazon AWS IAM Policy Simulator to simulate and test the user privileges. This will help you to find whether issued policies are working properly or not.

IAM Policy Simulator

  • If you are using the AWS CLIs or any SDKs within the EC2 environment, launch the EC2 Instances with IAM roles rather than using the AWS Keys to access any of your AWS resources
  • Rotate all your users AWS Access Keys and Passwords periodically
  • Do not open the remote access protocols like SSH and RDP to the Public. Rather use a Bastion Server with MFA or VPN connectivity to reach any of the AWS resources.
  • Enable CloudTrail to log all your API calls via the Console, Command-line or SDKs, which will help you to identify who are accessing the AWS resources and their Identities.
  • Perform security audit periodically on all the Amazon AWS Services which is used by your organization and make sure you are following the best practices.
  • Run the AWS Trusted Advisor periodically to see any security issues on our AWS resources

Trusted Advisor


We will cover more about the Amazon AWS security in future blog posts. Our database of quizzes and learning has a lot of information about Security, make sure you subscribe to Cloud Academy for free and start using our quizzes and courses to learn how to secure your AWS infrastructure. 

Praveen Kumar Muppala

Praveen Kumar Muppala

I have strong experience on Multiple Unix/Linux flavours, LAMP Stack, Monitoring Systems, Database, NoSQL. I love to explore the new concepts/services in Cloud Computing World. I have written 4 certifications in different flavours of Linux/Unix. I started my Cloud journey with the Amazon Web Services and I am certified Amazon AWS Solution Architect and Sysops Administrator. Now, I am actualizing myself to the Multi-Cloud Expert with the Microsoft Azure and Google Cloud Platform. I do deep analysis on various Cloud Service providers features and write about the best practices and features improvement.

More Posts - Website

Follow Me:
TwitterFacebookGoogle Plus

  • Digital Dan

    This article is completely misleading. This was not because of “security issues” with AWS, but because best practices were not followed. If I leave the front door open on my house it’s not the door or locks fault.

  • Praveen Kumar. Muppala

    Thank you Digital Dan. It was the title problem. But the content is to follow the best practices :)

  • subs

    To follow-up on a somewhat ancient thread… Do you have advice/suggestions on the best way to use a second, separate AWS account to secure data? What would you push (or pull) to the second account to ensure you have a back-up in a _totally_separate_ account?