Listing Thumbnail

    NATS - Hardened Message Broker with JetStream Persistence

     Info
    Sold by: Lynxroute 
    Deployed on AWS
    Free Trial
    This product has charges associated with it for hardening, security configuration, and support. NATS is a cloud-native messaging system for connecting services, devices and edge systems, shipped here as a single statically linked Go binary with JetStream persistence built in. This Lynxroute build is hardened and ready out of the box: TLS required on the client port, per-instance account passwords generated at first boot and stored as bcrypt hashes, anonymous connections refused, the unauthenticated monitoring endpoint bound to loopback only, JetStream persisted to disk with limits sized to the instance, UFW firewall pre-configured, and a CIS Level 1 hardened Ubuntu 24.04 LTS base. Apache-2.0 license - fully auditable, no vendor lock-in.

    Overview

    This is a repackaged software product wherein additional charges apply for hardening, security configuration, and support.

    WHAT IS NATS

    NATS(R) is a cloud-native messaging system for connecting services, devices and edge systems, hosted by the Cloud Native Computing Foundation. It is a single statically linked Go binary with no database, no broker cluster and no separate runtime to install alongside it. The core server provides publish/subscribe over hierarchical subjects, request/reply with automatic load balancing across queue groups, and queue-group work distribution at very low latency. JetStream, built into the same binary, adds persistence: streams that retain messages on disk, durable pull and push consumers with explicit acknowledgement and replay, plus a key-value store and an object store layered on top. Client libraries exist for more than forty languages, so services written in Go, Java, Python, C#, Rust, Node.js and others share one bus. Messages, streams and consumer positions persist to the instance filesystem - there is no external database to run. Apache-2.0 license, no vendor lock-in.

    WHAT THIS AMI ADDS

    Security hardening:

    • TLS required on the client port - 4222 accepts TLS only; there is no cleartext path in or out and no second unencrypted port
    • Per-instance account passwords generated on first launch and stored as bcrypt hashes, so no two instances of this AMI share a credential
    • Anonymous connections refused - there is no unauthenticated-user mapping, so a client without valid credentials is rejected at connect
    • Two isolated accounts - a messaging account that owns JetStream and a separate system account for server administration; neither can reach the other's namespace
    • Monitoring endpoint bound to 127.0.0.1 only - these endpoints are unauthenticated by design, so they are reachable over an SSH tunnel rather than published
    • JetStream persisted to the instance volume with storage limits sized from the instance's own disk and memory, so a runaway stream cannot fill the root volume
    • Per-instance TLS certificate generated on first launch, carrying the instance addresses, and reissued automatically if the public address changes
    • UFW firewall pre-configured - only TCP 4222 and SSH on 22 are open; cluster, gateway and leafnode ports are not configured
    • fail2ban and AppArmor pre-configured
    • 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

    This image is built and maintained by Lynxroute and is not affiliated with, endorsed by or sponsored by the Linux Foundation, the Cloud Native Computing Foundation or Synadia.

    Highlights

    • NATS security baked in: TLS required on the client port with no cleartext path, per-instance account passwords generated at first launch and stored as bcrypt hashes, anonymous connections refused, and the unauthenticated monitoring endpoint bound to loopback only.
    • 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.
    • Messaging plus persistence in one binary: pub/sub, request/reply and queue groups, with JetStream streams, durable consumers, key-value and object stores persisted to disk. Apache-2.0 license - fully auditable, no vendor lock-in.

    Details

    Delivery method

    Delivery option
    64-bit (x86) Amazon Machine Image (AMI)

    Latest version

    Operating system
    Ubuntu 24.04

    Deployed on AWS
    New

    Introducing multi-product solutions

    You can now purchase comprehensive solutions tailored to use cases and industries.

    Multi-product solutions

    Features and programs

    Financing for AWS Marketplace purchases

    AWS Marketplace now accepts line of credit payments through the PNC Vendor Finance program. This program is available to select AWS customers in the US, excluding NV, NC, ND, TN, & VT.
    Financing for AWS Marketplace purchases

    Pricing

    Free trial

    Try this product free for 5 days according to the free trial terms set by the vendor. Usage-based pricing is in effect for usage beyond the free trial terms. Your free trial gets automatically converted to a paid subscription when the trial ends, but may be canceled any time before that.

    NATS - Hardened Message Broker with JetStream Persistence

     Info
    Pricing is based on actual usage, with charges varying according to how much you consume. Subscriptions have no end date and may be canceled any time.
    Additional AWS infrastructure costs may apply. Use the AWS Pricing Calculator  to estimate your infrastructure costs.

    Usage costs (5)

     Info
    Dimension
    Cost/hour
    t3.medium
    Recommended
    $0.05
    t3.large
    $0.05
    t3.small
    $0.03
    m6i.xlarge
    $0.05
    m6i.large
    $0.05

    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?

    Tell us how we can improve this page, or report an issue with this product.
    Tell us how we can improve this page, or report an issue with this product.

    Legal

    Vendor terms and conditions

    Upon subscribing to this product, you must acknowledge and agree to the terms and conditions outlined in the vendor's End User License Agreement (EULA) .

    Content disclaimer

    Vendors are responsible for their product descriptions and other product content. AWS does not warrant that vendors' product descriptions or other product content are accurate, complete, reliable, current, or error-free.

    Usage information

     Info

    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

    NATS 2.14.4 - Initial release (August 2026)

    • NATS 2.14.4 on Ubuntu 24.04 LTS
    • CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
    • CVE-scanned before every release
    • TLS required on the client port - no cleartext path, no second unencrypted port
    • Per-instance account passwords generated at first launch, stored as bcrypt hashes
    • Anonymous connections refused - no unauthenticated-user mapping
    • Two isolated accounts: a messaging account owning JetStream, and a separate system account
    • Monitoring endpoint bound to 127.0.0.1 only
    • JetStream persisted to the instance volume, limits sized from the instance disk and memory
    • Per-instance TLS certificate, reissued automatically if the public address changes
    • UFW firewall pre-configured (ports 22 and 4222 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

    1. Launch instance (t3.medium recommended)
    2. Open Security Group - allow TCP 4222 from the networks that need to publish and subscribe
    3. SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
    4. Read credentials: sudo cat /root/nats-credentials.txt
    5. Copy the certificate at /etc/nats/certs/server-cert.pem to your client machine
    6. Connect a client to tls://<PUBLIC_IP>:4222 using the messaging account user and password, trusting that certificate

    Verify from the instance itself: nats --server tls://localhost:4222 --user <user> --password <password>
    --tlsca /etc/nats/certs/server-cert.pem pub demo.hello 'hi'

    Create a JetStream stream: nats --server tls://localhost:4222 --user <user> --password <password>
    --tlsca /etc/nats/certs/server-cert.pem
    stream add ORDERS --subjects 'orders.>' --storage file --defaults

    TLS is mandatory on port 4222 - a plain nats:// client is refused at the handshake, and there is no second cleartext port. Anonymous connections are refused. The TLS certificate is self-signed and generated on your instance at first launch. Point clients at it with --tlsca, or replace it with your own PKI. The monitoring endpoint is bound to 127.0.0.1 and is unauthenticated by design. Reach it over an SSH tunnel: ssh -L 8222:127.0.0.1:8222 ubuntu@<PUBLIC_IP> Credentials are saved to /root/nats-credentials.txt at first launch. Move them into your secret manager and delete the file before production use. JetStream data persists under /var/lib/nats/jetstream and survives a reboot. Back it up - it holds every persisted message and consumer position.

    Resources

    Vendor resources

    Support

    Vendor support

    Visit us online: https://lynxroute.com 

    For NATS 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

    Customer reviews

    Ratings and reviews

     Info
    0 ratings
    5 star
    4 star
    3 star
    2 star
    1 star
    0%
    0%
    0%
    0%
    0%
    0 reviews
    No customer reviews yet
    Be the first to review this product . We've partnered with PeerSpot to gather customer feedback. You can share your experience by writing or recording a review, or scheduling a call with a PeerSpot analyst.