Capability

Traffic Quarantine

Observe behavior instead of blocking instantly — isolate sources that exceed a threshold and release them automatically.

TR7 Traffic Quarantine is a behavior-based temporary isolation mechanism that bridges the gap between rate limiting and WAAP blocking. Instead of evaluating each request in isolation and dropping it immediately, the source is observed over a defined time window; when the threshold is exceeded, the source is placed in quarantine for a set period. Each quarantine rule operates with two separate windows: a tracking window and a quarantine window. Sources are identified by key type — IP, IP + user agent, Host + IP, or Host + IP + user agent. While in quarantine, traffic can be silently blocked, redirected to another URL, or served a custom content page. The critical differentiator is that quarantine status can be used as a condition in other rules. A quarantined source can trigger a different routing decision, a different header behavior, a different content response, or a second, stricter rule. Active quarantine entries are visible in the vService monitor, and an operator can manually release a source at any time. The result: TR7 suppresses bot, scraping, brute-force and slow abuse patterns without converting them to permanent bans. False-positive risk is reduced, legitimate power users are released automatically when the window expires, and operators retain live intervention capability throughout.

4
Key types: ip, ipUa, hostIp, hostIpUa
3
Quarantine actions: block, redirect, showContent
5
Parallel quarantine rules per vService

A "decide on every request instantly" model is not enough for bot and abuse traffic.

Bot and abuse traffic rarely announces itself as a spike. A source may generate 30–50 requests per minute — not catastrophic in isolation, but after ten minutes of sustained activity it looks exactly like scraping, automation or credential stuffing. An instant rate-limit decision is made per request; it does not capture the cumulative character of behavior spread across time.

WAAP signatures answer a different question: does this request match a known attack pattern? SQL injection, XSS and command injection can be caught by signature. But scraping, price harvesting, account enumeration or aggressive API consumption — traffic that looks legitimate per request — escapes signature-based protection because the WAAP asks "how bad is the content" rather than "how sustained is the behavior."

A temporary isolation model is needed in between. If a source has exhibited above-threshold behavior in the last N minutes, it should be isolated for M minutes without being permanently banned. During that window its traffic can be blocked, diverted to an explanation page or redirected to a different flow. When the window expires, the source is released automatically.

Implementing this model requires two distinct mechanisms: a tracking window that measures behavior over time, and a quarantine window that enforces isolation. They can run with different durations — short observation, longer penalty — or reversed to match application sensitivity. The action also should not be one-size-fits-all: a silent block suits confirmed automation, an explanation page suits borderline cases, and a redirect suits flow management.

TR7 Traffic Quarantine delivers this model in full: two separate time windows for tracking and quarantine, four key types, three action modes, quarantine status usable as a condition in other rules, and live visibility plus manual intervention from the vService monitor.

Our approach

TR7 Traffic Quarantine combines behavior tracking and temporary isolation inside the same policy engine.

Two separate windows keep observation and penalty independent

Every quarantine rule defines a tracking window and a quarantine window as independent parameters. The tracking window measures source behavior; the quarantine window determines how long the action is enforced after the threshold is crossed.

Four key types deliver granular isolation

A source does not have to be identified by IP alone. The four options — IP, IP + user agent, Host + IP, and Host + IP + user agent — allow accurate differentiation across multi-domain, NAT and multi-tenant environments.

Three actions offer different levels of enforcement

While in quarantine, traffic can be blocked silently, redirected to another URL, or served a custom content page. This allows a silent drop for confirmed bots, an explanatory message for real users who may have hit a limit, and a workflow-aligned redirect where needed.

Quarantine status becomes a condition in other rules

A quarantined source generates a system-wide status signal. Other traffic, routing and content rules can reference this signal as a condition, enabling composite policies that react to an active quarantine without duplicating logic.

Capabilities

Traffic Quarantine brings behavior tracking, temporary isolation and operator control into a single operating model.

Dual-window design manages tracking and quarantine separately

Each rule sets a tracking duration and a quarantine duration independently. Within the tracking window, source behavior is counted; when the threshold is exceeded, the source is held in a separate list for the quarantine window. When the quarantine window expires, the entry is dropped automatically. This design delivers controlled, time-bound isolation rather than a permanent ban.

Key type selection reduces false-positive risk

The `ip` option provides classic source-IP tracking. `ipUa` distinguishes between different user agents behind the same IP, separating bot sessions from human sessions on shared addresses. `hostIp` counts traffic to each domain independently in multi-domain environments. `hostIpUa` provides the finest-grained separation for multi-tenant and multi-client deployments.

Quarantine entry condition is defined by a numeric threshold

Operators define a threshold against a count within the tracking window. A rule such as "more than 100 requests in the last 10 minutes" triggers behavior-based quarantine. The decision is based on aggregate behavior across the window, not on a single request — this is the fundamental distinction from rate limiting, which is observation-driven rather than per-request.

Block action silently drops attacker traffic

The `block` action silently drops requests from a quarantined source. For bot and automation traffic this is often the most effective response: the attacker receives no application feedback and typically stops. This action suits high-risk abuse scenarios where no explanation is appropriate. Impact on real users can be monitored through the vService monitor.

ShowContent action returns an explanatory response to the user

`showContent` returns a custom HTTP status code and content body to a quarantined source. For example, a page explaining that the source has been temporarily limited due to excessive requests can be shown. This model is softer than a block and is appropriate when false-positive risk exists or when user experience matters. The message content can be prepared in the organization's support language and branding.

Redirect action steers traffic to a different flow

`redirect` sends a quarantined source to a different URL. Targets can include a CAPTCHA page, an explanation portal, a subscription upgrade page or a support page. Quarantine becomes not just a barrier but a mechanism to move users to the correct workflow. This option is especially valuable in multi-tenant and SaaS environments.

Quarantine status can be part of composite rules

Whether a source is currently in quarantine can be used as a condition in other rules. Quarantined sources can be routed to a different backend, assigned custom response headers, served different content, or placed under a second, stricter rule. This turns a single quarantine rule into a system-wide behavioral signal — one of TR7's most important differentiators.

Quarantine policy applies to both HTTP and TCP services

Traffic Quarantine is available for both HTTP and TCP services. On the HTTP side, request-level behavior is tracked; on the TCP side, the decision is made at the connection level. The technical outcome of the action differs by protocol, but the fundamental model is the same: observe, isolate sources that exceed the threshold, release them when the window expires.

The vService monitor makes active quarantine entries visible

Active quarantined sources are listed in the vService live monitoring view. Operators can see which key is in quarantine, which rule triggered it and how long it has been held. Manual release is supported — a legitimate power user or false positive can be freed immediately. Expired entries are cleaned up automatically, so manual intervention is optional.

Multiple parallel rules enable graduated enforcement

More than one quarantine rule can run simultaneously under the same vService. For example, a first rule can show a warning page for excessive requests while a second rule blocks sources that are still generating traffic while already in quarantine. Up to 5 parallel quarantine rules per vService are supported. This structure builds enforcement that escalates from soft to hard.

Operational depth

Traffic Quarantine is managed operationally through its table lifecycle, cluster behavior, reload impact, monitoring view and audit records.

01

Table lifecycle

Each quarantine rule uses two separate live tracking areas — one for the tracking window and one for the quarantine window. Entries are held with a TTL and cleaned up automatically when it expires. Incoming requests continuously update the tracking window behavior. This keeps quarantine as time-bound behavioral control rather than a permanent ban.

02

Per-request evaluation

For every incoming request, the key formula is computed, the tracked value is updated, and the quarantine condition is evaluated. If the source is already in quarantine, the defined action is applied. If not, the request proceeds through the normal traffic path. The decision happens in the data path at low cost.

03

Cluster behavior

In dual-node deployments, quarantine tables can be kept local or run in synchronized mode. When synchronization is not enabled, a new active node after failover rebuilds its quarantine history from scratch. When synchronization is enabled, quarantine state is preserved across failover. The right choice depends on operational requirements and the deployment model.

04

Reload impact

Quarantine tables are held in memory and do not behave as a persistent blacklist. After a soft reload or table reset, active quarantine state may be cleared. This is acceptable behavior: quarantine is a temporary isolation mechanism, not a permanent ban. When long-term banning is required, it should be used together with IP reputation feeds.

05

Manual release operation

Active quarantine entries are visible in the vService monitor, and an operator can release a specific source from quarantine. The table entry is deleted and the next request from that source is evaluated in the normal traffic path. This provides a fast response for VIP users, false positives or support requests.

06

Audit and SIEM integration

Quarantine and release events can be written to the audit log. When SIEM log streaming is enabled, events are forwarded to an external collector. Which key was quarantined, by which rule, with which action and for how long can all be reviewed after the fact.

07

Capacity and memory

Active key count and key type affect memory consumption. IP-based keys are compact; combined keys such as Host + IP + user agent consume more space. Because up to 5 parallel quarantine rules per vService are supported, capacity planning should be aligned with the traffic profile.

When to use it

Suppressing aggressive scraping bot traffic

An e-commerce site can track price-scraping sources with the `ipUa` key. Any IP + user agent combination that exceeds 100 requests in 5 minutes is blocked for 30 minutes, while legitimate human traffic from the same IP using a different user agent is tracked as a separate key and is unaffected.

Temporarily isolating login brute-force behavior

A banking portal can track repeated login attempts on the login endpoint by IP or IP + user agent. When the threshold is crossed, the source is served an explanatory page for 60 minutes, informing the real user of the temporary restriction.

Tenant separation in a multi-tenant SaaS environment

A SaaS platform hosting multiple domains can track each tenant's traffic independently using the `hostIp` key. One tenant's aggressive usage can be placed under a redirect or temporary block without affecting traffic from any other tenant.

Graduated enforcement from soft warning to hard block

A first rule redirects excessive-request sources to a warning page for 10 minutes. If the source continues generating traffic while already in quarantine, a second rule applies a 60-minute block. Using quarantine status as a condition in another rule is what makes this escalation model possible.

Frequently asked questions

What is the difference between Traffic Quarantine and rate limiting?
Rate limiting enforces instantly: a request arrives, the threshold is crossed, that request is dropped. Traffic Quarantine is observation-driven: a source is tracked across the tracking window, and if its aggregate behavior exceeds the threshold within that window, the source is placed in isolation for the quarantine window. This model is better suited for catching slow, sustained abuse and scraping behavior that is spread over time.
How is quarantine status used as a condition in other rules?
A quarantined source generates a system-wide status signal. Other traffic, routing or content rules can reference this signal as a condition. For example, response caching can be disabled for quarantined sources, traffic can be sent to a different backend, or custom response headers can be added. This composite structure turns a single quarantine rule into a policy signal that triggers behavior changes across the entire system.
Which key type should be chosen?
If only source IP tracking is needed, `ip` is sufficient — though care is needed behind CDNs or NAT. If different users share the same IP, `ipUa` provides separation by user agent. For multi-domain environments where per-domain counts are needed, `hostIp` is the right choice. For maximum granularity in multi-tenant and multi-client scenarios, `hostIpUa` is the appropriate option.
How is a user released who was quarantined by mistake?
Active quarantine entries are listed in the vService live monitoring view. An operator can select the relevant key and perform a manual release — the table entry is deleted and the next request from that source is evaluated in the normal traffic path. When the quarantine window expires naturally, the entry is removed automatically; manual intervention is never mandatory.
Are quarantine tables persistent across reloads?
No. Quarantine tables are held in memory; when the software is reloaded, active quarantine state is reset. This is the expected behavior — quarantine is a temporary isolation mechanism, not a permanent blacklist. When long-lived, persistent banning is required, Traffic Quarantine should be combined with IP reputation feeds.
How many quarantine rules can be defined per vService?
Up to five parallel quarantine rules can be defined under the same vService. Each rule has its own independent tracking window, quarantine window, key type and action. This makes it possible to build graduated enforcement from a soft warning to a hard block, or to define separate policies for different traffic segments.

Suppress bot and abuse traffic without permanent bans

Behavior-based temporary isolation, composite rule design and live operator visibility. Let's walk through how it works in your own environment.