Skip to main content

AbuseIPDB Integration

Automatically report malicious IPs to AbuseIPDB when they get banned.

What is AbuseIPDB?​

AbuseIPDB is a project dedicated to helping combat the spread of hackers, spammers, and abusive activity on the internet. By reporting IPs that attack your infrastructure, you help the entire community.

Setup​

1. Get API Key​

  1. Create an account at abuseipdb.com
  2. Go to Account → API
  3. Create a new API key
  4. Copy the key

2. Configure in Bloqd​

  1. Go to Settings → Integrations
  2. Find AbuseIPDB section
  3. Enable the integration
  4. Paste your API key
  5. Configure rate limit (default: 1000/day)
  6. Click Save

Or via environment variables:

ABUSEIPDB_ENABLED=true
ABUSEIPDB_API_KEY=your_api_key_here
ABUSEIPDB_RATE_LIMIT=1000

How It Works​

┌──────────────┐    Ban Event    ┌──────────────┐
│ fail2ban │────────────────►│ Bloqd │
└──────────────┘ └──────┬───────┘
│
┌───────────┴───────────┐
▼ ▼
┌───────────────┐ ┌───────────────┐
│ Dashboard │ │ AbuseIPDB │
│ (Ban List) │ │ (Report) │
└───────────────┘ └───────────────┘
  1. fail2ban bans an IP
  2. Agent reports ban to Bloqd
  3. Bloqd maps jail to AbuseIPDB category
  4. Bloqd checks if IP was reported recently (15-min window)
  5. If not duplicate, submits report to AbuseIPDB
  6. Stores record to prevent duplicate reports

Category Mapping​

Bloqd automatically maps jails to AbuseIPDB categories:

JailAbuseIPDB Category
sshd22 (SSH)
recidive22 (SSH)
postfix, postfix-sasl11 (Email Spam)
dovecot11 (Email Spam)
mailcow-*11 (Email Spam)
nginx-, apache-21 (Web App Attack)
wordpress*21 (Web App Attack)
phpmyadmin21 (Web App Attack)
nextcloud21 (Web App Attack)
grafana21 (Web App Attack)
mysqld-auth14 (Hacking)
mongodb-auth14 (Hacking)
proxmox*14 (Hacking)

AbuseIPDB Categories Reference​

IDCategory
11Email Spam
14Port Scan / Hacking
18Brute-Force
21Web App Attack
22SSH

Rate Limiting​

AbuseIPDB has daily report limits:

PlanDaily Reports
Free1,000
Basic3,000
Premium10,000

Bloqd respects your configured limit and stops reporting when reached.

Configuration​

# Set limit based on your plan
ABUSEIPDB_RATE_LIMIT=1000

Check usage in Settings → AbuseIPDB → Usage Stats.

Duplicate Prevention​

Bloqd prevents duplicate reports:

  • Stores reported IP + timestamp
  • Won't report same IP within 15 minutes
  • Reduces noise in AbuseIPDB
  • Conserves your rate limit

Report Details​

Each report includes:

{
"ip": "192.168.1.100",
"categories": "22",
"comment": "Fail2ban: sshd - Multiple failed SSH login attempts"
}

Manual Reporting​

You can manually report IPs from the dashboard:

  1. Go to Bans page
  2. Find the ban entry
  3. Click Report to AbuseIPDB
  4. Confirm

Checking IP Reputation​

Before whitelisting an IP, check its reputation:

  1. Click on any IP in the ban list
  2. View AbuseIPDB Score in the details panel

Or check directly on AbuseIPDB:

https://www.abuseipdb.com/check/192.168.1.100

Troubleshooting​

Reports Not Being Sent​

  1. Verify AbuseIPDB is enabled in settings
  2. Check API key is valid
  3. Check rate limit not exceeded
  4. Review logs for errors

Invalid API Key​

AbuseIPDB Error: Invalid API key
  1. Verify key in settings
  2. Regenerate key on AbuseIPDB
  3. Ensure no extra spaces in key

Rate Limit Exceeded​

AbuseIPDB Error: Daily report limit reached
  • Wait until next day (UTC midnight reset)
  • Upgrade AbuseIPDB plan for higher limits
  • Reduce report categories

Best Practices​

  1. Enable for public-facing servers - Report attacks on SSH, web, mail
  2. Don't report internal IPs - Only report attacks from internet
  3. Use appropriate rate limit - Don't exceed your plan's limit
  4. Monitor usage - Check stats regularly
  5. Whitelist trusted IPs - Prevent false reports