TECHNOLOGIES: RABBITMQ

RabbitMQ Security Review

RabbitMQ grants access per virtual host, not per queue, so one broad permission can reach every queue another application owns. We test permissions, tags, exposure and every credential your broker accepts. CREST-certified testers, fixed price from £2,620 for a 2-day single-system scope, quoted within 24 hours.

  • Unlimited retesting
  • Unlimited pre-retesting
  • No hidden fees
Accredited & recognised
Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified Crown Commercial Service supplier UK Cyber Security Council member
CREST
Approved Provider
10
RabbitMQ Test Areas
FREE
Retest Until Closed
24h
Scope to Active Test
CLIENT REFERENCE
“I would highly recommend EJN Labs to any organisation seeking reliable, detailed, and well-managed penetration testing services, particularly for government or enterprise-level projects.”
SquareOneImran SaghirProject Lead, SquareOneRead the SquareOne case study →
CLIENT REFERENCE
“There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.”
CelloriDan WilcocksonFounder, CelloriRead the Cellori case study →
See all case studies →
WHY IT MATTERS
guest

RabbitMQ creates a default user called guest with well known default credentials on every fresh install, and the loopback_users setting confines that account to localhost connections until it is changed to none, a change RabbitMQ’s own documentation says is very strongly recommended against.

Why RabbitMQ security comes down to virtual host permissions, user tags and what the broker exposes

RabbitMQ’s access control documentation grants every permission as a triple of regular expressions, one each for configure, write and read, on a per virtual host basis: the pattern ‘.*’ matches every resource name in that vhost and the pattern ‘^$’ matches nothing, stopping the operation outright. Every install also creates a default user called guest with well known default credentials, and RabbitMQ’s own documentation confines that account to localhost connections through the loopback_users setting, calling the alternative, removing that restriction, very strongly recommended against. We test what each user’s three patterns actually cover against what their application needs, and whether guest, or an account like it, can be reached from anywhere but localhost.

The management plugin serves its browser UI and HTTP API from the same listener, port 15672 by default, gated by five tags, none, management, policymaker, monitoring and administrator, layered on top of ordinary vhost permissions rather than replacing them; the documentation is explicit that being an administrator does not itself grant access to exchanges, queues or bindings. TLS support is configured separately again: the AMQP listener needs listeners.ssl.default set to run on port 5671, with ssl_options.verify set to verify_peer and ssl_options.fail_if_no_peer_cert set to true before a client without a certificate is rejected, while the management plugin takes its own management.ssl.port, normally 15671. We test which tag each account holds against what it can actually see or change through the UI and API, and whether either listener still accepts a connection with no certificate at all.

Clustering runs on distributed Erlang, and RabbitMQ’s clustering guide describes every node and CLI tool authenticating to the others with a shared secret, the Erlang cookie, normally kept in a file that must be readable only by its owner; epmd, listening on port 4369, tells a connecting node or CLI tool which port, typically 25672, a named node is actually using for that traffic. Plugins such as shovel and federation move messages between brokers over their own AMQP connections, authenticated with credentials that commonly sit inside the source and destination URIs and are stored as runtime parameters. Amazon MQ and CloudAMQP put the same permissions, TLS and plugin questions behind a managed control plane with a different testing boundary, and for the wider family of cache and streaming platforms this scope splits from, see our NoSQL, cache and streaming security review.

SCOPE

What we review in a RabbitMQ broker

RQ-01

Virtual Host Permissions: Configure, Write and Read

Every RabbitMQ permission is a triple of regular expressions, one each for configure, write and read, granted to a user for a single virtual host; the pattern ‘.*’ covers every resource name in that vhost and ‘^$’ blocks the operation outright. We test what each user’s three patterns actually match against what their application needs to create, publish to or consume from, not what a broad grant made convenient during setup.

RQ-02

User Tags: Administrator, Management and Monitoring

RabbitMQ’s management tags, none, management, policymaker, monitoring and administrator, control what a user can see and do in the management UI and HTTP API, and the documentation is explicit that an administrator tag does not itself grant access to exchanges, queues or bindings; ordinary vhost permissions still apply. We test which tag every account holds against the console and API actions it can actually reach, and whether a tag was granted for convenience rather than role.

RQ-03

The Default Guest User and Loopback Restriction

RabbitMQ creates a default user called guest with well known credentials on first boot, and the loopback_users setting limits that account to localhost connections only, a restriction RabbitMQ’s own documentation says should not be removed. We test whether guest, or any account with equally predictable credentials, can be reached from outside localhost, and whether it was ever deleted rather than left in place.

RQ-04

Management UI and HTTP API Exposure

The management plugin serves its browser UI and HTTP API from the same listener, port 15672 by default, and the API exposes the same connections, channels, queues and definitions that the UI displays. We test who can reach that port, what an authenticated account’s tag lets them read or change through the API, and whether the definitions endpoint could hand an attacker a working copy of your topology.

RQ-05

Queue and Exchange Access Between Applications

Because permissions are granted per vhost rather than per resource, a single ‘.*’ grant matches every exchange and queue in that vhost, so an application sharing a vhost with others can be given the same broad access rather than access scoped to only its own queues. We test whether each application’s actual permission pattern is scoped to the resources it owns, not the whole vhost, and what one connection could reach that belongs to something else.

RQ-06

Application Credentials and User Provisioning

RabbitMQ users are created with rabbitmqctl or the HTTP API and authenticate with a password, which can be supplied as a salted hash rather than plaintext, or with x.509 client certificates once TLS peer verification is configured. We test how many applications share one set of credentials, whether a certificate or password can be rotated without a shared outage, and whether the account an application actually connects as still matches the permissions it was granted.

RQ-07

TLS on AMQP and the Management Plugin

TLS for AMQP connections is configured with listeners.ssl.default, normally port 5671, and RabbitMQ only rejects a client that presents no certificate once ssl_options.verify is set to verify_peer and ssl_options.fail_if_no_peer_cert is set to true; the management plugin takes its own separate management.ssl.port, normally 15671. We test whether both listeners actually enforce peer verification, whether a plaintext listener was left enabled alongside the TLS one, and what a connection without a valid certificate can still do.

RQ-08

Erlang Distribution, epmd and the Erlang Cookie

Every node in a cluster, and every CLI tool that talks to it, authenticates using a shared secret RabbitMQ calls the Erlang cookie, normally a file that must be readable only by its owner; epmd, listening on port 4369, tells a connecting party which port, typically 25672, a named node is using for that traffic. We test whether the cookie file’s permissions and value are what they should be, and whether the distribution port and epmd are reachable from anywhere they should not be.

RQ-09

Shovel and Federation Plugin Credentials

The shovel and federation plugins move messages between brokers over their own AMQP connections, defined by source and destination URIs that commonly embed a username and password and are stored as runtime parameters set with rabbitmqctl or the HTTP API. We test who can read or set those parameters, what the credentials inside a shovel or federation URI can actually reach on the remote broker, and whether TLS and peer verification are configured on that link too.

RQ-10

Managed Variants: Amazon MQ and CloudAMQP

Amazon MQ and CloudAMQP run the same permissions, TLS and plugin model behind a managed control plane, so the same virtual host, user tag and credential questions still apply, with the operator rather than you controlling the underlying host and clustering. We confirm during scoping exactly what each platform’s shared responsibility model and current customer testing terms allow before testing a managed broker; for the wider family of NoSQL, cache and streaming platforms this scope splits from, see our NoSQL, cache and streaming security review.

OUR PROCESS

RabbitMQ Security Review: From Scope to Attestation

01

Scope and Access

We agree which virtual hosts, users, clusters and shovel or federation links are in scope, plus a management or administrator account if the console and HTTP API are being tested too.

02

Permission and Tag Mapping

We map every user’s configure, write and read patterns and management tag against what their application or role actually needs, on every virtual host in scope.

03

Manual Testing

A CREST-certified tester manually tests guest and default account exposure, TLS on AMQP and the management plugin, Erlang cookie and distribution port exposure, and shovel or federation credentials, chaining findings where they compound.

04

Attestation and Retest

You get a technical report with CVSS scores and reproduction steps, a walkthrough call, a free retest once fixes are deployed, and an attestation letter for auditors.

CREDENTIALS

Verified Accreditations Auditors Accept

Every credential below is independently verifiable. UK procurement teams, FCA supervisors, ISO 27001 / SOC 2 auditors, and cyber insurance underwriters all recognise these standards.

GET YOUR QUOTE

Get a CREST RabbitMQ pen test quote in 24 hours

A fixed-price quote back in one business day, from a named CREST assessor. No sales pipeline, no chasing.

  • CREST and IASME accredited. Testing your auditors and clients already recognise.
  • Fast-track testing within 24 hours where required. Free retest of every fix included.
  • Live findings via your client portal, not a four-week PDF.
  • Fixed price from £3,500 for a single-role, single-app scope, agreed up front. Most engagements run £5,000 and up. No day-rate surprises.
What clients say
There wasn’t another company we could find that could deliver what we needed in the timeframe we needed. The client loved it, and we got instant ROI from the engagement.
CelloriDan WilcocksonFounder, Cellori

Under NDA Further named references available on a scoping call.

What happens next
  1. We reply within one business day with a fixed-price quote from a named CREST assessor.
  2. You approve the scope and we book a start date, usually within 24 hours.
  3. Live findings land in your client portal as we test, with a free retest of every fix.
Accredited & recognised
CREST member Cyber Essentials certified Cyber Essentials Plus certified IASME certifying body ISO 27001 certified ISO 9001 certified UK Cyber Security Council Crown Commercial Service supplier

Get your fixed pen test quote in 24 hours

⚡24h reply ✓CREST tester ↻Free retests

or book a 20-min scoping call first

We reply within one business day. Your data stays with us. No newsletter signup.

COMPLIANCE READY

Reports Mapped to Every Framework

Findings are written so your team can reference the report against each framework without translation work.

ISO 27001:2022

Annex A.8.8 management of technical vulnerabilities plus A.5.15-5.18 and A.8.2-8.5 access control validation.

SOC 2 Type I & II

CC6 logical access, CC7 system operations, CC8 change management evidence.

PCI DSS

Requirement 11.4 application penetration testing across cardholder data environments, including ecommerce penetration testing for online retail platforms.

FCA SYSC

SYSC 4.1.1R, 6.1.1R, 13 mapped to each finding for FCA-regulated firms.

UK GDPR

Article 32 effectiveness testing, customer-data security controls, ICO-acceptable evidence.

Cyber Essentials Plus

Direct certification through our IASME body status, single-vendor delivery.

PRICING

Transparent RabbitMQ Security Review Pricing

Pricing depends on the number of roles, integrations and environments in scope. See our pricing page for how we quote.

✦ ALWAYS · ON EVERY TIER · NO EXCEPTIONS ✦
✓Free retests, no time limit
✓Free rescheduling
✓No cancellation fees
✓24-hour scope to active testing
✓Live findings to client portal
✓Executive + technical report
✓60-min walkthrough call
✓Letter of attestation
SMALL / SMB
£2,620–£3,940
2 to 3 testing days

Single user role, basic CRUD application, marketing website with auth. Around 5 working days from kickoff to report.

Get a fixed quote
ENTERPRISE
£6,110–£8,730
4 to 6 testing days

Multi-tenant platform, complex authorisation matrix, integration-heavy applications. Around 15 to 20 working days from kickoff to report.

Get a fixed quote

Full UK pen test cost guide

WHY EJN LABS

What You Get From RabbitMQ Security Review

Six concrete differentiators competitors don’t all match.

CREST-Certified Testers, Verifiable

Every test by a CREST-certified pen tester (CRT, CCT APP, CCT INF where applicable). Verify our company status at crest-approved.org.

24-Hour Startup, Where Required

From signed scope to active testing in a single business day for incident response, audit deadlines, or regulator-driven timelines.

Live Findings, Not 4-Week PDFs

Critical issues reported during testing through your client portal. Your team remediates while testing continues.

Audit-Ready Reports

Executive summary plus full technical report with CVSS scores and explicit framework mappings (ISO 27001, SOC 2, PCI DSS, FCA SYSC).

Free Retests, Standard

Verify remediation of every finding before close-out. Letter of attestation for audit submission included. Most competitors charge £1,500-£3,000 per retest.

UK-Based CREST Testers

Every engagement performed by vetted, UK-based CREST-certified testers, matched to your needs, security clearance, and compliance scope.

FAQ

Frequently Asked

What access do you need to test our RabbitMQ broker?

We need a user account for every permission tier you want tested, from an ordinary application user through to a management or administrator tag if the console and HTTP API are in scope, on every virtual host in scope. For clustered deployments we also need to know how many nodes are in the cluster and whether shovel or federation links connect to other brokers.

Will testing touch live data?

We test the exchanges, queues and virtual hosts you nominate using the permissions and credentials you provide, rather than a copy of your broker, so we agree exclusions such as production queues, destructive purges or live shovel links before testing starts. We do not delete queues, purge messages or run destructive commands without that agreement in writing.

Do you test self-hosted RabbitMQ and managed services such as Amazon MQ or CloudAMQP the same way?

The permission model, user tags, TLS configuration and plugin questions are the same wherever RabbitMQ runs, but the boundary differs: a managed service controls the underlying host, clustering and often the Erlang cookie, so we confirm exactly what you control on Amazon MQ or CloudAMQP during scoping and test to that boundary.

What is out of scope for a single-system RabbitMQ review?

We never test RabbitMQ’s own source code, the underlying host of a managed broker, or a separately hosted application that happens to publish or consume messages, which is scoped and quoted on its own. We test the permissions, user tags, TLS configuration, Erlang cookie exposure and plugin credentials for the broker or cluster you nominate.

Does RabbitMQ, Amazon MQ or CloudAMQP have a policy on customer penetration testing?

Self-hosted RabbitMQ is software you run yourself, so a genuine vulnerability in the broker itself is reported through RabbitMQ’s GitHub security advisories rather than folded into your engagement. Amazon MQ is not on AWS’s list of services customers can test without prior approval, so we confirm the current position with AWS support before testing it, and we have not found a published CloudAMQP customer-testing policy, so we confirm CloudAMQP’s current terms during scoping too.

How long does a RabbitMQ security review take?

A single broker or cluster, with a small number of virtual hosts and a limited set of users and plugins, sits in our 2-day single-system scope, with a report typically landing around 5 working days after kickoff. More virtual hosts, a larger cluster, or multiple shovel and federation links to other brokers moves into a larger scope with more testing days.

Is testing the Erlang cookie or Erlang distribution port going to affect the cluster?

We test whether the distribution port and epmd are reachable from outside the network they should be confined to, and whether the cookie file’s permissions are correctly restricted, without needing the cookie’s actual value or attempting to join the cluster ourselves. Any check that could affect cluster membership is agreed with you and scheduled outside of business hours before it runs.

Are your testers CREST certified?

Yes. Every RabbitMQ engagement is carried out by UK-based, CREST-certified testers, and your report and attestation letter are recognised by auditors and insurers accordingly.

EXPLORE EVERY SERVICE

20+ CREST-accredited testing services in one place

Web, mobile, API, cloud, AI, infrastructure, red team. Pick the test that fits your environment.

Penetration testing services
READY TO START

Get a fixed price for your RabbitMQ review

RabbitMQ grants access per virtual host, not per queue, so one broad permission can reach every queue another application owns. We test permissions, tags, exposure and every credential your broker accepts. CREST-certified testers, fixed price from £2,620 for a 2-day single-system scope, quoted within 24 hours.