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.
- AWS Console is heavily used to manage the resources by Cloud Administrators and developers. It can be accessed 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 the 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 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.
- 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 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
We will cover more about the AWS security in future blog posts. Visit Cloud Academy’s Training Library on Cloud Security to keep your cloud environment secure and compliant.