GoBuildWP

Security pluginsFree + Pro

Solid Security MCP for lockouts, host bans, hardening and site scans

Solid Security MCP access, for the plugin formerly called iThemes Security and now published as Kadence Security, spans modules with separate configuration. GoBuildWP Free reads reported protection and lockouts. Pro can ban/unban a host, request the vendor's site scan and apply a reviewed hardening plan. Supported setting changes have recovery; a scan request cannot be undone, and vendor-side results require separate verification.

AI clientyour-site.comVerify site policy

Show me this week's lockouts, including lifted ones. Propose an exact address or range for owner review before any ban.

  1. wppilot/security-lockoutsRead

    With include_expired, lists lockouts including lifted ones; one network appears on most days.

  2. wppilot/security-plugin-statusRead

    Confirms Solid's ban lists are on, which the ban needs.

  3. wppilot/security-block-ipConfirm first

    With confirm: true, bans that range in Solid with a reason, after checking it is not this request's address or the server's.

Proposed sequence from source declarations; not a recorded task or proof of client compatibility. Inspect saved state and browser or provider results separately.
Edition
Free 3 + Pro 5
Abilities
8
Requires
WordPress 6.9+, PHP 8.0+

What Solid Security records

The Solid Security setting that looks on and is not

On a fresh install Solid Security shows brute-force protection as enabled, but it does not run until an IP detection method has been chosen. The status reports that, and the hardening plan sets detection to the connecting address only when the request carried no proxy or CDN header and that address is not locked out; behind a proxy it reports the header it saw and leaves the choice to you.

The plan also turns on the firewall and local brute-force modules, allows five attempts per IP and ten per user with a stricter value kept, bans repeat offenders, and auto-bans "admin" only when no account uses it. Each setting is saved through Solid's own storage before the checks run, and a newly failing check triggers an attempt to restore the changed settings. Inspect rolled_back or rollback_failed and verify access; a failed restore needs immediate attention.

A ban is permanent in Solid, so the unblock and the change log are how it comes off. Ranges wider than /16 (IPv4) or /32 (IPv6), this site's own addresses and the address making the request are refused. IPs come back as /24 or /48 networks, usernames as user ids or a masked form, and email addresses are removed from anything Solid stored.

Abilities

The security abilities against Solid Security

AbilityWhat it does hereUndo and limits
security-plugin-statusFreeVersion, whether it is Pro, which firewall and brute-force modules are active, whether an IP detection method is configured, scan schedule and result, active lockouts and two-factor settings.Read-only. The network brute-force key is only checked for being present.
security-scan-findingssecurity-lockoutsFreeOpen site-scanner results by severity; lockouts, bans and rate limits, with lifted ones included on request.Read-only. Email addresses are stripped from anything Solid stored, and IPs are shortened to their network.
security-harden-plansecurity-apply-settingsProPlans module activations and settings with reasons and warnings; apply turns modules on through Solid, saves, reads each value back and runs the loopback checks.Needs confirm and a current plan_id. Two-factor stays report-only, since requiring it by role is a Pro setting and Solid's Application Password controls can cut off MCP.
security-block-ipsecurity-unblock-ipProAdds a ban for one host or range with a reason, or lifts the ban on exactly that host or range.Solid bans do not expire, so the unblock or an undo from the change log is how one comes off.
security-run-scanProAsks Solid's cloud to scan the site and reports whether it ran.Fails for a site the cloud cannot reach over the public internet, such as a local copy or a staging copy behind a login, VPN or IP allowlist.

Shared module across these plugins; do not add this count across them. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.

Data model

Modules, settings and ban lists

Solid organises everything as modules that are active or not, each with its own settings, read and written through ITSEC_Modules. Solid normally saves settings at the end of a request; the abilities force that save before running their checks, so a rollback sees what was really stored. Lockouts come from Solid's lockout records, which keep lifted ones as well as current ones.

Bans are hosts in the ban-users module's database repository, used only while Solid's ban lists are switched on. Site scan results and known vulnerabilities come from the site scanner's repositories, filled by Solid's cloud service rather than by the site itself.

Worked example

Banning a network that keeps returning

Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.

Solid refuses the network from now on, with the reason visible in its screens. The ban can be lifted with security-unblock-ip or undone from the change log.

Require an exact owner-reviewed address or range and assess collateral access before a ban. A recurring masked log entry is not sufficient targeting evidence.

  1. security-lockouts

    With include_expired, lists lockouts including lifted ones; one network appears on most days.

  2. security-plugin-status

    Confirms Solid's ban lists are on, which the ban needs.

  3. security-block-ip

    With confirm: true, bans that range in Solid with a reason, after checking it is not this request's address or the server's.

Limits

What the Solid module leaves to the owner

  • Use a synthetic host target and retain independent administrator and file access. Range guards and loopback probes do not prove no lockout. Check public login, API and critical routes separately. Treat a scan as requested or queued until vendor results are read.
  • Network brute-force protection is only switched on when Solid already holds its network key; the module never registers an email to get one.
  • Hiding the login page, country blocking and disabling XML-RPC or REST for signed-in users are never offered.
  • Ranges wider than /16 for IPv4 or /32 for IPv6 cannot be banned.
  • Scans run on Solid's cloud, so results depend on the site being reachable from the internet.

IP detection after a CDN, plan outcomes and a weekly review

Putting Cloudflare in front of a site the Solid Security MCP already hardened

The IP detection setting the hardening plan chooses is right for the site as it is today, and it can turn harmful later. When the plan sees a request with no proxy or CDN header, it sets Solid's detection so the connecting address is taken as the visitor's own. If the site is later moved behind Cloudflare, a load balancer or another proxy, every visitor arrives from the proxy's addresses. Solid then counts everyone's failed logins against those few addresses, and one lockout can block every visitor at once.

So a CDN change and a Solid change belong in the same ticket. Before switching DNS, set Solid's IP detection to manual with the header your proxy sends, in Solid's own settings. Afterwards, security-plugin-status shows the detection method Solid is using, and security-lockouts shows whether new lockouts are spread across real visitor networks or piled on one range that belongs to the proxy.

Reading the outcome of security-apply-settings on Solid

The apply call recomputes the plan rather than trusting one sent back to it, and refuses when plan_id no longer matches. That happens when someone changed a Solid setting between the plan and the approval. Ask for a fresh plan instead of retrying. Once it runs, each setting is saved through ITSEC_Modules and read back, and applied[].verified says whether it stuck.

Three outcomes matter. A clean apply returns one change_id that undoes every setting together with rollback-change. rolled_back means a loopback check that passed before failed afterwards, for example the MCP endpoint stopped accepting an application password sign-in, so every setting was put back at once and the reason is given. rollback_failed is the one to act on immediately: the plan could not restore what it changed, and the settings need checking in Solid's screens straight away.

A weekly Solid Security review on GoBuildWP Free

Three read-only security abilities are part of GoBuildWP Free, which is enough for a routine check. security-plugin-status gives the module states, whether IP detection is configured and when Solid's cloud last scanned. security-scan-findings lists open site scanner results by severity, leaving out anything the owner muted. security-lockouts with include_expired shows the week's lockouts, bans and rate limits, including lifted ones, up to two hundred at a time.

Usernames in that log come back as a user id when the account exists and masked otherwise, which is how to tell an attack on a real editor's account from guesses at names that do not exist. A run of masked attempts is guessing at names that do not exist here, which Solid has been locking out; it is still worth watching for volume and source networks, because a lockout record does not prove the attempts stopped. Repeated lockouts for one real user id is a reason to talk to that person about their password and two-factor. The review runs under the Read Only safety profile, and a Pro licence is needed only when you want the agent to ban, unblock, scan or apply settings. How GoBuildWP secures the MCP connection explains the profiles, and the Wordfence page covers the same abilities against Wordfence.

  • "Read only: summarise this week's Solid lockouts by network and by real user id."
  • "Plan Solid hardening for this site and tell me which settings you would leave alone and why. Apply nothing."
  • "We are moving to Cloudflare next week. What does Solid's IP detection say now, and what will I need to change?"

Questions

Solid Security questions

Is this the same plugin as iThemes Security or Kadence Security?

Yes. The better-wp-security plugin was iThemes Security, then Solid Security, and is now published as Kadence Security. The abilities read and write it under any of those names.

Why does Solid say brute-force protection is on when it is not working?

It needs an IP detection method before it runs. The status, available in GoBuildWP Free, reports whether one is set; Pro's plan sets it only when that can be done safely from the request it sees.

Can the AI make two-factor mandatory in Solid Security?

No. It reports two-factor settings but does not change them, because role-based requirements are a Pro setting and the related Application Password rules could disconnect the MCP client.

Why did Solid's site scan fail on my staging site?

The scan runs on Solid's servers, which must be able to reach the site over the public internet. A local copy cannot be scanned, and neither can a staging copy behind a login wall, VPN or IP allowlist; a staging site that is publicly reachable can be.

Where these facts come from

GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.

Solid Security is a separate product; no partnership or endorsement is implied.

Try it on Solid Security in Read Only first