Security Audit

Security Audit & Remediation for a Membership Society

A full audit of a members’ portal, its payment plugin and two servers — nineteen findings fixed and re-tested before the insurer’s renewal deadline.

View live demo Opens a working demo with sample content in a new tab.
Alder Membership Society demo on desktop and phone

On location

  • Stainless steel padlock, security protection — Alder Membership Society
    Stainless steel padlock, security protectionCC0 photo
  • Stainless steel padlock, security protection — Alder Membership Society
    Stainless steel padlock, security protectionCC0 photo
  • Stainless steel padlock, security protection — Alder Membership Society
    Stainless steel padlock, security protectionCC0 photo
  • Stainless steel padlock, security protection — Alder Membership Society
    Stainless steel padlock, security protectionCC0 photo
  • Barbwires Security — Alder Membership Society
    Barbwires SecurityPhoto: Nikolai Ulltang (CC0)

About the Project

This website security audit was commissioned by a national membership organisation whose cyber-insurance renewal asked for evidence of a recent, independent assessment. The members’ portal at the centre of the review held the personal details of 40,000 members and took subscription payments, yet it had been built by several agencies over eight years and nobody inside the society could say with confidence what was exposed.

We scoped, tested, fixed and re-tested the portal, its WordPress front site, the payment integration and both servers. Nineteen findings were identified, three of them critical, and every one was closed and verified before the insurer’s deadline. The final report was written for two audiences: trustees who needed a clear picture of risk, and developers who needed reproducible technical detail.

About the Client

The client is a national membership society with tens of thousands of members who log in to renew subscriptions, update their details and access member-only content. A small in-house team manages the website alongside many other responsibilities, relying on outside agencies for development work.

Over the years each agency had added features in its own way, with its own plugins and its own server changes. That history made the portal hard to reason about, and the insurer’s question — when was this last assessed? — had no good answer until this project.

Project Goals

  • Give the insurer credible, independent evidence of a recent security assessment.
  • Find out what was actually exposed across the application, the platform and the servers.
  • Fix every issue that put members’ personal data or payments at risk, starting with the most serious.
  • Prove each fix with a re-test rather than taking it on trust.
  • Leave the society with a repeatable process so new code and plugins are checked in future.

Project Overview

The Challenge and Our Solution

The Challenge

The society’s cyber-insurance renewal asked for evidence of a recent security assessment of its members’ portal, which held 40,000 members’ personal details and took subscription payments. The portal had been built by several agencies over eight years, and nobody could say with confidence what was exposed.

Our Solution

We agreed a scope covering the portal application, its WordPress front site, the payment integration and both servers, and tested against a staging copy with live-server configuration reviewed read-only. The audit found nineteen issues, including a critical one: any logged-in member could read another member’s profile by changing an ID in the address. We fixed the application issues, updated and firewalled the vulnerable plugin, moved the servers to key-only SSH with a hardened Nginx configuration, then re-tested every finding and produced a report the insurer accepted.

Scoping a Membership Portal Penetration Test

A useful audit starts with an agreed scope. Together with the society we listed every component that touched member data: the portal application, the WordPress site in front of it, the payment integration and the two servers they ran on. Testing took place against a staging copy, while live-server configuration was reviewed read-only, so members were never affected.

Working from a staging copy also meant we could explore more thoroughly. Findings that would have been risky to confirm on a live system could be demonstrated safely, which made the eventual report far more convincing to both the trustees and the insurer.

  • Application, CMS, payment integration and servers all in scope
  • Testing on staging; production configuration reviewed read-only
  • Methodology aligned with the OWASP Top 10

What the Audit Found

The audit identified nineteen issues. The most serious was an access-control flaw: a logged-in member could view another member’s profile by changing an identifier in the address bar. Because the portal held personal details for every member, this was the first priority for remediation.

Other findings were typical of a platform that had grown over time — an out-of-date payment plugin, password-based SSH access to the servers, missing security headers and a range of smaller configuration weaknesses. None of them was exotic, but together they described a portal that needed attention across every layer.

Remediation and Server Hardening

We fixed the application issues directly, adding ownership checks so members can only ever reach their own records. The vulnerable payment plugin was updated and placed behind a web application firewall, and both servers moved to key-only SSH with a hardened Nginx configuration, current TLS settings and security headers.

Every fix was then re-tested. Closing a finding meant demonstrating that the original issue could no longer be reproduced, not simply that a change had been deployed. All nineteen findings, including the three critical ones, were closed and re-tested within three weeks.

  • Ownership checks on every member record
  • Plugin updated and protected by a WAF
  • Key-only SSH, hardened Nginx, modern TLS and headers

A Report for Trustees and for Developers

A security report has to work for people with very different needs. Trustees and the insurer needed to understand the overall risk, what had been fixed and what remained, without wading through technical detail. Developers needed exact reproduction steps, affected components and the evidence behind each finding.

We wrote both: an executive summary in plain English and a technical appendix organised by finding. The insurer accepted the report, the renewal completed at the standard premium, and the society now runs a quarterly re-audit so new plugins and code changes are checked before they become the next finding.

Our Process

How We Delivered It

  1. Scope and Rules of Engagement

    Agreed the components in scope, the staging environment, read-only access to production configuration and the reporting format.

  2. Discovery and Testing

    Mapped the application and servers, then tested against the OWASP Top 10 with automated scanners and manual review.

  3. Prioritised Findings

    Rated each finding by impact and likelihood so the critical access-control issue was fixed first.

  4. Fix and Harden

    Remediated application code, updated and firewalled the plugin, and hardened both servers.

  5. Re-test and Report

    Re-tested every finding, wrote the two-audience report and set up a quarterly re-audit.

Key Features

What We Delivered

  • Application testing

    OWASP Top 10 coverage of the portal, with the access-control flaw demonstrated safely on staging.

  • Platform and plugin review

    Every WordPress plugin checked against known vulnerabilities; the payment plugin was three years out of date.

  • Server hardening

    SSH keys only, firewall rules, TLS configuration, security headers and automatic patching.

  • Report for two audiences

    An executive summary for trustees and the insurer, and reproducible technical detail for developers.

Outcome

Results and Impact

  • Nineteen findings, including three critical, all closed and re-tested within three weeks.
  • Insurer accepted the report; renewal completed at the standard premium.
  • Personal data of 40,000 members no longer readable across accounts.
  • A quarterly re-audit now runs so new plugins and code changes are checked.

Services

Services Behind This Project

The PHP & Laravel, WordPress, Security Audit & Penetration Testing expertise we used to build this security audit — and can bring to yours.

  • PHP & Laravel Development

    Laravel web applications, custom PHP development, admin panels, APIs and legacy PHP upgrades — secure, well-structured and easy to maintain.

  • WordPress Development

    Custom WordPress themes, plugins and WooCommerce builds that are fast, secure and genuinely easy for your team to manage.

  • Security Audit & Penetration Testing

    A structured security review of your website, application and servers — vulnerabilities found and fixed before someone else finds them.

  • Hacked Website Cleanup & Security

    Malware removed, the entry point closed, blacklists cleared and the site hardened so it does not happen again — usually within a day.

FAQ

Frequently Asked Questions

What is the difference between a security audit and a penetration test?

A penetration test focuses on actively finding exploitable weaknesses, while an audit is broader and also reviews configuration, plugins, servers and processes. This project combined both: hands-on testing of the members’ portal plus a review of the WordPress site, payment integration and server set-up, followed by remediation and a re-test.

Will testing disrupt our live website or members?

It should not. We test against a staging copy wherever possible and review live configuration read-only. Anything that could affect real users is agreed in advance. In this project members were never affected, and the live portal stayed online throughout the assessment and the fixes.

Can you fix the issues as well as find them?

Yes. Many audits stop at a list of findings, which leaves an internal team to work out the fixes. We can remediate application code, update and harden platforms and servers, and then re-test each finding so you have evidence that it is genuinely closed rather than a promise that it should be.

Will the report satisfy our insurer?

We cannot speak for every insurer, but we write reports with that audience in mind: a clear executive summary of scope, findings, fixes and residual risk, backed by a technical appendix. In this project the insurer accepted the report and the renewal completed at the standard premium.

How long does a security audit take?

It depends on the size of the system, the number of components in scope and how quickly fixes can be deployed. For this portal, application, CMS, payment integration and two servers, all nineteen findings were closed and re-tested within three weeks of the audit starting.

How do we stay secure after the audit?

Security drifts as plugins update and code changes. We recommend a regular re-audit, dependency monitoring and a simple review step for new plugins. The society now runs a quarterly re-audit so that new code and plugins are checked before they become a problem.

Similar Work

Related Projects

Case studies built with the same technologies or for similar needs.

  • Red Tractor — Field & Furrow Supplies
    • WordPress
    • WooCommerce
    • PHP

    WooCommerce eCommerce

    Tractor Cleaning & Equipment Care – WooCommerce Store

    A WooCommerce online store for tractor cleaning, equipment maintenance, paint correction, oxidation removal and foam cleaning products.

  • House Interior — HomeNest
    • WordPress
    • Custom Theme
    • HTML5

    Website Design & Development

    HomeNest – Responsive Furniture Website

    A modern, fully responsive website for a home furniture brand, designed to showcase products beautifully on every device.

  • Chair Dentist — Bright Dental Group
    • WordPress
    • Custom theme
    • Wix & Squarespace export

    Website Migration

    Dental Group Website Migration

    Nine practice sites on Wix and Squarespace consolidated into one WordPress site — organic clicks up 74%.

  • Student School — Learnwell
    • Docker
    • GitHub Actions
    • Nginx

    Cloud & DevOps

    Learning Platform Cloud Migration

    A containerised rebuild of a fragile single-server deployment: 4-minute releases and 58% lower hosting cost.

  • Farm Greenhouse — Fern & Field
    • WooCommerce
    • WordPress
    • PHP 8

    WooCommerce eCommerce

    Garden Nursery Store with Seasonal Availability

    A WooCommerce store where stock follows the growing season, with delivery weeks chosen at checkout.

  • Beer Brew — Kiln Street Brewing
    • WooCommerce
    • WooCommerce Subscriptions
    • WordPress

    WooCommerce eCommerce

    Craft Brewery Beer Club & Subscriptions

    A WooCommerce subscription club with age verification, courier rules for alcohol and a gifting flow.

Let’s Connect

Want Results Like These?

Share your project details and our experts will get back to you within one business day with the best solution — free consultation, no obligation.