Bird
Raised Fist0
GCPcloud~30 mins

Cloud Armor for DDoS and WAF in GCP - Mini Project: Build & Apply

Choose your learning style10 modes available
Cloud Armor for DDoS and WAF
📖 Scenario: You are managing a website hosted on Google Cloud Platform (GCP). You want to protect your website from attacks like Distributed Denial of Service (DDoS) and block malicious traffic using a Web Application Firewall (WAF).Google Cloud Armor helps you create security policies to protect your site.
🎯 Goal: Build a Google Cloud Armor security policy that blocks traffic from a specific IP address and enables a basic WAF rule to protect your website.
📋 What You'll Learn
Create a Cloud Armor security policy named my-security-policy
Add a rule to block traffic from IP address 203.0.113.5
Add a WAF rule to enable the OWASP_CRS rule set with default action deny
Attach the security policy to a backend service named my-backend-service
💡 Why This Matters
🌍 Real World
Protecting websites and applications from malicious traffic and attacks is critical for uptime and security. Cloud Armor provides scalable protection on Google Cloud.
💼 Career
Cloud security engineers and cloud architects use Cloud Armor to secure services and meet compliance requirements.
Progress0 / 4 steps
1
Create the initial Cloud Armor security policy
Create a Cloud Armor security policy named my-security-policy using the gcloud command line.
GCP
Hint

Use the gcloud compute security-policies create command with the name my-security-policy.

2
Add a rule to block traffic from a specific IP address
Add a rule to the my-security-policy that blocks traffic from IP address 203.0.113.5 with priority 1000.
GCP
Hint

Use gcloud compute security-policies rules create with priority 1000, the IP match expression, and deny action.

3
Add a WAF rule set to the security policy
Add a WAF rule set to my-security-policy enabling the OWASP_CRS rule set with default action deny and priority 2000.
GCP
Hint

Use gcloud compute security-policies rules create with priority 2000, --expression="evaluatePreconfiguredWAF('OWASP_CRS')", and --action="deny(403)".

4
Attach the security policy to the backend service
Attach the my-security-policy to the backend service named my-backend-service using the gcloud command.
GCP
Hint

Use gcloud compute backend-services update my-backend-service --security-policy=my-security-policy --global to attach the policy.

Practice

(1/5)
1. What is the main purpose of Google Cloud Armor in protecting your applications?
easy
A. To block bad traffic and protect against attacks like DDoS
B. To store application data securely
C. To manage user authentication and login
D. To monitor application performance metrics

Solution

  1. Step 1: Understand Cloud Armor's role

    Cloud Armor is designed to protect applications from harmful traffic and attacks such as Distributed Denial of Service (DDoS).
  2. Step 2: Compare options

    Options B, C, and D describe other services like storage, authentication, and monitoring, which are not Cloud Armor's main function.
  3. Final Answer:

    To block bad traffic and protect against attacks like DDoS -> Option A
  4. Quick Check:

    Cloud Armor protects apps from bad traffic = A [OK]
Hint: Cloud Armor blocks bad traffic and DDoS attacks [OK]
Common Mistakes:
  • Confusing Cloud Armor with storage or authentication services
  • Thinking Cloud Armor monitors performance instead of security
2. Which of the following is the correct way to create a Cloud Armor security policy using gcloud CLI?
easy
A. gcloud compute security-policies create my-policy --description="Protect app"
B. gcloud compute firewall-rules create my-policy --description="Protect app"
C. gcloud compute instances create my-policy --description="Protect app"
D. gcloud compute networks create my-policy --description="Protect app"

Solution

  1. Step 1: Identify correct gcloud command for Cloud Armor policy

    The command to create a Cloud Armor security policy is under 'compute security-policies create'.
  2. Step 2: Eliminate incorrect commands

    Firewall rules, instances, and networks are different resources and use different commands.
  3. Final Answer:

    gcloud compute security-policies create my-policy --description="Protect app" -> Option A
  4. Quick Check:

    Security policy creation uses 'compute security-policies create' = B [OK]
Hint: Cloud Armor policies use 'compute security-policies create' command [OK]
Common Mistakes:
  • Using firewall or instance commands instead of security-policies
  • Confusing network creation with security policy creation
3. Given this Cloud Armor rule snippet, what action will be taken for requests from IP 203.0.113.5?
{
  "expression": "origin.ip == '203.0.113.5'",
  "action": "deny(403)"
}
medium
A. Requests from 203.0.113.5 will be allowed
B. Requests from 203.0.113.5 will be denied with HTTP 403
C. Requests from all IPs except 203.0.113.5 will be denied
D. Requests from 203.0.113.5 will be redirected

Solution

  1. Step 1: Analyze the rule expression and action

    The rule matches requests where the IP is exactly '203.0.113.5' and denies them with HTTP status 403.
  2. Step 2: Understand the effect on matching IP

    Requests from 203.0.113.5 will be blocked and receive a 403 Forbidden response.
  3. Final Answer:

    Requests from 203.0.113.5 will be denied with HTTP 403 -> Option B
  4. Quick Check:

    IP match with deny(403) means block = D [OK]
Hint: deny(403) blocks matching IPs with forbidden response [OK]
Common Mistakes:
  • Thinking deny means allow
  • Confusing deny with redirect or allow
  • Assuming rule applies to all IPs
4. You created a Cloud Armor security policy but it is not blocking malicious traffic as expected. What is a common mistake to check?
medium
A. The Cloud Armor API is enabled in the project
B. The policy rules have correct IP addresses
C. The firewall rules allow all traffic
D. The security policy is not attached to the backend service or load balancer

Solution

  1. Step 1: Verify policy attachment

    Cloud Armor policies must be attached to backend services or load balancers to take effect.
  2. Step 2: Check other factors

    While correct IPs and API enablement matter, the main reason for no blocking is often missing attachment.
  3. Final Answer:

    The security policy is not attached to the backend service or load balancer -> Option D
  4. Quick Check:

    Policy must be attached to work = C [OK]
Hint: Attach policy to backend service or load balancer to activate [OK]
Common Mistakes:
  • Forgetting to attach policy to backend service
  • Assuming policy works without attachment
  • Ignoring API enablement or rule correctness
5. You want to protect your web app from both DDoS attacks and common web exploits. Which combination of Cloud Armor features should you use?
hard
A. Use Cloud Armor only for DDoS, and rely on firewall rules for web exploits
B. Only create IP-based allow/block rules without WAF
C. Create IP-based allow/block rules and enable the preconfigured WAF rules
D. Use Cloud Armor to monitor traffic but not block anything

Solution

  1. Step 1: Understand protection needs

    DDoS protection requires blocking bad IPs; web exploits need WAF rules to detect attacks like SQL injection.
  2. Step 2: Combine IP rules and WAF

    Cloud Armor supports both IP-based rules and preconfigured WAF rules to cover these threats together.
  3. Final Answer:

    Create IP-based allow/block rules and enable the preconfigured WAF rules -> Option C
  4. Quick Check:

    Use IP rules + WAF for full protection = A [OK]
Hint: Combine IP rules with WAF for best protection [OK]
Common Mistakes:
  • Using only IP rules without WAF for web exploits
  • Relying on firewall rules instead of Cloud Armor WAF
  • Not enabling blocking, only monitoring
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard