Skip to content

This powerful plugin offers advanced security features including automatic IP blocking, an advanced rule builder, traffic analysis, and seamless integration with services like Cloudflare, AbuseIPDB, Whatismybrowser.com, and now IPData.

License

Notifications You must be signed in to change notification settings

itcssec/ProActiveSecuritySuite

Welcome to the ProActive Security Suite Plugin Wiki

pss-logo

Enhance your WordPress website's security with the ProActive Security Suite. This powerful plugin offers advanced security features including automatic IP blocking, an advanced rule builder, traffic analysis, and seamless integration with services like Cloudflare, AbuseIPDB, Whatismybrowser.com, and now IPData. ProActive Security Suite provides proactive defense mechanisms to protect your site from malicious traffic and potential threats before they reach your server.

Introduction

Welcome to the ProActive Security Suite plugin! This comprehensive security solution enhances your website's protection by combining advanced threat detection, automated rule-based actions, and integrations with services like Cloudflare, AbuseIPDB, WhatIsMyBrowser, and IPData. By proactively analyzing traffic and applying custom security rules, ProActive Security Suite stops malicious traffic before it reaches your server, reducing load and enhancing performance.

Download Latest Release

Features

Free Features

  • Automatic IP Synchronization: Effortlessly sync blocked IPs to Cloudflare's firewall.
  • Customizable Settings: Tailor the plugin to your needs with adjustable settings:
    • Blocked Hits Threshold
    • Block Scope (Domain or Account)
    • Block Mode (e.g., Block, Managed Challenge)
    • Cron Interval
  • Manual Synchronization: Trigger synchronization manually when immediate action is needed.
  • AbuseIPDB Integration: Optional integration to fetch detailed information about IPs:
    • Country Code
    • Usage Type
    • ISP Information
    • Confidence Score

Premium Features

  • Advanced Rule Builder: Create custom security rules based on various criteria such as confidence score, whitelisted status, abusive status, IPData threat status, and more. Automate actions like blocking or challenging IPs based on these rules.
  • IPData Integration: Fetch threat intelligence from IPData, including tor usage, proxy, known attackers, and other threat indicators. Combine this data with AbuseIPDB and WhatIsMyBrowser data to build comprehensive multi-criteria rules for your traffic.
  • Rule Priorities: Assign priorities to your rules to control the order of evaluation. Higher priority numbers are evaluated first, allowing critical rules to take precedence.
  • Automatic Action Application: The plugin automatically applies actions to IPs that match your defined rules immediately after capturing traffic data.
  • Rule Details in Blocked IPs: View detailed information about which rules caused IPs to be blocked, including criteria and actions taken.
  • Captured Traffic Data: Log and analyze incoming traffic for enhanced security insights, leveraging data from multiple APIs (AbuseIPDB, WhatIsMyBrowser, IPData).
  • Exclude User Roles: Exclude specific WordPress user roles from traffic logging.
  • WhatIsMyBrowser.com API Integration: Advanced user agent analysis and detection capabilities.
  • Enhanced AbuseIPDB Integration: Automatic updates for all entries with the same IP address.
  • Priority Support: Access dedicated support for assistance and troubleshooting.
  • NEW - Traffic Insights: View your traffic at a glance by aggregating and displaying each IP address only once. This tab provides:
    • Aggregated IP Overview: See first/last seen timestamps, total requests, and threat data from IPData in a single row per IP.
    • Operating System & Browser Details: Includes the most recent OS and software information from WhatIsMyBrowser.
    • User Agent: Quickly review the last user agent encountered for each IP.
    • Professional Statistics: Real-time stats on total unique IPs, average confidence scores, top countries, and more, all on one page.
Screenshot 2024-12-21 at 14 28 25
Note: The premium features require an active premium license. Upgrade to access these advanced functionalities.

Installation

  1. Download the Plugin: Clone the repository or download the latest release.
  2. Upload to WordPress: Upload the proactive-security-suite directory to /wp-content/plugins/.
  3. Activate the Plugin: In your WordPress dashboard, navigate to Plugins and activate ProActive Security Suite.

Configuration

Cloudflare Settings

  1. Obtain Cloudflare Credentials:
    • Email: Your Cloudflare account email.
    • API Key: Your Global API Key or an API Token with necessary permissions.
    • Zone ID: Found in your Cloudflare dashboard under the domain's overview.
    • Account ID: Located in your Cloudflare profile settings.
  2. Configure Plugin Settings:
    • Navigate to Settings > ProActive Security Suite.
    • Enter your Cloudflare credentials securely.
    • Adjust settings like Blocked Hits Threshold, Block Scope, and Block Mode.
390847194-2b70c58b-6889-44b6-8f72-377f415b12a2

AbuseIPDB Integration

  1. Sign Up for AbuseIPDB: Visit AbuseIPDB and sign up for an API key.
  2. Enable Integration:
    • In the plugin settings, enter your AbuseIPDB API key.
    • Enable the AbuseIPDB Lookup option.
390847364-124d8ae7-91ba-4493-afb3-30e19a369a0b

WhatIsMyBrowser.com Integration (Premium)

  1. Obtain API Key: Register at WhatIsMyBrowser.com for an API key.
  2. Configure Integration:
    • Enter the API key in the plugin's settings under WhatIsMyBrowser API Key.
    • Enable the integration features as desired.

IPData Integration (Premium)

  1. Obtain API Key: Sign up at IPData for an API key.
  2. Enable Integration:
    • Enter your IPData API key in the plugin's settings.
    • Enable the IPData Lookup option.

With IPData integration, the plugin fetches comprehensive threat intelligence for each IP, including indicators like:

  • Tor
  • iCloud Relay
  • Proxy
  • Datacenter
  • Anonymous User
  • Known Attacker
  • Known Abuser
  • General Threat
  • Bogon

These fields can be combined with AbuseIPDB and WhatIsMyBrowser data in the rule builder. If an IP has previously been queried, subsequent visits reuse the stored IPData information without making additional API requests, ensuring efficient lookups.

Usage

Automatic IP Synchronization

The plugin automatically syncs blocked IPs based on your configured cron interval. IPs exceeding the Blocked Hits Threshold are added to Cloudflare's firewall or acted upon based on your defined rules.

Manual Synchronization

Navigate to Settings > ProActive Security Suite and click the Run Process button to trigger synchronization and rule evaluation immediately.

Captured Traffic Data (Premium)

Access detailed logs under the Captured Traffic Data tab. Analyze user agents, request methods, threat intelligence from IPData, and more. Exclude specific user roles from logging in the settings.

Note on Caching: If full-page caching or a CDN is serving cached responses, some traffic may not be captured because WordPress (and thus this plugin) may not run on every request. Consider adjusting your caching strategy or using a JavaScript-driven approach (e.g., a small script that calls a logged endpoint) if capturing all traffic is critical.

Advanced Rule Builder (Premium)

The plugin features a powerful Rule Builder that allows you to create custom security rules based on various criteria. You can define rules using conditions such as:

  • Confidence Score (AbuseIPDB)
  • Is Whitelisted (AbuseIPDB)
  • Is Abusive (WhatIsMyBrowser)
  • IPData Threat Indicators (Tor, Proxy, Known Attacker, etc.)
  • Custom Criteria: Combine fields from multiple APIs to create complex, multi-dimensional rules.

Each rule can be assigned an Action (e.g., Block, Managed Challenge) that will be applied to IPs matching the rule. You can also assign a Priority to control the order in which rules are evaluated.

390848297-7c3c405b-7a5f-4e86-ad35-f0128c288fcf Screenshot 2024-12-07 at 16 00 16

Rule Details in Blocked IPs (Premium)

The Blocked IPs tab now includes a Rule Details column that displays comprehensive information about the rules that caused IPs to be blocked. This includes:

  • Criteria: Specific conditions from AbuseIPDB, WhatIsMyBrowser, and IPData threat fields that were met.
  • Action: The action taken by the rule (e.g., Block, Managed Challenge).

This enhancement allows administrators to easily identify which rules are triggering blocks and understand the reasons behind each IP being blocked. It provides greater transparency and aids in fine-tuning security settings.

Advanced Settings

  • Blocked Hits Threshold: Define the minimum number of blocked hits before an IP is synchronized or evaluated by rules.
  • Block Scope: Choose between domain-specific or account-wide blocking.
  • Block Mode: Select the action for Cloudflare to take (e.g., Block, Challenge).
  • Cron Interval: Set how frequently the plugin checks for new blocked IPs and evaluates rules.
  • Rule Priorities: Assign priorities to your rules to control the order of evaluation. Higher priority numbers are evaluated first.
  • User Role Exclusions: Exclude specific WordPress user roles from traffic logging and rule evaluation.

Frequently Asked Questions

How do I obtain my Cloudflare Zone ID and Account ID?

Zone ID: Log into Cloudflare, select your domain, and find the Zone ID on the Overview page.
Account ID: Click on your profile in Cloudflare; the Account ID is listed there.

Can I use an API Token instead of the Global API Key?

Yes, ensure the API Token has the necessary permissions for firewall access.

Is the plugin compatible with IPv6 addresses?

Absolutely, the plugin supports both IPv4 and IPv6 addresses.

How does the plugin handle my API keys?

All API keys are securely stored using WordPress's options API and are never exposed in plain text.

How do rule priorities work?

Rule priorities determine the order in which your rules are evaluated. Rules with higher priority numbers are evaluated first. If traffic data matches a rule, the corresponding action is applied, and no further rules are evaluated for that IP address.

Can I see which rule blocked an IP?

Yes, with the Rule Details in Blocked IPs feature, you can view the exact rule criteria and action that caused an IP to be blocked. This information is displayed in the Blocked IPs tab under the Rule Details column.

How does the automatic action application work?

When traffic data is captured, the plugin immediately evaluates it against your defined rules. If a rule matches, the specified action is applied to the IP address without any manual intervention.

External Services

Cloudflare

AbuseIPDB

WhatIsMyBrowser

IPData

  • Usage: We fetch detailed threat intelligence (Tor, proxy, known attacker, etc.).
  • Data Sent: IP address.
  • IPData Terms | Privacy Policy

Support and Contribution

Support: For assistance, please open an issue on our GitHub Issues page or contact us at [email protected].

License

This project is licensed under the GNU General Public License v3.0.


Thank you for using ProActive Security Suite!

About

This powerful plugin offers advanced security features including automatic IP blocking, an advanced rule builder, traffic analysis, and seamless integration with services like Cloudflare, AbuseIPDB, Whatismybrowser.com, and now IPData.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published