0Pricing
System Design Basics for Backend Developers · Lesson

DDoS Protection & Firewalls

Learn strategies and tools to protect your system from Distributed Denial of Service (DDoS) attacks and configure firewalls.

DDoS Protection & Firewalls is a free System Design Basics for Backend Developers lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the System Design Basics for Backend Developers learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Understanding DDoS Attacks

Imagine many people calling a small shop at once, trying to order. If too many call, no one can get through, and the shop can't serve real customers.

This is similar to a Distributed Denial of Service (DDoS) attack. It's an attempt to make an online service unavailable by overwhelming it with traffic from multiple sources.

The goal is to exhaust system resources, causing legitimate users to be denied access to the service.

Types of DDoS Attacks

DDoS attacks aren't all the same. They can target different layers of a system:

  • Volumetric Attacks: These try to consume all available bandwidth with huge amounts of traffic, like a flood.
  • Protocol Attacks: These exploit weaknesses in network protocols (like TCP/IP) to exhaust server resources, often by sending malformed or excessive requests.
  • Application Layer Attacks: These target specific web application vulnerabilities, aiming to crash servers or consume application resources with seemingly legitimate but resource-intensive requests (e.g., constantly searching a database).

Basic DDoS Defenses

While advanced attacks need specialized tools, some basic defenses can help:

  • Rate Limiting: This restricts the number of requests a user or IP address can make in a given period. It helps prevent a single source from overwhelming your server.
  • Ingress Filtering: This technique blocks network packets with spoofed (fake) source IP addresses. It helps prevent attackers from hiding their identity.

These methods are a first line of defense but often insufficient for large-scale attacks.

Specialized DDoS Mitigation

For robust protection against large DDoS attacks, specialized services are often essential. These services act as a shield:

  • They absorb massive amounts of malicious traffic far from your servers.
  • They use advanced algorithms to filter out bad requests, allowing only legitimate traffic to reach your application.

Examples include cloud-based DDoS protection services (e.g., AWS Shield, Azure DDoS Protection) and Content Delivery Networks (CDNs) like Cloudflare, which offer built-in DDoS mitigation.

Introducing Firewalls

A firewall is a network security system that monitors and controls incoming and outgoing network traffic based on predefined security rules. Think of it as a security guard at the entrance of your network.

  • It establishes a barrier between a trusted internal network and untrusted external networks (like the internet).
  • Its primary purpose is to prevent unauthorized access and to block malicious traffic.

Types of Firewalls

Firewalls come in different forms:

  • Packet-Filtering Firewalls: These examine network packets individually and allow or deny them based on source/destination IP addresses, ports, and protocols. They operate at the network layer.
  • Stateful Inspection Firewalls: More advanced, these track the state of active connections. They know if a packet is part of an established, legitimate session.
  • Proxy Firewalls: These act as an intermediary between clients and servers, inspecting traffic at the application layer and hiding the internal network structure.
  • Host-Based Firewalls: These run on individual servers or devices, protecting them directly rather than the entire network perimeter.

Configuring Firewall Rules

Firewalls operate based on a set of rules. Each rule specifies criteria for traffic and an action (permit or deny).

Common criteria include:

  • Source/Destination IP Address: Who is sending or receiving?
  • Source/Destination Port: What service is being used (e.g., port 80 for HTTP, 22 for SSH)?
  • Protocol: Is it TCP, UDP, ICMP?

Rules are processed in order, and the first matching rule dictates the action. A typical setup denies all traffic by default, only allowing explicitly permitted traffic.

Web Application Firewalls (WAFs)

A Web Application Firewall (WAF) is a specific type of firewall designed to protect web applications from common web-based attacks.

  • Unlike traditional network firewalls, WAFs understand HTTP/HTTPS traffic in depth.
  • They can detect and block attacks like SQL injection, cross-site scripting (XSS), and other OWASP Top 10 vulnerabilities.

WAFs sit in front of web servers, inspecting incoming requests and outgoing responses to filter out malicious patterns.

Firewall Placement Strategy

Firewalls are crucial components in a layered security approach. They can be placed at various points:

  • Perimeter Firewalls: Protecting the entire network boundary from the internet.
  • Internal Firewalls: Segmenting different parts of an internal network (e.g., separating a database server from a web server) to limit lateral movement of attackers.
  • Cloud-Native Firewalls: Managed services provided by cloud providers, integrated with virtual networks and security groups.

A strong security posture often involves multiple firewalls at different points.

Quick Check on Protection

Let's test your understanding of system protection. Consider the various tools and strategies discussed.

Recap: DDoS & Firewalls

In this lesson, we explored crucial aspects of system security: DDoS protection and firewalls.

  • We learned that DDoS attacks aim to overwhelm systems, coming in volumetric, protocol, and application-layer forms.
  • Basic defenses like rate limiting and ingress filtering help, but specialized DDoS mitigation services are vital for large attacks.
  • Firewalls act as security guards, filtering traffic based on rules, with different types (packet-filtering, stateful, WAFs) offering varying levels of protection.

Understanding and implementing these protections are fundamental to building resilient and secure systems.

Frequently asked questions

Is the “DDoS Protection & Firewalls” lesson free?

Yes — the full text of “DDoS Protection & Firewalls” is free to read here on the web, and the System Design Basics for Backend Developers course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the System Design Basics for Backend Developers course, upgrade to CoddyKit PRO.

What will I learn in “DDoS Protection & Firewalls”?

Learn strategies and tools to protect your system from Distributed Denial of Service (DDoS) attacks and configure firewalls. You practise System Design Basics for Backend Developers with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start System Design Basics for Backend Developers?

No prior experience is required. System Design Basics for Backend Developers on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “DDoS Protection & Firewalls” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this System Design Basics for Backend Developers lesson?

Yes. Every System Design Basics for Backend Developers lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Authentication & Authorization
  2. Data Encryption & Privacy
  3. DDoS Protection & Firewalls
  4. Rate Limiting and Throttling
← Back to System Design Basics for Backend Developers