Block a traffic source
Drop all traffic from an address or a range to one of your floating IPs, for a set time or until you unblock it.
In the dashboard
A blocked source is an address or a range whose traffic DDoS Shield drops before it reaches one of your floating IPs. Block a source when one sender or one network keeps sending traffic you do not want, such as a sender you see in an attack event or a client that keeps trying passwords. A block can remove itself after a time you choose.
Before you begin
Section titled Before you begin- The floating IP must be on your account and not cancelled.
- A block applies to one floating IP, and on a subnet to all of its hosts. To block a source on several addresses, block it on each one.
- Floating IPs are IPv4, so a source is an IPv4 address or a range from
/8to/32. - An address can hold 100 blocks. A range counts as one block, so block the range when a sender uses many addresses in it.
- Blocks work on every profile: the platform default, a profile of the address's own and a custom profile. They do not apply while that profile is in Passthrough mode (Protection modes).
Block a source
Section titled Block a source- In the dashboard, go to Floating IPs, open the address and select the Shield tab.
- On the Blocked sources card, select Block source….
- In Address or range, enter the sender's address, such as
198.51.100.7, or a range, such as198.51.100.0/24. - Optionally, enter a Reason, such as
Repeated SSH logins. The list shows it under the source. - Under Expires, keep Never, or choose when we remove the block: After 1 hour, After 1 day, After 7 days or After 30 days.
- Select Block source.
A message confirms 198.51.100.7/32 blocked., and the block appears at the top of the list. Traffic from the source stops reaching the address within a minute.
Block a source on a custom profile's addresses
Section titled Block a source on a custom profile's addressesOn the Profiles tab of DDoS Shield, the card of a custom profile has a Blocked sources section with the blocks on every address bound to it. Select Block source… there, and choose the address under On when more than one is bound. The block applies to that one address only, and the table shows it in an On column.
Read the list
Section titled Read the listEach block in the list shows:
- Source: the address or range, with its reason under it.
- On: the address the block is on. Only a custom profile's card with more than one bound address shows this column.
- Added: when the block was made, with
Added by our teamunder it for a block that our team made. - Expires: when we remove the block and how long is left, or
Never.
When the address has no block, the card shows No blocked sources yet. Blocks that have expired leave the list.
When the address holds 100 blocks, the card shows No room for another block and Block source… is greyed out. Unblock a source first, or replace several blocks with one range.
Unblock a source
Section titled Unblock a source- On the Blocked sources card, select Unblock… on the block's row.
- In the dialog, select Unblock source.
A message confirms 198.51.100.7/32 unblocked. Traffic from the source reaches the address again within a minute.
A block that our team made shows Ask support to remove in place of Unblock…, and only our team can remove it. The link opens a new support conversation. Name the address and the source in it.
How a block is applied
Section titled How a block is applied- We apply a block as a Drop rule for all traffic from the source to the whole address. Traffic it drops shows on the Events tab as
firewall_deny(Attack types). - The block names both the source and the address, so it outranks most of your own rules. An Allow rule can still outrank it when it names more, such as the same source, this address as its Destination prefix and a port (How rules are applied).
- A block stays with the address when you detach it, customise its profile, or bind it to a custom profile and unbind it again.
Result
Section titled ResultThe block is on the Blocked sources list, and traffic from the source no longer reaches the address. We store a single address as its /32, and a range by its first address, so 198.51.100.7/24 becomes 198.51.100.0/24. When a block expires, we remove it, and the source's traffic reaches the address again.
Troubleshooting
Section titled TroubleshootingEnter an address or a range, such as 203.0.113.7 or 203.0.113.0/24.- The dialog cannot read what you entered as an address. Enter an address such as
198.51.100.7, or a range with its length, such as198.51.100.0/24. - Could not block the source with
That range is too wide. Block a /8 or a narrower range. - A wider range would cut the address off from a large part of the internet. Block narrower ranges, or set When no rule matches to Drop and allow only the senders you want (When no rule matches).
- Could not block the source with
This address is IPv4, so block an IPv4 source. - You entered an IPv6 address or range. A floating IP receives IPv4 traffic only, so an IPv6 sender cannot reach it.
- Could not block the source with
198.51.100.7/32 is already blocked on this address. - The list already holds that source, so its traffic is dropped already.
- Could not block the source with
This address already has 100 blocked sources. Remove one before adding another. - Unblock a source you no longer need, or replace several blocks with one range.
- Could not block the source with
Too many Shield changes in the last ten minutes. Wait a few minutes, then try again. - Your account made 60 changes to DDoS Shield profiles, rules and blocks in the last ten minutes. Wait, then try again.
- Traffic from a blocked source still reaches the address
- The address's profile is in Passthrough mode, or an Allow rule outranks the block, as How a block is applied explains. The sender may also use other addresses: block their range.
- Could not load the blocked sources
- Select Try again. If it keeps failing, contact support.
Related
Section titled Related- Change a floating IP's DDoS protection
- Read attack events
- Get help during an attack
- Order and use a custom profile
With the API
Section titled With the APIThe requests take the floating IP's service ID in the path: the ip_service_id that GET /api/v1/client/shield/status returns (With the API).
GET /api/v1/client/shield/subjects/{ip_service_id}/blocked-sources lists the blocks on the address, newest first:
curl https://api.coritan.com/api/v1/client/shield/subjects/214/blocked-sources \
-H "Authorization: Bearer $CORITAN_TOKEN"
{
"blocked_sources": [
{
"id": 881,
"address": "198.51.100.0",
"prefix_len": 24,
"cidr": "198.51.100.0/24",
"reason": "Repeated SSH logins",
"source": "manual",
"removable": true,
"expires_at": "2026-09-27T09:12:40",
"created_at": "2026-09-26T09:12:40"
}
],
"max_blocks": 100
}
| Field | Meaning |
|---|---|
id |
The block's ID, which removing it takes. |
address, prefix_len, cidr |
The first address of the blocked range, its length, and both together. |
reason |
The reason given for the block, or null. |
source |
manual for a block you made, admin for one our team made. |
removable |
false for a block our team made, which only they can remove. |
expires_at |
When we remove the block, in UTC, or null for a block that stays until it is removed. |
created_at |
When the block was made, in UTC. |
max_blocks is the most blocks the address can hold. Blocks that have expired are left out.
POST /api/v1/client/shield/subjects/{ip_service_id}/blocked-sources blocks a source, and answers 201 with the new block in the shape above:
curl -X POST https://api.coritan.com/api/v1/client/shield/subjects/214/blocked-sources \
-H "Authorization: Bearer $CORITAN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"address": "198.51.100.0/24", "reason": "Repeated SSH logins", "expires_minutes": 1440}'
| Field | Meaning |
|---|---|
address |
Required. An IPv4 address, or a range from /8 to /32. |
reason |
Optional, up to 255 characters. |
expires_minutes |
Optional. The minutes until we remove the block, from 1 to 43,200 (30 days). Leave it out to keep the block until you remove it. |
DELETE /api/v1/client/shield/subjects/{ip_service_id}/blocked-sources/{block_id} removes a block and answers {"status": "deleted"}:
curl -X DELETE https://api.coritan.com/api/v1/client/shield/subjects/214/blocked-sources/881 \
-H "Authorization: Bearer $CORITAN_TOKEN"
Each POST and DELETE counts towards a budget of 60 DDoS Shield changes per account in ten minutes, which changes to profiles and rules share. The answers you can act on:
| Answer | Meaning |
|---|---|
404 with IP service '214' not found |
The floating IP is not on your account, or is cancelled. |
404 with Assigned IP service '214' not found |
We have not assigned the address yet. Block the source once the floating IP is ready. |
404 with Blocked source '881' not found |
The block does not exist, or is on another address. |
403 with Our team added this block, so only they can remove it. Contact support to ask. |
Our team made the block. Contact support to ask for its removal. |
409 with 198.51.100.0/24 is already blocked on this address. |
The address has that block already. |
409 with This address already has 100 blocked sources. Remove one before adding another. |
The address holds max_blocks blocks. |
422 with Enter an IP address or a range in CIDR form, such as 203.0.113.7 or 203.0.113.0/24. |
address is not an address or a range. |
422 with This address is IPv4, so block an IPv4 source. |
address is IPv6. |
422 with That range is too wide. Block a /8 or a narrower range. |
The range is wider than /8. |
422 with a list in detail |
A field is outside its limits, such as an expires_minutes over 43,200. |
429 with rate_limited |
The account made 60 changes in ten minutes. Wait for the seconds in the Retry-After header. |
The DDoS Shield API reference lists every field.
API operations on this page
| Method | Path | What it does |
|---|---|---|
GET | /api/v1/client/shield/subjects/{ip_service_id}/blocked-sources | The sources refused on this IP, newest first |
POST | /api/v1/client/shield/subjects/{ip_service_id}/blocked-sources | Refuse traffic from an address or a CIDR range to this IP only |
DELETE | /api/v1/client/shield/subjects/{ip_service_id}/blocked-sources/{block_id} | Remove a block from this IP |