Day 2: Cloud Security – AWS Shared Responsibility Model & Protecting the AWS Root User | #100DaysOfCode

Guransh DeolGuransh Deol
3 min read

Today, I delved into essential topics around Cloud Security on AWS. Here's a breakdown of what I learned:

1. AWS Shared Responsibility Model

The AWS Shared Responsibility Model is key to understanding security in the cloud. AWS and customers both have roles to play in securing applications and data. Here's how the responsibilities are divided:

CategoryExamples of AWS ServicesAWS ResponsibilityCustomer Responsibility
Infrastructure ServicesAmazon EC2, Elastic Load BalancingAWS manages the underlying infrastructure and foundation services.You control the operating system, application platform, encryption, and management of your data.
Container ServicesAmazon RDS, Elastic BeanstalkAWS manages the infrastructure, operating system, and application platform.You are responsible for data encryption, network firewalls, and managing backups.
Abstracted ServicesAmazon S3, DynamoDBAWS operates the infrastructure, OS, platform, server-side encryption, and data protection.You manage your customer data and ensure it’s protected through encryption.

Key Takeaways:

  • Security of the Cloud: AWS manages everything that runs the cloud, including physical data centers, networking, and foundational infrastructure.

  • Security in the Cloud: As users, we are responsible for securing our applications, properly configuring services, encrypting data, and managing access controls.

2. Protecting the AWS Root User

The AWS Root User has ultimate control over your AWS account, making it extremely sensitive. Here are some best practices I learned for keeping the root user secure:

Security MeasureDescription
Strong PasswordUse a strong password that’s difficult to guess, mixing letters, numbers, and symbols.
Disable Access KeysAvoid creating access keys for the root user, and if already created, disable them unless absolutely necessary.
Limit Root User AccessAvoid using the root user for day-to-day tasks. Use it only for essential activities like account setup.
Enable Multi-Factor Authentication (MFA)Adding MFA secures your account by requiring two forms of authentication: something you know (password) and something you have (MFA device).

Why is Multi-Factor Authentication (MFA) Important?

MFA provides an additional layer of security beyond just a username and password. Even if an attacker manages to crack your password, they’d still need the second factor to gain access.

There are multiple types of MFA supported by AWS:

MFA DeviceDescriptionExamples
Virtual MFA DeviceSoftware apps on mobile devices that generate one-time codes. Less secure than hardware options.Google Authenticator, Authy
Hardware MFA DevicePhysical key fobs or display cards that generate one-time codes.Gemalto, Display Card
U2F Security KeyUSB devices that provide an extra layer of security by requiring you to physically plug in the key.YubiKey, NitroKey

Steps to enable MFA on AWS Root User:

  1. Go to My Security Credentials.

  2. Select Activate MFA.

  3. Choose the MFA device (Virtual, Hardware, U2F).

  4. Scan the QR code (for Virtual MFA) or configure the hardware device.

  5. Enter the generated code to verify and enable MFA.


Key Learnings:

  • The AWS Shared Responsibility Model distinguishes what AWS secures versus what you, the customer, must secure.

  • AWS Root User has immense control, so securing it with a strong password and MFA is critical.

  • MFA greatly improves security by requiring a second authentication factor, minimizing the risk of account compromise.

Next up, I’ll be learning more about securing cloud workloads, network security, and data protection! Stay Tuned!!!


0
Subscribe to my newsletter

Read articles from Guransh Deol directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Guransh Deol
Guransh Deol