Configuring Sucuri Security for WordPress: audit, WAF, hardening

WordPress sites more often suffer not from targeted attacks but from unpatched updates and weak access rules. We provide turnkey protection: audit, traffic filtering, rules, and policies for your team. After configuration, manual incident triage is reduced several times over.

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Frequently Asked Questions

Sucuri Security setup: where WordPress protection breaks

A failure rarely looks like “the site is hacked”: first response time grows, the web server returns 502 at peak, and the logs show thousands of identical requests from a single address.

WordPress protection against hacking breaks not at the plugin installation stage, but at the setup stage: settings remain at defaults, filters are not tied to real site routes, and file checks do not run on schedule.

Sucuri Security in this state creates a feeling of protection without closing any of the four typical points of failure.

The first is parasitic traffic on the site. Automation hits search, cart, and checkout pages, where each request pulls a heavy database query, and the cache hardly serves such addresses.

Several dozen “visitors” consume resources designed for a live audience, and the site goes down at the moment a real customer arrives.

The built-in firewall passes such requests by default — they look like a normal user visit — so Sucuri Security setup begins with rate thresholds and restrictions on parameter-based queries.

The second and third are WordPress admin brute force and WordPress plugin vulnerabilities. Password guessing comes from distributed addresses and through service entry points, so a simple per-address limit does not stop it.

At the same time, abandoned extensions provide an easy entry: an outdated form handler, open file upload, code execution through a request parameter.

What matters here is that the service compares core and extension files against reference hashes — tampering is detected as it happens, not after client complaints.

The fourth is forms. Requests accumulate in the database, emails, and exports; with weak field validation, attackers try query injection through them, and open logs expose customer contacts and addresses.

Below we break down how this is closed: from filtering thresholds and two-factor login to version control and file check schedules.

What configured protection delivers: measurable effects for the site

Configured protection is measured not by the fact that a plugin is installed, but by numbers: how much traffic is cut off before processing, which attack classes are closed by rules, how quickly a tampered file is rolled back. We take metrics before and after setup — on Sucuri and on the server side.

Reduced load and cutting off parasitic traffic

Filtering happens at the perimeter, before the web server and database: scrapers, password guessing, and vulnerability scanners are repelled by address reputation and behavioral rules. Parasitic flow drops severalfold, peak CPU load decreases, and pages are served faster.

Closed vulnerability classes in plugins and themes

Most hacks come through outdated extensions. An application-level firewall closes typical vectors: code injection, access to files outside the directory, request forgery.

Rules are updated centrally — the signature of a new attack class appears before a plugin security update is released.

File change control and notifications

Core, themes, and plugins are compared against reference checksums on a schedule: a discrepancy — a code edit, a new file in uploads, a configuration change — is sent as a notification with the exact path.

Instead of rare manual checks, you get continuous integrity control, and code tampering in a theme is visible within an hour.

Recovery speed after an incident

Recovery proceeds from the last clean point: files are rolled back, the database from a verified dump, accesses are rotated. Downtime is reduced from hours of manual investigation to tens of minutes, and the site returns to operation without losing positions.

Protection options: cloud filter, server-side protection, hybrid

The connection mode determines where a request is cut off — before the server or already inside the configuration — and how quickly a rule takes effect for all traffic.

This also determines the set of attacks that are stopped at the entrance and the scope of edits when changes are made on the site itself.

Option When it fits Limitations
Cloud traffic filter Public site with external flow, need filtering before the application and protection during spikes Traffic goes through an external node: switching through the filter changes the route, and some service paths require exceptions
Server-side site protection Closed perimeter, integrations via internal addresses, strict requirements for the data route Filtering falls on the server itself: during a spike, load grows along with the attack
Hybrid scheme Need filtering at the entrance and local rules for critical scenarios Two levels of rules must be synchronized, otherwise requests are cut off twice or bypass inspection

When a cloud filter is more advantageous than server-side protection

It is justified when the site is public and cutting off before the application matters: an attacking request does not reach the code, and switching traffic through the filter takes minutes and does not require editing the server configuration.

During a spike, the filter absorbs it, the server serves only clean requests — response time for visitors stays steady.

The main limitation of cloud protection is dependence on an external route: local services and service addresses have to be removed from under the filter with separate rules.

When targeted configuration hardening is enough

If the site is closed to external access or integrations go through fixed addresses, the cloud layer adds an extra route. Then we harden the server side: file permissions, disabling unused entry points, request rate limiting, core and extension updates.

We configure the scheme with an entrance filter on Sucuri when the perimeter is open to the outside.

Setup stages: from vulnerability audit to handover of regulations

The order of work is fixed: first understand what is actually attackable, and only then enable blocking. If you mix up the order, filtering cuts off forms, search engine bots, and admin login — the site gets a failure instead of protection.

Below is the sequence followed when setting up Sucuri Security from the first snapshot to handover of regulations.

Audit and vulnerability map

  1. We take an inventory: core, theme, and extension versions, form entry points, file permissions, open directories, backup availability. This is a WordPress vulnerability audit — a list of what can generally be used against the site.

  2. We compare the composition against a database of known vulnerabilities and flag discrepancies: extensions without updates, modified core files, accounts with excessive privileges.

  3. We assemble a site protection work plan: what we close with filtering rules, what we fix in configuration, what we change at the server and access rights level.

Rule setup and false positive testing

  • We enable filtering rules first in observation mode: the system writes what it would have blocked but stops no one. This shows the real traffic profile rather than guesses about it.

  • We review protection false positives from the log — checkout, account area, search engine bot crawling — and add targeted exceptions instead of disabling entire rule groups.

  • Post-setup protection testing: we run control requests, make sure legitimate traffic reaches the application, and hand over regulations — how to act during a block and how to change rules.

What stays with you: rules, configurations, and instructions

After Sucuri setup, everything we change in the site configuration stays with you as editable files and instructions. You can hand them over to another contractor or continue on your own without closed panels and “black boxes” available only to us.

Filtering rules and exception lists

  • traffic filtering rules: what is blocked immediately, what goes for inspection, and at what threshold a response to a request spike is triggered;
  • protection exception lists: office networks, payment services, search engine service bots — so the filter does not cut off legitimate requests;
  • WordPress admin access policies: two-factor authentication, address-based login restriction, separation of editor and administrator roles;
  • traffic routing schemes: what goes through the external filter, what is served directly;
  • plugin and core update regulations: frequency, testing on a staging environment, rollback procedure;
  • configuration change log with dates and authors of edits.

Regulations and instructions for content managers

  • a memo for editors: which actions in the admin panel are considered suspicious and where to report them;
  • procedure for installing new plugins: who approves and when the change reaches the production site;
  • rules for uploaded files: allowed formats and checking before publication;
  • restoring access if the filter has blocked an account;
  • contacts of responsible persons and response time if a hack is suspected.

Site protection documentation is updated with every configuration change. When an engineer or contractor changes, you see not “some settings are in place” but the full picture — what is enabled, why, and how to verify it.

Case study: removed parasitic traffic and closed plugin holes

A corporate WordPress site with a product catalog and request form: after updating the theme and several plugins, it slowed down and some pages dropped out of search.

They came with the wording “the site works, but there are no requests” — while reviewing logs, a second, more serious problem was found: an attempt to exploit a vulnerability in one of the plugins.

The site was restored from a backup, the entry point was recorded, and instead of spot patches we assembled a protection perimeter on Sucuri: request filtering rules, file integrity control, notifications about any edits.

Measurements were taken from the same sources before and after — so the effect could be seen, not just described.

What it was before and what it became after

  • share of bot traffic in logs: about 70% → 9%, login address guessing and requests to service paths stopped reaching the application;
  • open plugin vulnerabilities: 14 → 0 — unsupported ones were replaced, the rest updated with theme compatibility checks;
  • reaction time to file changes: on average two days → minutes, the notification arrives immediately after an edit and records exactly which file changed;
  • recovery after an incident: several hours of manual assembly → tens of minutes from a verified copy.

After a month of observation, not a single attempt to upload third-party files succeeded, and the pages that had dropped out of search returned to the index.

Parasitic traffic left along with the load: the server stopped working on login address guessing, and the catalog response time returned to its previous level.

How does a cloud traffic filter differ from server-side protection?

A cloud filter, as in Sucuri, sits outside your server: the site address points to the provider’s nodes, and a request first goes there and only then to the origin.

Server-side protection works inside the web server: the request reaches the machine, is checked by rules, and only then is a response returned.

The difference in protection architecture determines what the filter sees at the entrance. The provider’s node parses the request before the application — method, path, headers, body, client address — but does not know the session, user role, or database contents.

The module on the server sees the application context and therefore more accurately distinguishes a real client from an imitation.

Caching in the cloud scheme lives at the edge: static files and pages without personalization are served without reaching the origin, so the server stops being a bottleneck. Internal cache reduces database queries, but the request itself has already consumed machine resources.

The cloud filter closes access to the admin panel before the request reaches the site: the login page opens only from allowed addresses or after additional verification, and the rest is cut off at the edge. Server rules here are a second layer; they do not prevent guessing through the login form.

Under overload, behavior differs most strongly. The cloud takes the flow onto itself, cuts it by per-address thresholds, and passes only the part that got through — the site remains available.

Server-side protection must first accept the connection in order to reject it: the channel and resources are occupied, and ordinary visitors suffer.

Technical doubts before connecting protection

External protection stands between the visitor and the server, so before enabling blocking modes the engineer answers four questions: will response time change, will the rules start cutting off live clients, what will happen to the cache, and how to roll back if the solution does not fit. Below are the answers we give before starting Sucuri setup on a project.

The order of work is the same everywhere: first observation, then blocking. This removes most of the risks — the filter writes a log for several days, we label events, and only then switch the rules to active mode.

Will protection setup slow down the site?

The request is processed at an intermediate layer that keeps static files and typical responses in its cache, so response time usually does not grow, and on “cold” requests it changes within the margin of error.

We take measurements before and after on the same pages and show the difference in the report — if the increase is noticeable, we adjust the list of checked paths.

Will there be false blocks of real clients?

While the rules work in observation mode, we collect triggers on forms, checkout, and account login, compare them against the addresses of search engine bots, payment, and corporate networks, and add them to exceptions. Blocking is enabled only after disputed sources are processed, so live visitors are not denied.

Can protection be installed on a live site?

Yes, work proceeds on a live project: rules are added and tested gradually, and traffic is switched to the protected perimeter after a test run on a copy. The cart, authorization, and forms continue to work; downtime is not required.

How does this combine with caching and pages without rebuild?

Cache purging on the protection side and on the site side is synchronized; otherwise the visitor gets a stale response or lands on a check page. We link these mechanisms and separately test the behavior of dynamic sections.

How to remove protection if the solution does not fit?

The rule configuration and exception lists are exported and saved, addresses return to the previous scheme, and the cache is warmed up. Disabling proceeds step by step, without losing settings and without “residue” in the form of dangling redirects.

Let’s discuss the task: what data is needed for an estimate

For the site protection estimate to be based on facts rather than assumptions, a short set of inputs is needed.

The more accurate the initial data for the estimate, the fewer assumptions in the plan and the more realistic the protection setup timeline — including Sucuri Security setup. Below is the minimum that removes half the questions at once.

  • Domains and environments: production site, staging perimeter, subdomains with separate applications — protection is configured not “for everything at once,” but for each address.
  • Access: control panel administrator, hosting panel, DNS zone management, access to the server or its settings.
  • Site composition: control system core version, list of plugins and themes, which have not been updated for a long time, whether there are custom modifications.
  • Logs: web server records and login attempts for recent weeks — they show what has already been tried and what to close first.
  • Current protection: what is enabled now, which rules and exceptions are set, whether there is an intermediate server or load balancer in front of the site.
  • Backups: how often they are taken, where they are stored, whether restoration has been tested and how long it takes.
  • Regulations: maintenance window, priority scenarios, who on the customer side approves changes and accepts the work.

After that, we return with a site protection work plan, the procedure for enabling the request filter, and timelines — without “we’ll do everything at once.” A separate item is handing the project over to support: we record the rules, exceptions, and incident response procedure in documentation so that maintenance does not depend on one person. Describe the task in free form — we will return with an estimate and a plan.

Our competencies:

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1393
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1368
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1139
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1152
  • Website development for SBH Partners
    Website development for SBH Partners
    1231
  • Website development for Red Pear
    Website development for Red Pear
    641