Aegisify company logo
Progressive Challenge System with GeoIP & ASN Intelligence Blocking2026-08-13T22:09:53+00:00
Aegisify WAF — Source Intelligence & Challenge

WordPress GeoIP, ASN, Behavioral Controls, and Browser Challenge: Use the Right Signal for the Right Decision

Aegisify WAF 1.20.13 combines several related controls without pretending they are one universal reputation score: explicit IP/CIDR blocking, optional country or ASN blocking from a configured provider, anonymous behavioral scoring, shared-memory request counters, and a signed browser challenge used when WAF or DDoS policy selects a challenge response.

Geography is context—not proof that a request is malicious.The current implementation uses country and ASN lists as explicit administrator policy. It does not automatically score a country as “bad,” and it does not claim that a network owner identifies the human behind a request.
1IdentifyIP + optional provider
2EvaluateLists + behavior
3RespondBlock, limit, challenge
Traffic Decision Layers

Geo/ASN Blocking, Behavioral Rate Control, and Browser Challenge Are Separate Controls

The older “progressive GeoIP” framing can imply one automatic risk ladder. The 1.20.13 code is more precise: source block policy, behavioral scoring, and browser verification have different triggers and different enforcement paths.

Click a stage to expand

01Client IPTrusted source address
Aegisify resolves the client address through its request utilities. Correct trusted-proxy configuration matters because every source-based decision depends on using the real client rather than an untrusted forwarded header.
02IP / CIDRExplicit administrator block
PRO can block configured IPv4 addresses or CIDR ranges directly. These explicit intelligence blocks are enforced before the later managed WAF rule evaluation.
03Geo / ASNOptional provider context
Country and ASN policy requires a working provider. Cloudflare mode supplies country for the live request; local MaxMind can provide country and ASN when the required PHP extension and MMDB data are available.
04BehaviorAnonymous request frequency
Behavioral scoring counts anonymous request frequency in short shared-memory windows and adds weight for sensitive WordPress paths. Routine authenticated REST reads and logged-in users are excluded from this scoring path.
05ChallengeBrowser-capable verification
When another WAF policy selects Challenge, Aegisify can issue an IP-bound, HMAC-signed cookie with a configurable lifetime. APIs and non-browser clients should not be expected to complete JavaScript browser verification.
06EvidenceLog the security action
Source blocks, behavioral rate limits, challenge issuance, invalid challenge cookies, and related enforcement can be recorded in WAF logs for later investigation.
Explicit Source Blocking

Use IP, Country, and ASN Policy Deliberately

These controls reduce unwanted exposure when an organization has a defensible business reason to limit specific sources or networks.

01 — IP / CIDR

Direct Source Blocks

The Abuse & Bots intelligence panel supports one IPv4 address or CIDR range per line. Exact addresses and networks can therefore be blocked without waiting for a behavioral threshold.

02 — Country

ISO Country-Code Blocks

Administrators can provide comma-separated country codes. The rule activates only when the selected Geo/ASN provider returns a usable country code for the evaluated request.

03 — ASN

Network-Owner Blocks

One ASN can be entered per line, such as AS13335. ASN enforcement requires a provider capable of returning ASN data; Cloudflare’s country-header mode does not supply ASN in this implementation.

04 — Runtime Boundary

Provider Failure Does Not Invent Location

If no provider result is available, Geo/ASN blocking returns no match. This is safer than guessing a location or treating unresolved traffic as automatically hostile.

Provider Choices

Cloudflare Country Headers and Local MaxMind Have Different Capabilities

The provider setting is not just a brand selector; it changes what intelligence is technically available.

None

No Geo / ASN Enrichment

IP/CIDR policy can still operate, but country and ASN lists have no lookup result to evaluate. This is the appropriate state when the environment has not established a trusted enrichment source.

Cloudflare

Current-Request Country Only

Aegisify can use the validated Cloudflare country header for the current request. The provider deliberately refuses to reuse that live header to geolocate an unrelated historical IP, and it does not return ASN in this mode.

MaxMind MMDB

Local Country + ASN Where Available

The MaxMind option requires the PHP MaxMindDB extension and an administrator-supplied local MMDB path. The UI warns not to place that database in a publicly downloadable directory.

Anonymous Behavioral Scoring

Use Request Frequency and Sensitive-Route Context Before Rate Limiting

Behavioral intelligence adds a separate short-window signal that does not depend on GeoIP.

For anonymous traffic, Aegisify increments a shared-memory counter keyed by scope, client IP, and current minute. More than 30 requests contributes 30 points; more than 80 contributes an additional 40. Requests involving sensitive paths such as wp-login.php, xmlrpc.php, wp-admin, wp-json, or author-enumeration patterns add 25 points. The score is capped at 100.

The default behavioral block threshold is 80. On ordinary front-end traffic, reaching the threshold results in a 429 rate-limit response. In the REST path, the engine similarly returns a 429-style WAF error. Logged-in users are excluded, and routine authenticated REST reads are explicitly skipped.

Shared-memory requirement: behavior counters use a persistent external WordPress object cache or APCu. Database transients are intentionally excluded from the hot request path. If shared memory is unavailable, counter-based controls fail open rather than forcing per-request database writes.
Browser Challenge

Verify Browser-Capable Traffic Without Pretending Every Client Is a Browser

Challenge is a response mechanism used by WAF/DDoS policy; it is not the automatic result of a country or ASN match.

01

Signed, IP-Bound Challenge Token

The challenge token contains its issue time and an HMAC signature generated from the client IP and a WordPress salt. The verifier checks token format, future/expiry boundaries, and signature equality before accepting it.

02

Configurable Lifetime

The default and recommended challenge lifetime is 1,800 seconds, or 30 minutes. The admin control allows values from 300 seconds through one day.

03

Invalid Tokens Become Evidence

Malformed, expired, future-dated, or incorrectly signed challenge cookies can be logged using a short cookie fingerprint rather than placing the full token in the log record.

Safer Source Intelligence

Four Rules for Using Geo and Network Context

Source intelligence can reduce exposure, but broad policy can also block legitimate customers, crawlers, partners, or remote administrators.

1Use a Trusted IPConfigure proxies correctly before basing security policy on client address.
2Know Provider LimitsCloudflare mode provides country only; ASN requires a suitable provider such as local MaxMind data.
3Prefer EvidenceUse behavior, WAF findings, API activity, and logs alongside geography when deciding what to block.
4Keep RecoveryReview block lists and maintain a path to remove a mistaken source restriction.
Use Source Intelligence With Context

Reduce Unwanted WordPress Traffic Without Turning Geography Into a Security Verdict

Combine explicit source policy, short-window behavior, browser verification, and evidence so stronger actions are explainable and reversible.

Get Started

GeoIP, ASN & Challenge FAQ

Common Questions About Aegisify Source Intelligence

Does Aegisify automatically assign risk to countries?

No. Country blocking is an explicit administrator-maintained list. The current code does not implement an automatic country reputation score.

Can Cloudflare mode block by ASN?

Not from the built-in Cloudflare provider path shown in 1.20.13. That mode uses the current request’s country header and returns an empty ASN. Use a provider that supplies ASN data if ASN policy is required.

What happens if the shared counter backend is unavailable?

Counter-based controls such as behavioral scoring are designed to fail open. The WAF avoids using database transients for those request-path counters.

Does a GeoIP match automatically trigger a browser challenge?

No. Country/ASN blocks and browser challenge are separate enforcement paths. Challenge is used when WAF or DDoS policy selects a challenge response.

Aegisify WAF

Turn Source Context Into Controlled WordPress Security Policy

See how IP/CIDR, Geo/ASN provider data, behavioral scoring, browser challenge, logging, and block operations fit together without overstating what any one signal proves.