Overview
This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.
WHAT IS APACHE ACTIVEMQ
Apache ActiveMQ Classic is an open-source message broker from the Apache Software Foundation, written in Java and one of the most widely deployed implementations of the Jakarta Messaging (JMS) API. It moves messages between producers and consumers through queues and topics over the OpenWire wire protocol, covering point-to-point work queues, publish/subscribe, request/reply, and message-group ordering, with message selectors, durable topic subscriptions, delayed and scheduled delivery, redelivery policies, dead-letter queues, virtual destinations, and composite destinations for common integration routing patterns. Durable messages are persisted by the embedded KahaDB store on the local filesystem and survive a broker restart, while producer flow control protects the broker under load. A bundled web console with a Jolokia JMX bridge provides queue, topic, connection, and subscriber administration. This image runs a single node on OpenJDK 21. Apache-2.0 license - a self-hosted alternative to hosted queue services, with no per-message fees and no vendor lock-in.
WHAT THIS AMI ADDS
Security hardening:
- Broker authentication and authorization enabled - every transport requires credentials, and destination access is restricted to the admin role
- A unique 24-character admin credential generated per instance at first boot; one credential covers the web console, the JMX bridge, and both messaging transports
- No credentials baked into the image - the password, the broker keystore, and its password are all created on your own instance at first boot
- Web console bound to 127.0.0.1:8161 only, behind an nginx TLS reverse proxy on 443; the console enforces its own login
- OpenWire over TLS on 61617 with a per-instance self-signed certificate and a ready-made client truststore; plaintext OpenWire on 61616 also requires credentials
- ObjectMessage deserialization blocked by default - a well-known remote-code-execution vector in JMS deployments
- Message store limits sized to the volume so a runaway producer triggers producer flow control instead of filling the disk
- Only the OpenWire transports are enabled; AMQP, STOMP, MQTT, and WebSocket connectors are left off until you enable the one you need
- UFW firewall - ports 22 (SSH), 443 (web console), 61617 (OpenWire over TLS), 61616 (OpenWire) only
- fail2ban, AppArmor
- CVE scan - every image is scanned for vulnerabilities before release
OS hardening (CIS Level 1):
- CIS Ubuntu 24.04 LTS Level 1 benchmark applied via ansible-lockdown
- auditd, SSH hardening, Kernel hardening, IMDSv2 enforced
Compliance artifacts:
- SBOM - CycloneDX 1.6 at /etc/lynxroute/sbom.json
- CIS Conformance Report at /etc/lynxroute/cis-report.html
- CIS Tailored Profile at /usr/share/doc/lynxroute/CIS_TAILORED_PROFILE.md
Highlights
- Apache ActiveMQ security baked in: broker authentication and authorization enabled with a unique admin credential generated at first boot, the web console bound to loopback behind an nginx TLS reverse proxy, OpenWire over TLS on 61617 with a per-instance certificate, ObjectMessage deserialization blocked, and UFW firewall pre-configured.
- CIS Level 1 hardened Ubuntu 24.04 LTS: auditd, fail2ban, AppArmor, SSH key-only, IMDSv2 enforced. CVE-scanned before every release. SBOM (CycloneDX) and CIS Conformance Report included.
- Standards-based JMS messaging on OpenJDK 21: queues and topics, durable subscriptions, scheduled delivery, dead-letter queues, KahaDB persistence, and a bundled web console. Apache-2.0 license - fully auditable, no vendor lock-in.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
Dimension | Cost/hour |
|---|---|
t3.medium Recommended | $0.05 |
t3.large | $0.05 |
t3.small | $0.03 |
Vendor refund policy
We do not offer refunds for this product. AWS infrastructure charges (EC2, EBS, data transfer) are billed separately by AWS and are not refundable by us.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Apache ActiveMQ 6.3.0 - Initial release (July 2026)
- Apache ActiveMQ 6.3.0 on Ubuntu 24.04 LTS
- CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
- CVE-scanned before every release
- Broker authentication and authorization enabled; every transport requires credentials
- Unique 24-character admin credential generated at first boot, covering the web console, the JMX bridge, and both messaging transports
- No credentials baked into the image; the broker keystore and its password are generated per instance
- Web console bound to 127.0.0.1:8161; TLS terminated by nginx on 443
- OpenWire over TLS on 61617 with a per-instance self-signed certificate and a client truststore
- ObjectMessage deserialization blocked by default
- Message store limits sized to the volume so producer flow control engages before the disk fills
- Single node on OpenJDK 21 with KahaDB persistence
- UFW firewall pre-configured (ports 22, 443, 61617, 61616 only)
- fail2ban, auditd, AppArmor pre-configured
- SBOM (CycloneDX 1.6) at /etc/lynxroute/sbom.json
- CIS Conformance Report (OpenSCAP) at /etc/lynxroute/cis-report.html
- IMDSv2 enforced
Additional details
Usage instructions
- Launch instance (t3.medium recommended)
- Open Security Group - allow TCP 443 (web console) and TCP 61617 (OpenWire over TLS) from your IP. Only open TCP 61616 if your clients cannot use TLS.
- SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
- Read credentials: sudo cat /root/activemq-credentials.txt
- Open https://<PUBLIC_IP>/admin/ in your browser - accept the self-signed certificate warning
- Log in to the web console as admin with the password from the credentials file
Connect your JMS clients with the same admin credential: ssl://<PUBLIC_IP>:61617 (recommended; trust /var/lib/activemq/tls/broker-truststore.ks, whose password is in the credentials file) tcp://<PUBLIC_IP>:61616 (plaintext, for clients that cannot use TLS)
One credential covers the web console, the JMX bridge, and both messaging transports. The broker refuses unauthenticated connections on both transports. The web console listens on 127.0.0.1:8161 only; nginx is the TLS perimeter on 443 - do not expose 8161 directly. Credentials are saved to /root/activemq-credentials.txt at first launch. ObjectMessage deserialization is blocked by default. If your application genuinely sends ObjectMessage, set your own trusted package list in /etc/default/activemq-env and restart the broker. Replace the self-signed TLS certificate with a CA-signed certificate (certbot is pre-installed): sudo certbot --nginx -d your-domain.example.com Certbot's HTTP-01 challenge needs inbound TCP 80, which is closed by default - open it in the Security Group and with sudo ufw allow 80/tcp before running certbot.
Resources
Vendor resources
Support
Vendor support
Visit us online: https://lynxroute.com
For Apache ActiveMQ documentation:
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.
Similar products
