=== SiteFort Security - Malware Scanner, Firewall, Login Security & Hardening ===
Contributors: securewpteam
Tags: security, malware scanner, firewall, 2fa, vulnerability
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.7.13
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Prevention-first WordPress security with malware scanning, firewall, bot protection, 2FA, vulnerability scanning, and security hardening.

== Description ==

SiteFort is a prevention-first WordPress security plugin that combines security hardening, firewall and bot protection, login security and 2FA, vulnerability scanning, and malware detection in one protection layer. It blocks common attack paths early, before they turn into compromises, while supported firewall rules can sync to Cloudflare for enforcement at the edge.

SiteFort’s cloud-assisted malware scanner verifies trusted files by hash and sends only unknown or suspicious files for deep threat analysis, keeping scans reliable even on shared and lower-resource hosting.

Security hardening, firewall protection, login security, 2FA, and vulnerability scanning are free forever.


**[Try the Live Demo](https://demo.securewp.net/)** | [Features](https://securewp.net/wordpress-security-plugin/) | [Try Online Scanner](https://securewp.net/security-checker/)

### Core WordPress Security Features

* **WordPress Security Hardening:** Reduces common exposure through XML-RPC, user enumeration, sensitive files, direct PHP execution, REST access, security headers, and other WordPress security controls.
* **Firewall & Bot Protection:** Blocks vulnerability probes, abusive requests, malicious traffic, and unwanted automation with IP, country, rate limiting, and configurable bot controls. Supported rules can also sync to Cloudflare for edge enforcement.
* **Login Security & 2FA:** Protects WordPress login, WooCommerce customer accounts, and membership account access with two-factor authentication, CAPTCHA, brute-force lockouts, a custom login URL, breached-password checks, and password policies.
* **Vulnerability Scanner:** Checks WordPress core, plugins, and themes for known vulnerabilities, affected versions, severity, CVE references where available, and remediation guidance.
* **Cloud-Assisted Malware Scanner:** Detects backdoors, web shells, injected code, malicious redirects, SEO spam, and suspicious file changes, with deep threat analysis in the cloud to reduce server load.
* **Compromise & Reputation Checks:** Detects suspicious administrator accounts, injected content, unsafe URLs, exposed sensitive files, malicious redirects, and domain or server reputation issues.

### WordPress Security Hardening

SiteFort provides simple, toggle-based WordPress hardening controls to reduce common security exposure and shrink the attack surface.

* **Sensitive File Protection:** Blocks public access to WordPress configuration backups, database dumps, debug logs, backup files, installer files, and other sensitive resources, including exposed `.env` or `.git` data when present.
* **PHP Execution Protection:** Blocks PHP execution in uploads and restricts direct access to PHP files in plugin and theme directories.
* **XML-RPC Controls:** Disable XML-RPC, restrict authentication, or block pingback abuse.
* **User Enumeration Blocking:** Reduces username exposure through author archives, REST endpoints, and common discovery paths.
* **REST & Application Password Controls:** Restricts REST API access and controls WordPress Application Passwords based on site requirements.
* **File Editor Protection:** Disables the built-in WordPress theme and plugin file editor.
* **Directory Browsing Protection:** Disables directory listing to reduce file discovery and unintended information exposure.
* **Security Headers:** Analyze and manage CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, and disclosure headers.
* **Version & Metadata Cleanup:** Reduces exposed WordPress version, generator, and header information.
* **Protection Verification:** Confirms supported hardening protections are active and identifies items that require manual hosting or server configuration.

### WordPress Malware Scanner

SiteFort combines hash-first file verification with cloud-assisted deep threat analysis to detect malware while reducing scan workload on the WordPress server.

* **Hash-First File Verification:** Known WordPress core, plugin, and theme files are verified against trusted hashes.
* **Deep Threat Analysis:** Files that cannot be verified by hash or show suspicious indicators are sent to the SiteFort cloud for deep threat analysis, including backdoors, web shells, injected PHP or JavaScript, malicious redirects, SEO spam, and obfuscated code.
* **File Integrity:** Detects modified WordPress core, plugin, and theme files, along with unexpected files that do not belong in trusted packages.
* **Account & Content Checks:** Checks administrator accounts, WordPress content, options, URLs, and redirects for suspicious changes and indicators of compromise.
* **Sensitive File Exposure:** Identifies publicly accessible backups, logs, configuration files, debug files, and other sensitive files commonly targeted by attackers.
* **Domain & IP Reputation:** Checks the site domain and server IP against supported blocklists and abuse intelligence.

Database and content checks run on the protected site and are not uploaded to the SiteFort cloud.

### Login Security & 2FA

SiteFort protects WordPress login and account access against brute-force attacks, credential abuse, and unauthorized access.

* **Brute-Force & CAPTCHA Protection:** Limits repeated login attempts and adds CAPTCHA protection to WordPress, WooCommerce, and supported custom login and registration forms.
* **Two-Factor Authentication:** Adds role-based 2FA with authenticator apps, email codes, recovery codes, grace periods, and trusted devices.
* **WooCommerce & Membership 2FA:** Lets customers and members manage 2FA from WooCommerce My Account or supported custom account pages.
* **Custom Login URL:** Move the WordPress login page to a private URL and control requests to the default `wp-login.php` address.
* **Password Security:** Detects weak and breached passwords, enforces password strength, prevents reuse, and supports optional expiration policies.

### WordPress Firewall

SiteFort filters malicious and abusive traffic early, with clear controls for IPs, countries, rate limits, sensitive paths, bots, and optional Cloudflare edge enforcement.

* **IP, CIDR & Country Rules:** Block or allow individual IP addresses, CIDR ranges, and countries, including an allow-only mode.
* **Sensitive Path Probe Protection:** Blocks requests probing for commonly targeted sensitive paths, including WordPress configuration backups, database dumps, debug logs, installer files, `.env`, and `.git`.
* **Rate Limiting & 404 Controls:** Reduces abusive request bursts, repeated missing-page requests, and automated scanning activity.
* **Bot & User-Agent Controls:** Block or allow selected bots, crawlers, scanners, and user agents with configurable firewall rules.
* **Community Threat Intelligence:** Blocks known malicious IPs identified across the SiteFort network, helping stop repeat bad actors before they reach the site.
* **Vulnerability Probe Protection:** Blocks automated requests searching for vulnerable plugins, themes, backup files, and configuration leaks.
* **Cloudflare Sync:** Synchronizes supported IP, country, and user-agent rules to Cloudflare, with temporary edge blocks for repeat attackers where supported.
* **Traffic Log:** Review firewall traffic, blocked requests, bot activity, rate-limit events, and rule matches from the firewall dashboard.

### Bot Protection Policy

SiteFort provides three bot protection presets for straightforward setup, with the option to allow or block specific bots and crawlers individually.

* **Basic:** Blocks known hacking tools and bots probing for vulnerable files and common attack paths.
* **Balanced:** Adds protection against scraping bots and automated scripts. Recommended for most WordPress sites.
* **Maximum:** Extends filtering to unrecognized bot traffic for sites that require stricter automation controls.
* **AI Training Crawlers:** Optionally block training-focused crawlers such as GPTBot, ClaudeBot, CCBot, and Bytespider while supported AI assistants and AI search crawlers remain allowed.

Supported search crawlers are verified using reverse DNS and published IP ranges and are allowed through bot protection, while bots impersonating known search engines are detected and blocked.

### Vulnerability Scanner

SiteFort checks installed WordPress core, plugins, and themes against vulnerability intelligence and identifies affected versions, severity, and available remediation.

* **Affected Components:** Identifies vulnerable WordPress core, plugins, and themes with installed versions, severity, and CVE references where available.
* **Fix Guidance:** Shows fixed versions and recommended actions when remediation information is available.
* **Vulnerability Probe Protection:** Firewall controls block automated discovery attempts targeting vulnerable plugins, themes, and known component paths while affected software is being updated, replaced, or removed.

SiteFort does not virtually patch vulnerable code. Vulnerable components should be updated, replaced, or removed using the available remediation guidance.

### Malware Repair & Quarantine

* **Delete or Quarantine (Free):** Remove malicious or unwanted files from scan results, with optional quarantine for recovery when needed.
* **One-Click Repair (Pro):** Repairs malicious or modified files directly from scan results when a trusted clean source is available.
* **Clean-File Restore (Pro):** Restores supported WordPress core, plugin, and theme files, including selected commercial plugins and themes when verified clean sources are available.

*For active WordPress compromises requiring hands-on investigation, [Securewp expert cleanup](https://securewp.net/wordpress-malware-removal/) is available for malware removal, root-cause remediation, blocklist assistance, and post-cleanup review.*

### WordPress Security Audit Log

SiteFort records important security and administrative activity, providing a clear history for review and investigation.

* **Login Activity:** Successful and failed logins, lockouts, 2FA events, and account-related activity.
* **User Changes:** User creation, updates, role changes, and other account actions.
* **Plugin & Theme Activity:** Installations, activations, deactivations, updates, and other recorded changes.
* **Security & Settings Changes:** Hardening, login security, firewall configuration, and other sensitive administrative changes.

### SiteFort Console

SiteFort Console provides a central panel for managing security across multiple WordPress sites. No separate add-on is required; Console connectivity can be enabled or disabled directly from the SiteFort plugin.

* Run security scans and review findings across sites.
* Monitor vulnerabilities and update hardening settings remotely.
* Review security status, scan history, uptime, and SSL expiry.
* Route alerts and download reports for individual sites or clients.
* Manage team access and support workflows from one place.

All site-level security features remain available directly in WordPress; Console adds centralized management for multiple sites.

### Hosting Compatibility

SiteFort supports shared hosting, managed WordPress hosting, VPS, and dedicated servers across Apache, Nginx, and LiteSpeed.

* **Cloudflare:** Works with Cloudflare-proxied sites and supports optional firewall rule sync for edge enforcement.
* **Lower-Resource Hosting:** Hash-first file verification and cloud-assisted deep analysis reduce scan workload on the hosting server.
* **Flexible Server Support:** Does not require a specific web server stack or managed hosting environment.

### Free vs Pro

**SiteFort Free** includes security hardening, firewall and bot protection, login security and 2FA, vulnerability scanning, activity logging, and 3,000 monthly cloud scan credits. Pro removes the cloud analysis limit and adds automation, repair, monitoring, alerts, and reporting.

**SiteFort Pro adds:**

* Unlimited deep threat analysis
* Scheduled malware scans and automated vulnerability alerts
* One-click malware repair and clean-file restore
* Uptime and SSL expiry monitoring
* Slack, Discord, email, and webhook alerts
* Remote scan history and detailed security reports
* White-label options for agencies

**Managed** adds hands-on monitoring, incident response workflows, and expert cleanup coverage from the Securewp team.

See the [WordPress Security Plugin Comparison](https://securewp.net/wordpress-security-plugin-comparison/) for a feature-by-feature comparison with other WordPress security plugins.

== Installation ==

1. Install and activate SiteFort from **Plugins > Add New**, or upload the plugin ZIP file.
2. Open **SiteFort** in wp-admin and complete the setup wizard.
3. Optional: activate with an email address or license key to enable cloud-assisted scanning, vulnerability intelligence, and community threat data.
4. Review the recommended hardening, firewall, bot protection, login security, and 2FA settings.
5. Run the first security scan and review the findings.
6. Optional: connect Cloudflare from **Settings > Integrations** for supported edge firewall rules.

For manual installation, upload the extracted `sitefort` folder to `/wp-content/plugins/` and activate SiteFort from the **Plugins** screen.

*SiteFort requires outbound HTTPS for license activation, cloud-assisted scanning, threat intelligence updates, and optional Console sync.*

== Frequently Asked Questions ==

= Can I try SiteFort before installing it? =
Yes. A disposable WordPress demo with SiteFort preinstalled is available at https://demo.securewp.net/. No signup or installation is required, and the demo resets when the session ends.

= Does SiteFort support WooCommerce, membership sites, and custom login pages? =
Yes. When SiteFort 2FA and WooCommerce are enabled, customers can manage two-factor authentication from My Account → Account security. SiteFort can also add 2FA management to membership sites, LMS dashboards, client portals, and other custom account pages. CAPTCHA protection supports WooCommerce login and registration and can also be added to supported custom login and registration forms. See the [SiteFort hardening documentation](https://securewp.net/docs/hardening/) for custom integration details.

= How does the SiteFort malware scanner work? =
SiteFort verifies known files by hash and sends only unknown or suspicious files for deeper cloud analysis. This reduces scan workload on the hosting server while still providing deep threat analysis for files that require it. Database and content checks remain on the protected site.

= Does SiteFort send WordPress database content to the cloud? =
No. Database and content checks run on the protected site. File hashes are sent first, and only files that cannot be verified by hash may be uploaded for deeper analysis. If `wp-config.php` requires analysis, sensitive configuration values are removed before upload.

= Will SiteFort bot protection affect Google or other search engines? =
SiteFort can verify supported search crawlers using reverse DNS and published IP information where available. This helps distinguish legitimate crawlers from requests impersonating known search engines.

= Does SiteFort support Cloudflare? =
Yes. SiteFort supports Cloudflare-proxied WordPress sites and can synchronize supported IP, country, and user-agent firewall rules using a scoped API token.

= Does SiteFort support country blocking? =
Yes. Country rules support both block-selected and allow-only modes. Country detection can use Cloudflare country information on proxied sites or a locally installed MaxMind GeoLite2 database.

= Does SiteFort virtually patch vulnerable plugins or themes? =
No. SiteFort identifies known vulnerabilities and provides affected-version, severity, CVE, and remediation information where available. Firewall controls can reduce automated discovery attempts while vulnerable software is updated, replaced, or removed.

= Can SiteFort help with an already compromised WordPress site? =
Yes. SiteFort can identify malware, suspicious administrator accounts, injected content, exposed files, and other indicators of compromise. Free includes file quarantine, while Pro adds one-click repair and clean-file restore for supported files. Securewp expert cleanup is also available for incidents requiring hands-on investigation.

= Is SiteFort suitable for shared or managed WordPress hosting? =
Yes. SiteFort supports shared hosting, managed WordPress hosting, VPS, dedicated servers, Apache, Nginx, LiteSpeed, and Cloudflare-proxied environments. Hash-first verification and cloud-assisted deep analysis help reduce scan workload on the hosting server.

= Is SiteFort Console required? =
No. Site-level security features are available directly from the WordPress dashboard. SiteFort Console is optional for centralized multi-site visibility, reporting, alert routing, uptime and SSL monitoring, and team workflows.

= Is license activation required to use SiteFort? =
No. SiteFort can be used without license activation for security hardening and other local core protections. A license is required for cloud-assisted malware scanning, vulnerability intelligence, and the community threat feed.

= How is SiteFort Pro activated? =
Open **SiteFort > Settings > License and Plan** and activate using the email address associated with the purchase or a license key. An existing free license associated with the same email upgrades in place.

== Screenshots ==

1. **WordPress Malware Scanner:** Scan progress and findings across files, malware, accounts, content, reputation, vulnerabilities, and remediation actions.
2. **Firewall & Bot Protection:** Bot policy presets, rate limiting, community threat intelligence, and Cloudflare Sync.
3. **Firewall Rule Builder:** IP and CIDR rules, country blocking, bot controls, and user-agent rules.
4. **Login Security:** Custom login URL, brute-force protection, CAPTCHA, and password security controls.
5. **Two-Factor Authentication:** Role-based 2FA, authenticator app setup, email codes, and recovery codes.
6. **Server-Side Hardening:** Sensitive file protection, PHP execution controls, XML-RPC controls, and server-side security settings.
7. **WordPress Hardening:** REST API controls, user enumeration protection, Application Password controls, and file editor protection.
8. **Vulnerability Scanner:** Vulnerable WordPress core, plugins, and themes with severity, CVE references, and remediation guidance.
9. **Security Headers:** Analysis and configuration of supported HTTP security headers.
10. **Security Audit Log:** Login activity, administrative changes, firewall events, scan results, and security findings.
11. **SiteFort Console:** Multi-site security status, scans, vulnerabilities, alerts, reports, uptime, SSL monitoring, and team workflows.

== External services ==

SiteFort uses external services only for features that require them, including license activation, cloud-assisted malware analysis, vulnerability and firewall intelligence, reputation checks, optional Console sync, CAPTCHA, GeoIP, Cloudflare Sync, and administrator-configured notifications.

Optional integrations are not contacted unless they are enabled or used.

= SiteFort Cloud =

* **Servers:** securewp.net, intel.securewp.net, console.securewp.net
* **Used for:** License activation, service metadata, cloud malware analysis, vulnerability intelligence, firewall intelligence, reputation checks, community blocklist sync, clean-file repair, and optional Console sync.
* **Data sent:** Email address, license key or token, site URL, WordPress and plugin versions, installed plugin and theme names and versions, file hashes, scan results, vulnerability findings, reputation status, firewall metadata, blocked IP addresses, and security configuration metadata.
* **Malware scanning:** File hashes are sent first. Only unknown or suspicious files may be uploaded for deeper analysis and are deleted after processing. Database and content checks run on the protected site and are not uploaded to the SiteFort cloud. If `wp-config.php` requires analysis, sensitive configuration values are removed before upload.
* **Temporary storage:** SiteFort Cloud may return temporary `*.amazonaws.com` upload or download URLs for malware analysis or clean-file repair.
* **Privacy:** https://securewp.net/privacy-policy/
* **Terms:** https://securewp.net/terms-and-conditions/
* **Storage provider policies:** AWS privacy https://aws.amazon.com/privacy/ and terms https://aws.amazon.com/service-terms/; Cloudflare privacy https://www.cloudflare.com/privacypolicy/ and terms https://www.cloudflare.com/website-terms/

= Optional integrations =

* **MaxMind GeoLite2** (download.maxmind.com): Used only when an administrator downloads or updates the local GeoIP database. The configured MaxMind account ID and license key are sent to MaxMind. Visitor IP addresses are resolved locally and are not sent to MaxMind during normal requests. Privacy: https://www.maxmind.com/en/privacy-policy Terms: https://www.maxmind.com/en/geolite2/eula

* **Have I Been Pwned Passwords** (api.pwnedpasswords.com): Used for breached-password checks when enabled. SiteFort sends only the first 5 characters of the SHA-1 password hash. Full passwords and full hashes are not sent. Privacy: https://haveibeenpwned.com/Privacy Terms: https://haveibeenpwned.com/TermsOfUse

* **Google reCAPTCHA** (www.google.com) and **Cloudflare Turnstile** (challenges.cloudflare.com): Used only when selected and configured for CAPTCHA protection. The selected provider receives the challenge token, site key, and visitor or browser data required to process the challenge. Policies: https://policies.google.com/privacy https://policies.google.com/terms https://www.cloudflare.com/turnstile-privacy-policy/ https://www.cloudflare.com/website-terms/

* **Cloudflare API** (api.cloudflare.com): Used only when Cloudflare Sync is enabled. SiteFort sends the Zone ID, API token or credentials, zone details, blocked IP addresses, country rules, selected user-agent rules, and firewall rule data required for synchronization. Privacy: https://www.cloudflare.com/privacypolicy/ Terms: https://www.cloudflare.com/website-terms/

* **Notification webhooks:** Security alerts may be sent to Slack (hooks.slack.com), Discord (discord.com, discordapp.com), or a custom HTTPS webhook configured by the administrator. Payloads may include site name, site URL, event type, severity, scan counts, vulnerability names, CVE identifiers, firewall counts, usernames, IP addresses, browser names, action URLs, timestamps, and event details. Slack policies: https://slack.com/trust/privacy/privacy-policy https://slack.com/terms-of-service/user Discord policies: https://discord.com/privacy https://discord.com/terms

= Local site checks =

Some SiteFort checks send loopback requests to the protected site's own public URL, including security-header checks, public-file exposure checks, and homepage link collection. These requests contact the protected site itself, not a third-party service.

== Changelog ==

= 1.7.13 - 2026-08-21 =
- Improved CAPTCHA management with clearer provider status, form coverage controls, and console credential sync.
- Refined 2FA setup and account management, including email-verified recovery code renewal and clearer policy states.

= 1.7.12 - 2026-08-21 =
- Added CAPTCHA support for WooCommerce My Account login, registration, and supported checkout account-creation flows.
- Added CAPTCHA integration for custom frontend login and registration forms.
- Added 2FA setup and management to WooCommerce My Account → Account security.
- Added 2FA management support for membership, LMS, client portal, and custom frontend account pages.
- Improved custom login URL compatibility across login, registration, and password reset flows.

= 1.7.11 - 2026-08-14 =
* Fixed WordPress and the early firewall resolving different visitor IPs behind CDNs, proxies, and load balancers.
* Explicit administrator IP-source choices are now honored exactly, with warnings instead of silently selecting another source.
* Conflicting forwarding headers now pause local blocking until the visitor IP source is verified.
* Improved automatic detection across rotating or unlisted CDN edges while retaining strict validation for provider and trusted-proxy decisions.
* IP verification now runs on any activated license, repeats daily, and covers all subsites on a domain.

= 1.7.10 - 2026-08-07 =
* Choosing a proxy header now takes effect on its own. It previously needed a matching trusted proxy range, and was ignored without one.
* Behind a CDN, the firewall no longer treats the CDN's address as the visitor. It pauses and asks which address is the real one.
* The proxy or CDN address through which traffic reaches the site can no longer be added to the blocklist.
* The 7-day dashboard chart was leaving out firewall blocks.

= 1.7.9 - 2026-08-05 =
* Visitor IPs are now detected automatically behind a local proxy, load balancer, or Cloudflare, instead of leaving the firewall paused.
* When detection still needs a decision, the Advanced tab shows the problem and a one-click fix.
* A paused firewall is easier to spot, with a warning icon and an amber toggle.
* An expired login session now explains what happened and how to recover, instead of showing a raw "Cookie check failed" error.

Earlier releases are listed in changelog.txt inside the plugin.

== Upgrade Notice ==

= 1.7.13 =
Improves CAPTCHA management and streamlines 2FA setup, recovery codes, and account controls.
