Welcome to SEC510: Public Cloud Security: AWS, Azure, and GCP
Instructor: Brandon Evans | 38 CPEs
Associated Certification: GIAC Public Cloud Security (GPCS)
Organizations in every sector are increasingly adopting cloud offerings to build their online presence. However, although cloud providers are responsible for the security of the cloud, their customers are responsible for what they do in the cloud.
As the landscape rapidly evolves and development teams eagerly adopt the next big thing, security is constantly playing catch-up in order to avert disaster.
SEC510: Public Cloud Security: AWS, Azure, and GCP teaches you how the Big 3 cloud providers work and how to securely configure and use their services and PaaS / IaaS offerings. 20 Hands-On Labs + CloudWars
What You Will Learn
Multiple Clouds Require Multiple Solutions
SEC510 provides cloud security practitioners, analysts, and researchers with an in-depth understanding of the inner workings of the most popular public cloud providers: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Students will learn industry-renowned standards and methodologies, such as the MITRE ATT&CK Cloud Matrix and CIS Cloud Benchmarks, then apply that knowledge in hands-on exercises to assess a modern web application that leverages the cloud native offerings of each provider. Students will launch unhardened services, analyze the security configuration, validate that they are insufficiently secure, deploy patches, and validate the remediation. Through this process students will learn the philosophies that undergird each provider and how these have influenced their services and will leave the course confident that they have the knowledge they need when adopting services and Platform as a Service (PaaS) / Infrastructure as a Service (IaaS) offerings in each cloud.
The Big 3 cloud providers alone provide more services than any one company can consume. As security professionals, it can be tempting to limit what the developers use to the tried-and-true solutions of yesteryear. Unfortunately, this approach will inevitably fail as the product development organization sidelines a security entity that is unwilling to change. Functionality drives adoption, not security, and if a team discovers a service offering that can help get its product to market quicker than the competition, it can and should use it. SEC510 gives you the ability to provide relevant and modern guidance and guardrails to these teams to enable them to move both quickly and safely.
"This class was an excellent investment. I learned a great deal about the various strengths and weaknesses in the 3 largest cloud providers' default services and default configurations as well as inherent insecurities that can't be easily mitigated. There is a great deal of actionable content that I can take back to my team as we work to monitor and help our clients secure their cloud environments." - John Senn, EY
BUSINESS TAKEAWAYS:
- Be proactive in embracing the multicloud trend safely. It is impossible for an organization to standardize on a single cloud provider. A survey from Forrester shows that 86% of organizations identify as multicloud. Even if you do not want to use multiple clouds, mergers and acquisitions makes this inevitable.
- Effective cloud security practitioners need to know how the Big 3 providers differ. Security concepts do not always translate from cloud-to-cloud. A great strategy for one can be catastrophic for another.
- All security-minded organizations require professional reconfiguration as most cloud services are highly insecure by default.
- Storage security is much more than just closing public buckets. Even private assets can be compromised by competent attackers.
- Security is 5+ years behind development and needs to play catch-up. Technologies that security considers to be cutting-edge, like serverless, have been used in production for a very long time.
SKILLS LEARNED:
- Understand the inner workings of cloud services and Platform as a Service (PaaS) / Infrastructure as a Service (IaaS) offerings in order to make more informed decisions in the cloud
- Understand the design philosophies that undergird each provider and how these have influenced their services in order to properly prescribe security solutions for them
- Discover the unfortunate truth that many cloud services are adopted before their security controls are fully fleshed out
- Understand Amazon Web Services (AWS), Azure, and Google Cloud Platform (GCP) in depth.
- Understand the intricacies of Identity and Access Management, one of the most fundamental concepts in the cloud and yet one of the last understood
- Understand cloud networking and how locking it down is a critical aspect of defense-in-depth in the cloud
- Analyze how each provider handles encryption at rest and in transit in order to prevent sensitive data loss
- Apply defense-in-depth techniques to protect data in cloud storage
- Compare and contrast the serverless platforms of each provider
- Explore the service offering landscape to discover what is driving the adoption of multiple cloud platforms and to assess the security of services at the bleeding edge, such as serverless platforms
- Utilize multicloud IAM and cloud Single Sign-On to provide secure access to resources across cloud accounts and providers
- Automate security and compliance checks using cloud-native platforms and open-source solutions
- Understand Terraform Infrastructure-as-Code well enough to share it with your engineering team as a starting point for implementing the controls discussed in the course
HANDS-ON TRAINING:
SEC510: Public Cloud Security: AWS, Azure, and GCP consolidates all of the concepts discussed in the lectures through hands-on labs. In the labs, students will assess a modern web application written with Next.js, React, and Sequelize that leverages the cloud native offerings of each provider. Each lab includes step-by-step guide as well as a no hints option for students who want to test their skills without further assistance. This allows students to choose the level of difficulty that is best for them and fall back to the step-by-step guide as needed.
SEC510 also offers students an opportunity to participate in CloudWars Bonus Challenges each day in a gamified environment, while also providing more hands-on experience with the cloud security and relevant tools.
Course Syllabus
SEC510.1: Cloud Credential ManagementOverviewSEC510 starts with a brief overview of the Big 3 cloud providers. We will examine the factors driving adoption of multiple cloud providers and the rise in popularity of Azure and GCP, which historically have lagged far behind AWS. Students will then initialize their lab environment and deploy a modern web application to each of the Big 3 providers. This leads into an analysis of the intricacies of Identity and Access Management (IAM), one of the most fundamental and misunderstood concepts in cloud security. Playing the role of an attacker in their lab environment, students will compromise real IAM credentials using application vulnerabilities and then use them to access sensitive data. The remainder of this section will focus on how to leverage well-written IAM policies to minimize the damage caused by such attacks. Although the ultimate solution is to fix the bug in the application, these strategies can prevent a minor incident from becoming front-page news. Exercises
TopicsThe Multicloud Movement
Multicloud Security Assessment
Identity and Access Management
Cloud Credential Management
Application Vulnerability Overviews
|
SEC510.2: Cloud Virtual NetworksOverviewSection 2 covers how to lock down infrastructure within a virtual private network. As the public cloud IP address blocks are well known and default network security is often lax, millions of sensitive assets are unnecessarily accessible to the public Internet. This section will ensure that none of these assets belong to your organization. The section begins by demonstrating how ingress and egress traffic can be restricted within each provider. Students will analyze the damage that can be done without these controls by accessing a public-facing database and creating a reverse shell session in each environment. We will then eliminate both attack vectors with secure cloud configuration. In addition to introducing additional network defense-in-depth mechanisms, we will discuss cloud-based intrusion detection capabilities to address the network-based attacks we cannot eliminate. Students will analyze cloud traffic and search for indicators of compromise. Exercises
TopicsCloud Virtual Networks
Network Traffic Analysis
Private Endpoints
Advanced Remote Access
Command and Control Servers
|
SEC510.3: Encryption, Storage, and LoggingOverview
The first half of Section 3 covers all topics related to encryption in the cloud. Students will learn about each providers cryptographic key solution and how it can be used to encrypt data at rest. Students will also learn how in-transit encryption is performed throughout the cloud, such as the encryption between clients, load balancers, applications, and database servers. Proper encryption is not only critical for security; it is also an important legal and compliance consideration. This section will ensure that your organization has all of the information at its disposal to send the auditors packing. The second half of Section 3 covers storing data in the cloud, defense-in-depth mechanisms, access logging, filesystem persistence, and more. Exercises
TopicsCloud Key Management
Encryption with Cloud Services
Cloud Storage Platforms
Data Exfiltration Paths |
SEC510.4: Serverless PlatformsOverviewThis course section tackles the ever-changing trends in technology by providing in-depth coverage of a paradigm taking the industry by storm: Serverless. It balances the discussion of the challenges serverless introduces with the advantages it provides in securing product development and security operations. The first half of the section covers serverless cloud functions in AWS Lambda, Azure Functions, and Google Cloud Functions. After introspecting the serverless runtime environments using Serverless Prey (a popular open-source tool written by the course authors), students will examine and harden practical serverless functions in a real environment. The second half of the course section covers App Services, which often interplay with cloud functions. The section concludes with a detailed analysis of Firebase, an application platform with serverless offerings that has been loosely integrated with the Google Cloud Platform since its acquisition by Google in 2014. Exercises
TopicsCloud Serverless Functions
Persistence with Serverless App Services
Firebase
|
SEC510.5: Cross-Account and Cross-Cloud AssessmentOverview
The course concludes with practical guidance on how to operate an organization across multiple cloud accounts and providers. Many of the topics discussed in the earlier course sections are significantly complicated when moving from a single account to multiple accounts, as well as when the providers are integrated with each other. We begin by discussing how using multiple accounts and clouds changes Identity and Access Management (IAM). No discussion of secure user identity management would be complete without mentioning Single Sign-On (SSO). With it, members of an organization can use the same credential set to sign onto a variety of applications. When a member leaves the organization, an administrator can terminate their all of their access with a single command. Section 5s second half covers each clouds native SSO solution, how AWS SSO is key for managing multiple AWS accounts, and each clouds end-user identification service. We conclude by introducing tools and services that can be used to automate compliance checks against the benchmarks we have covered throughout the course. This includes open-source solutions as well as cloud-based security services. With these capabilities, an organization can take the lessons learned in SEC510 and apply them at scale. Exercises
TopicsMulticloud Access Management Cloud Single Sign-On
End-User Identity Management
Automated Benchmarking
Summary Additional Resources |
Prerequisites
Although SEC510 uses Terraform Infrastructure-as-Code to deploy and configure services in each cloud for the labs, students will not need in-depth knowledge of Terraform or need to understand any of the syntax used. However, students will be introduced at a high level to what this code accomplishes.
The following are courses or equivalent experiences that are prerequisites for SEC510:
- SANS SEC488: Cloud Security Essentials or hands-on experience using the AWS and Azure Cloud.
- Students must have basic familiarity with cloud IAM and networking.
- Students must be comfortable working with the Bash commands.
- Students should have basic familiarity with the HashiCorp Configuration Language (HCL) or review the Terraform Language Documentation prior to the course https://www.terraform.io/docs/language/index.html
- For hands on Terraform practice, consider following Kenneth Hartman's Tech Tuesday Workshop - Use Terraform to Provision You Own Cloud-Based Remote Browsing Workstation https://github.com/Resistor52/terraform-cloud-workstation
For those looking to prepare ahead of time, check out the Terraform Getting Started Guide: https://learn.hashicorp.com/terraform/getting-started/install
This class requires a basic understanding of web application technology and concepts such as HTML and JavaScript. To maximize the benefit for a wider range of audiences, the discussions in this course will be programming language agnostic. Attendees should have some understanding of concepts like databases (SQL) and scripting languages used in modern web applications.
Lab Requirements
!!! IMPORTANT NOTICE !!!
1) LAB PREPARATION
Please plan to arrive 30 minutes early before your first session for lab preparation and setup. During this time, students can confirm that each cloud account is properly set up, ensure that laptops have virtualization enabled, copy the lab files, and start the Linux virtual machine. For students taking the course Live Online, the instructor will be available to assist them with laptop prep and setup 30 minutes prior to the start of the course.
The first lab of the course, Lab 0, is the foundation for the rest of the course. Failure to complete Lab 0 will prevent the student from completing any other lab exercise. Students should complete as much of Lab 0 as possible prior to the first session.
2) MANDATORY CLOUD ACCOUNTS
Students must bring their own AWS, Azure, or GCP accounts to complete the course labs.
The SEC510 course labs contain lab exercises for AWS, Azure, and GCP. Most labs can be completed with any one of these providers. However, we strongly recommend completing the labs for all three providers to learn how the services in each differ in small, yet critical ways. Experiencing this nuance in these interactive labs will help you better defend each platform and prepare for the GPCS certification.
Prior to the start of class, students must create the cloud accounts for the providers they would like to use. Students who would like to complete the Firebase lab must create a GCP account even if they choose not to complete the rest of the GCP exercises. The average cost to run the labs with all three providers enabled is < $5 USD per-day. AWS costs are less for free-tier accounts. New Azure subscriptions may be eligible for a $200 credit for 30 days.
OnDemand students:
- Students must create AWS, Azure, or GCP accounts prior to starting the course to complete the lab exercises for each:
- Register a NEW AWS account prior to the start of the class at https://aws.amazon.com
- Register a NEW Azure account and paid subscription prior to the start of class at https://azure.microsoft.com
- Register a NEW GCP account with a free trial prior to the start of class at https://cloud.google.com
Live events (in-person or Live Online)
- Students are required to use a time-limited (duration of live class) SANS Managed AWS account that will be provided with the course materials.
- Students completing Azure lab exercises must create an Azure account prior to the start of class
- Register a NEW Azure account and paid subscription prior to the start of class at https://azure.microsoft.com
- Students completing GCP or FIrebase lab exercises just create a GCP accout prior to the start of class
- Register a NEW GCP account with a free trial prior to the start of class at https://cloud.google.com
3) MANDATORY LAPTOP REQUIREMENT
Students must bring their own system configured according to these instructions.
A properly configured system is required to fully participate in this course. If you do not carefully read and follow these instructions, you will likely leave the class unsatisfied because you will not be able to participate in hands-on exercises that are essential to this course. Therefore, we strongly urge you to arrive with a system meeting all the requirements specified for the course.
Students must be in full control of the network running the VM. The VM communicates with several external services (AWS, Azure, GCP, etc.) over HTTPS, SSH, and other non-standard ports. Running the course virtual machine on a host with a VPN, intercepting proxy, or egress firewall filter may cause connection issues communicating with these services. Students must be able to configure or disable these services for the lab environment to function properly.
BRING YOUR OWN LAPTOP CONFIGURED USING THE FOLLOWING DIRECTIONS.
- A properly configured system is required for each student participating in this course. Before starting your course, carefully read and follow these instructions exactly:
- Host Operating System: Latest version of Windows 10, macOS 10.15.x or later, or Linux that also can install and run VMware virtualization products described below.
- Fully update your host operating system prior to the class to ensure you have the right drivers and patches installed to utilize the latest USB 3.0 devices.
- Those who use a Linux host must also be able to access exFAT partitions using the appropriate kernel or FUSE modules.
- Download and install 7-Zip (for Windows Hosts) or Keka (macOS). Without these extraction tools, you'll be unable to extract large archives we'll supply to you in class.
- Download and install either VMware Workstation Pro 15.5.x, VMware Player 15.5.x, or Fusion 11.5.x or higher versions before class.
- If you do not own a licensed copy of VMware Workstation or Fusion, you can download a free 30-day trial copy from VMware. VMware will send you a time-limited serial number if you register for the trial at its website.
- Other virtualization software, such as VirtualBox and Hyper-V, are not appropriate because of compatibility and troubleshooting problems you might encounter during class.
- VMware Workstation Pro and VMware Player on Windows 10 are not compatible with Windows 10 Credential Guard and Device Guard technologies. Please disable these capabilities for the duration of the class if they're enabled on your system by following instructions in this document.
Mandatory Host Hardware Requirements
- CPU: 64-bit 2.5+ GHz multi-core processor or higher
- BIOS/UEFI: VT-x, AMD-V, or the equivalent must be enabled in the BIOS/UEFI
- Hard Disk: Solid-State Drive (SSD) is MANDATORY with 50GB of free disk space minimum
- Memory: 16GB of RAM or higher is mandatory for this class (IMPORTANT! - 16GB of RAM is MANDATORY)
- Working USB 2.0 or higher port
- Wireless Ethernet 802.11 B/G/N/AC
- Local Administrator Access within your host operating system
Mandatory Host Operating System Requirements
You must use a 64-bit laptop with one of the following operating systems that have been verified to be compatible with course VMware image:
- Latest version of Windows 10, macOS 10.15.x or later, or Linux that also can install and run VMware virtualization products described below.
Mandatory Software Requirements
Prior to class, ensure that the following software is installed on the host operating system:
- VMware Workstation Pro 15.5.X+, VMware Player 15.5.X+, or Fusion 11.5+
- Zip File Utility (7Zip or the built-in operating system zip utility)
Cloud Virtual Machine (AWS AMI)
If your workstation or network does not meet the above requirements, please reach out to your instructor, TA, or OnDemand SME for access to the SEC510 Amazon Machine Image (AMI). After sharing the AMI, instructions will be provided for launching and connecting to the virtual machine over Remote Desktop (RDP). This option is required for students that cannot meet the laptop requirements.
IN SUMMARY
Before beginning the course you should:
- Complete Lab 0.
- Have a laptop with a solid-state drive (SSD), 16GB of RAM, and a 64-bit operating system.
- Install VMware (Workstation or Fusion).
- Windows only: Verify that the BIOS settings have the Intel VT virtualization extensions enabled.
- Download the SEC510 Lab Setup Instructions and Course Media from your sans.org account.
- Register a NEW AWS account prior to the start of the class at https://aws.amazon.com
- Register a NEW Azure account and paid subscription prior to the start of class at https://azure.microsoft.com
- Register a NEW GCP account with a free trial prior to the start of class at https://cloud.google.com
After you have completed those steps, your course media will be delivered via download. The media files for class can be large, some in the 40 to 50 GB range. You need to allow plenty of time for the download to complete. Internet connections and speed vary greatly and are dependent on many different factors. Therefore, it is not possible to give an estimate of the length of time it will take to download your materials. Please start your course media downloads as you get the link. You will need your course media immediately on the first day of class. Waiting until the night before the class starts to begin your download has a high probability of failure.
SANS has begun providing printed materials in PDF form. Additionally, certain classes are using an electronic workbook in addition to the PDFs. The number of classes using eWorkbooks will increase quickly. In this new environment, we have found that a second monitor and/or a tablet device can be useful for keeping the class materials visible while the instructor is presenting or while you are working on lab exercises.
If you have additional questions about the laptop specifications, please contact laptop_prep@sans.org.
Location for In-Person
University of Pennsylvania
3401 Spruce St.
Irvine Auditorium - Green Room
Philadelphia, PA 19104
Parking:
Walnut 38 Garage at https://www.facilities.upenn.edu/maps/parking/parking-garage-walnut-38
Option 2 – Penn Museum https://www.facilities.upenn.edu/maps/parking/parking-garage-penn-museum
Option 3 – Walnut 40 garage at https://www.facilities.upenn.edu/maps/parking/parking-garage-walnut-40