Online shop in Cluj-Napoca on Black Friday
An L7 attack on the search page used up every database connection on the busiest sales day. Caching search results and rate limiting per IP cut the load, and bot filtering in the WAF blocked the rest.
A DDoS attack breaks nothing: it fills the link or uses up every resource on the server until real customers can no longer get in. The typical sign is a site that suddenly turns slow or unreachable, with no error in the application.
At layers L3 and L4 the attacker sends raw packets: UDP floods, amplification through open DNS or NTP servers, SYN floods. The aim is to fill the link or the connection table, whatever the server runs. At L7 the attacker sends HTTP requests that look legitimate but hit expensive pages such as search, carts and logins, so modest traffic can occupy every PHP worker or database connection. The two types need different defences.
A local firewall decides which packets to accept after they have already reached the network card. If the link is saturated, that decision comes too late: legitimate traffic no longer fits, whatever the rules say. Volumetric mitigation happens upstream, in the provider's network or in a scrubbing centre that forwards only clean traffic. Locally you remain responsible for L7: limit requests per IP, serve public pages from cache and block bots.
If your company falls under OUG 155/2024, the NIS2 transposition approved by Law 124/2025, a DDoS that interrupts an essential service can count as a significant incident: early warning to the DNSC within 24 hours, notification within 72 hours and a final report within a month. Registering with the DNSC, regulated by Order 1/2025, is the entity's duty, not the hosting provider's. NIS2 aside, a company issuing e-Factura needs access to the ANAF system within the legal deadline, so availability has fiscal consequences.
| Layer | Example attack | What it exhausts | Who mitigates |
|---|---|---|---|
| L3 (network) | ICMP flood, DNS/NTP amplification | Link bandwidth | Hosting provider, scrubbing, Anycast |
| L4 (transport) | SYN flood, UDP flood | Connection table, bandwidth | Hosting provider, upstream filtering |
| L7 (application) | HTTP flood on search or login | CPU, PHP workers, DB connections | WAF, CDN, rate limiting, server-side cache |
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
location = /wp-login.php {
limit_req zone=login burst=3 nodelay;
limit_req_status 429;
}limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 20;An L7 attack on the search page used up every database connection on the busiest sales day. Caching search results and rate limiting per IP cut the load, and bot filtering in the WAF blocked the rest.
One customer's faulty script produced thousands of requests per second, with the same effect as an application-layer DDoS. Per-API-key limits and 429 responses fixed it without blocking any of the other customers.
Look at traffic and connections before you look at code. A sudden jump in packets or requests from many IPs, with every service answering slowly, points to a DDoS. An application bug usually leaves error messages in the logs and affects particular pages, not the whole machine.
A CDN with protection absorbs the volume and filters L7 for the traffic passing through it. If the origin IP is known, attackers hit it directly and bypass the CDN. Restrict access to the origin to the CDN's IP ranges, and keep L3/L4 protection at the provider anyway.
If you fall under OUG 155/2024 and the attack caused a significant interruption, you notify the DNSC within the legal deadlines. If it was a diversion for access to personal data, GDPR duties towards ANSPDCP apply as well. In every case, document the incident internally.
A production server starts getting attacked within minutes of receiving a public IP address, however small the project is. This guide ranks the controls by impact, from SSH access to incident response, with the Romanian rules that apply along the way. Every topic has its own page with a short answer, examples and ready-to-use configuration.