[email protected]Support 24/7 · Billing 09:00 – 00:00LinkedInXFacebook
NexonHost
Netherlands Dedicated ServersAmsterdam · Equinix AM6Germany Dedicated ServersFrankfurt · Equinix FR4Romania Dedicated ServersBucharest · VoxilityAustria Dedicated ServersVienna · Interxion VIEBulgaria Dedicated ServersSofia · TelepointFrance Dedicated ServersParis · Interxion PAR — Marseille · Digital Realty MRS3Ireland Dedicated ServersDublin · Equinix DB2Italy Dedicated ServersMilan · Irideos AvalonPoland Dedicated ServersWarsawSpain Dedicated ServersMadrid · Equinix MD2United States Dedicated ServersAshburn · Equinix DC
← All articles
BlogsOctober 12, 2026

Server Under DDoS Attack? What to Do in the First Hour

Server Under DDoS Attack? What to Do in the First Hour

When a server under DDoS attack stops answering, the first hour decides two things: whether you fix the layer that is actually failing, and whether your provider gets the evidence it needs to filter upstream. This runbook is for a Linux server being hit now: the lookalikes, the commands that find the failing layer, what the host can fix, and what only your provider can.

In Cloudflare's DDoS threat report for the first half of 2026, 96.62% of the network-layer attacks it mitigated stayed under 500 Mbps, and 90.60% ended in under 10 minutes. So most attacks end before anyone can react, and most are small enough that the server's own settings matter. The ones that fill your port are a different problem.

Is it really an attack?

Three things look like an attack from inside the server and are not:

  • A deploy. Trouble started the minute you shipped, errors rose and traffic did not. Roll back first.
  • A crawler. One client walking the whole site, usually naming itself in the user-agent string.
  • A real spike. Many distinct visitors loading pages, images and scripts like browsers, with a referrer you can trace.

The kernel documentation says the same of SYN flood warnings: they can come from legitimate load, and then the fix is tuning, not filtering. If none of those fit, match the symptom to the layer:

Symptom What it usually means Where it gets fixed
Inbound traffic flat at port speed; even SSH lags Volumetric flood, often UDP reflection (L3/L4) Provider network only
Packets per second far above normal, bandwidth modest Small-packet flood: SYN, ACK or UDP (L4) Provider network; the host buys time
SYN-RECV count far above normal; "Possible SYN flooding" logged SYN flood (L4) Host (SYN cookies); provider for volume
"nf_conntrack: table full, dropping packet" State-table exhaustion (L4) Host (table size, notrack); provider
Outbound traffic at port speed from a UDP service Your server is a reflector in someone else's attack Host: close or firewall the service
Bandwidth normal, CPU or database pegged, one path dominating the log HTTP flood (L7) HTTP proxy with a challenge; app rate limits

Measure first: the first ten minutes

Note the time in UTC with date -u before you change anything. Then:

sar -n DEV 1 5

Five one-second samples per interface (sysstat package). rxpck/s is packets per second; rxkB/s × 8 ÷ 1,000,000 is roughly Gbps. Flat at your port speed means the link is full.

ss -s
ss -Htn state syn-recv | wc -l

The socket summary, then the count of half-open TCP connections. Compare both with a quiet day.

sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_max

Tracked connections against the ceiling (conntrack -C gives the same count). Level means a full table; dmesg | grep -iE 'syn flood|table full' shows whether the kernel is sending SYN cookies or dropping packets.

tcpdump -i eth0 -c 20000 -w attack.pcap

A packet sample for your provider, on the interface sar showed. -c makes it stop by itself after 20,000 packets.

tail -n 50000 access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head

The busiest client addresses in a combined-format log; $7 gives the busiest paths. Behind a proxy, $1 is the proxy unless you restore visitor addresses.

What you can fix on the server

SYN floods. sysctl net.ipv4.tcp_syncookies should print 1, the default: when a socket's SYN backlog overflows, the kernel answers with cookies, which encode the connection's state in the SYN-ACK instead of storing it. The documentation calls cookies a fallback that can degrade some services, so leave it at 1, not 2 (always on).

A full conntrack table. On a 64-bit kernel with more than 4 GB of RAM the default ceiling is 262,144 entries, on 8 GB and 512 GB alike. If the kernel logs "table full", raise nf_conntrack_max if memory allows, or exempt high-volume stateless traffic with a notrack rule in a raw-priority prerouting chain.

Connection floods from real addresses. Per-source limits help when sources are real, as with a botnet opening connections, and do nothing against spoofed packets. The nft manual's pattern, adapted to HTTPS:

nft add set ip filter flood \
  "{ type ipv4_addr; flags dynamic; timeout 10s; size 128000; }"
nft insert rule ip filter input tcp flags syn tcp dport 443 \
  add @flood { ip saddr limit rate over 20/second } drop

This assumes an ip filter table with an input chain; insert puts the rule ahead of your existing accept rules. Set the rate well above one real visitor's needs.

UDP services you did not mean to publish. ss -lunp lists listening UDP sockets and their processes. CISA lists amplification factors of 28 to 54 for DNS, 556.9 for NTP and 10,000 to 51,000 for memcached: an open service turns small spoofed requests into large replies at someone else, filling your port outbound. Bind to localhost or firewall them.

HTTP floods. If bandwidth is normal and the application is pegged, rate-limit per client. In nginx:

limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
limit_req zone=one burst=10 nodelay;

The first line goes in http, the second in the attacked location; excess requests get a 503 by default. Behind a proxy, restore visitor addresses first (nginx's realip module), or the limit lands on the proxy and throttles everyone. A flood spread across many addresses, each under the limit, needs a proxy that challenges clients; see understanding Layer 7 DDoS attacks.

What you cannot fix on the server

Every rule above runs after the packet has crossed your port. If inbound traffic sits at port speed, packets are being dropped upstream of you, attack and customers alike. A 10 Gbps flood against a 1 Gbps port means at least nine-tenths of everything sent to you is discarded before your firewall sees it.

Packet rate fails the same way at lower bandwidth. A 1 Gbps link full of 64-byte frames carries about 1.49 million packets a second, 1,000,000,000 ÷ ((64 + 20) × 8) counting preamble and inter-frame gap, and each costs CPU time before a rule can drop it. Once sar shows either number pinned, stop tuning and escalate.

What to send your provider

One ticket, all of it:

  1. The target IP address, protocol and port.
  2. The start time in UTC, and whether it is still running.
  3. Peak bits and packets per second, next to your normal figures.
  4. The attack.pcap sample.
  5. The ports real users need, so filtering does not drop them.
  6. What you have already changed on the host.

CISA's amplification guidance also recommends keeping your upstream providers' emergency contacts to hand.

When the attack is bigger than the protection

Every protection tier has a ceiling, and a common industry tool beyond it is blackholing, or null routing. RFC 5635 describes destination-based remotely triggered blackholing: a discard route for the target, so every packet towards it, attack and legitimate, is dropped. That takes the target offline to limit collateral damage to everyone else. RFC 7999 defines the BLACKHOLE BGP community (65535:666) for asking neighbouring networks to do the same, typically for a single /32 (IPv4) or /128 (IPv6); each neighbour chooses whether to honour it.

Policies differ, so ask any provider:

  • At what bandwidth or packet rate is my protection exceeded?
  • What happens then: a null route, rate limiting, or a call?
  • If a null route, for how long, who lifts it, and am I told?
  • Is mitigation always in the path, or switched on when an attack is detected, and how fast?

RFC 5635 also notes a way round a blackhole: move the service to another address and update DNS, though it warns botnets often follow DNS.

After the attack: the address is known

The attacker has your IP address. If the site sits behind a proxy, an attack on the origin usually means the address leaked: close the leak, then move the origin to a new address firewalled to the proxy's ranges. How to hide your origin IP behind a DDoS proxy covers the common leaks. An extra IPv4 address on a NexonHost dedicated server is €3 a month.

Then install sysstat, tcpdump and conntrack, record what normal looks like, and keep this attack's numbers. The new server security checklist covers the baseline.

Sizing protection for the next one

Size from your own graphs, using both numbers. 10 Gbps of 64-byte frames is about 14.9 million packets a second: well inside a 40 Gbps allowance, but 3.7 times a 4 Mpps one (14.88 ÷ 4).

What hit you What covers it Price a month
L3/L4 flood, dedicated server 40 Gbps / 4 Mpps Included
Bigger L3/L4 flood, dedicated 80 Gbps / 6 Mpps up to 1 Tbps / 100 Mpps €250 to €1,500
L3/L4 flood, VPS 20 Gbps / 1 Mpps, or 100 Gbps / 10 Mpps Included, or €150
HTTP flood, website Protection proxy, Micro to Enterprise €49 to €710

With 100 Gbps / 8 Mpps at €300, the €129 entry server comes to €429 a month (€129 + €300). The proxy's Micro plan carries 3 TB of clean traffic with 10 Gbps of Layer 4 absorption; Enterprise is unmetered, with 100 Gbps included and options to 1 Tbps.

Where NexonHost fits

A server under DDoS attack needs filtering capacity upstream of its port before the attack starts. Every NexonHost dedicated server, from €129 a month, includes 40 Gbps / 4 Mpps of Layer 3/4 network mitigation; Xeon builds are provisioned in minutes, EPYC builds in about two weeks. Every Linux VPS includes 20 Gbps / 1 Mpps. For HTTP floods, the website DDoS protection proxy adds WAF support and a web challenge from €49 a month; DDoS mitigation services lists the same plans and the mitigation nodes in Germany, the Netherlands and Romania.

What these do not solve: the included network protection does not stop Layer 7 floods, and the proxy is built for HTTP(S) websites; for game servers or other UDP services, ask sales what fits before an attack, not during one. Start on a one-month term.

Prices are as of 12 October 2026, excluding VAT; check the product pages for current figures.

Sources

Keep reading
How to Turn a VPS into a VPN Gateway: Configuration, Benefits, and Limitations
July 7, 2026

How to Turn a VPS into a VPN Gateway: Configuration, Benefits, and Limitations

Commercial VPNs ask you to trust someone else’s logging policy. Building your own VPS VPN Gateway puts you in full control, giving you a dedicated IP, encrypted traffic, and zero corporate middlemen. This guide walks through the complete OpenVPN setup, plus the real advantages and limitations to…

Read article →
Understanding RAID
July 6, 2026

Understanding RAID

Choosing the right RAID level depends on your workload, drive size, performance needs, and failure tolerance. This guide explains RAID 0, 1, 5, 6, and 10 in simple terms, including why RAID 5 is risky for large drives and when RAID 6 or RAID 10 is the safer choice.

Read article →
cPanel vs DirectAdmin vs Plesk
July 3, 2026

cPanel vs DirectAdmin vs Plesk

Compare cPanel, DirectAdmin, and Plesk in this complete 2026 hosting control panel guide. Learn how each panel differs in pricing, performance, features, security, and best-use cases so you can choose the right solution for your hosting setup.

Read article →
Get in Touch

Together, Let’s Build a Faster, Safer Internet.

Build scalable infrastructure with NexonHost — high-performance dedicated servers, VPS hosting, cloud hosting, and DDoS protection across Europe.

Get Started →Contact Us
[email protected]Support 24/7 · Billing 09:00 – 00:00