Real-Time Threat Detection from Your Nginx Logs

KNOW WHEN YOUR
SERVERS ARE UNDER ATTACK

LogHQ monitors your nginx access logs for WordPress and WooCommerce attacks — brute-force logins, exploit scans, checkout abuse, and sensitive data leaks. Deploy an agent in 30 seconds. See threats as they happen.

nginxsec-agent — live
$ curl -s https://loghq.net/agent/install.sh | bash
[1/6] Creating /opt/nginxsec/ OK
[2/6] Downloading agent OK
[3/6] Writing config OK
[4/6] Discovering nginx logs 3 found
[5/6] Setting permissions OK
[6/6] Installing cron job OK
Agent installed. Threats will appear on your dashboard within 60 seconds.
5
Threat Categories
<60s
Detection Time
30s
Agent Install
0
Dependencies
Capabilities

THREAT INTELLIGENCE,
NOT JUST LOGGING

Every request that hits your nginx server is classified in real time. See exactly who is attacking, what they're after, and how your server responded.

WordPress Brute Force

Detects wp-login.php, xmlrpc.php, and login endpoint hammering. See which IPs are running credential stuffing attacks.

WooCommerce Protection

Detects customer data enumeration, order harvesting, coupon probing, and payment gateway discovery via WC REST API. Flags both blocked probes and successful data exposure (200).

Exploit Scanning

Catches path traversal, SQL injection probes, .bak/.sql file hunting, and plugin/theme vulnerability scanners.

Sensitive Data Leaks

Alerts when attackers probe for .env, .git, phpinfo, or wp-config. A 200 response means your data was exposed.

Geo-IP Intelligence

Every attacking IP is resolved to its country of origin. See which regions are targeting your servers on a live dashboard.

Real-Time Alerts

Get notified via Telegram, email, or audible browser alerts when attack velocity spikes or a server goes offline.

Status Code Filtering

Filter threats by HTTP status. A 200 on a leak path is critical. A 403 means nginx blocked it. Focus on what matters.

Setup

THREE STEPS TO
THREAT VISIBILITY

No complex configuration. No port forwarding. The agent runs as a cron job under www-data and sends threat data to your dashboard over HTTPS.

01

Create a Server

Register on the dashboard and add a server. You'll get a unique agent key and a one-liner install command.

02

Install the Agent

Run the install command on your server. The agent auto-discovers nginx log files and starts monitoring immediately.

curl -s https://loghq.net/agent/install.sh | bash -s -- YOUR_KEY
03

Watch Your Dashboard

Threats appear within 60 seconds. See attacking IPs, categories, geo-location, and attack velocity in real time via WebSocket.

Transparency

YOUR SERVERS,
YOUR CONTROL

We built LogHQ with a simple principle: the agent should do one thing and nothing else.

Read-Only Agent

The agent only reads nginx access logs. It never writes to your filesystem, modifies configs, opens ports, or accepts inbound connections.

No Root Required

Runs as www-data via cron. No daemon, no background process, no elevated privileges. It wakes up, reads logs, sends data, exits.

One-Way Data Flow

Data flows out only — from your server to your dashboard. The API never sends commands back. Your server cannot be instructed remotely through LogHQ.

Verified Updates

Agent self-updates are SHA-256 verified before installation. If the hash doesn't match, the update is rejected. The agent source is a single readable Python file.

Only Threat Data

The agent sends only classified threat entries — attacking IP, category, status code, and request path. It does not send your content, user data, or full access logs.

Inspect Anytime

The entire agent is a single 400-line Python script at /opt/nginxsec/agent.py. Read it, audit it, diff it against updates. No compiled binaries, no obfuscation.

See It In Action

REAL-TIME DASHBOARD
& THREAT REPORTS

Live threat monitoring with instant reports. Everything you need to know about who's attacking your servers.

LOGHQ
LIVE
1,847
Threats
42
Attackers
3.2
/min
3/3
Online
prod-01HIGH
prod-02LOW
stagingCLEAR
Top Attacking IPs
#IP AddressHitsCategory
1🇩🇪 185.220.101.xx312Exploit-Scan
2🇳🇱 45.148.10.xx189WP-Brute
3🇺🇸 192.241.xx.xx87System-Leak
4🇷🇴 94.102.xx.xx51WP-Core
Live Threat Feed
14:32:05 185.220.101.x Exploit GET /../../etc/passwd
14:31:58 45.148.10.x Brute POST /wp-login.php
14:31:52 94.102.xx.x Leak GET /.env
14:31:47 162.142.xx.x Core GET /wp-admin/

Live Dashboard

Real-time WebSocket. Geo-IP flags. Server heat. Status filtering.

Start Free
LOGHQ
Threat Intelligence Report
Period: Last 7 Days
Server: production-web01
Generated for: Acme Corp
Executive Summary
4,281
Total Threats
4,109
Blocked
172
Suspicious
89
Unique IPs
Exploit-Scan
Top Category
HIGH
Risk Level
Top Attacking IPs
#IP AddressCountryHitsCategories
1185.220.101.xxDE847Exploit-Scan
245.148.10.xxNL523WP-Brute
3192.241.xx.xxUS319System-Leak
494.102.xx.xxRO281WP-Core
5162.142.xx.xxUS194Exploit-Scan
Hourly Attack Heatmap
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Full Reports

10 selectable sections. Charts, heatmaps, geo-IP. Download as HTML.

Try It Free
Plans

SIMPLE, HONEST PRICING

Start free with one server. Upgrade when your fleet grows.

FREE
$0
For personal projects and testing
  • 1 server
  • 1 log source per server
  • 7-day threat retention
  • Real-time dashboard
  • Live threat feed
  • Geo-IP intelligence
Get Started
TEAM
$49 /mo
For agencies and hosting companies
  • 10 servers
  • 15 log sources per server
  • 60-day threat retention
  • Up to 4 team members
  • Full reports & email intel
  • Telegram & email alerts
Sign Up
Privacy

GDPR COMPLIANT BY DESIGN

Built for European data protection. Your users' privacy is a toggle away.

🔒

IP Anonymization

Mask the last octet of all IP addresses in dashboards and reports. Threat detection still works — only the display is anonymized.

📦

Data Export

Download all your data as JSON with one click. Full transparency on what we store — Right of Access, Article 15.

🗑

Account Deletion

Permanently delete your account and all associated data. Servers, threats, alerts — everything. Right to Erasure, Article 17.

📧

Email Masking

Targeted emails in attack traffic are masked (ab***@domain.com) when GDPR mode is active. Protects personal data in threat logs.