Listing Thumbnail

    Apache Guacamole - Hardened Remote Desktop Gateway (RDP, VNC, SSH)

     Info
    Sold by: Lynxroute 
    Deployed on AWS
    Free Trial
    This product has charges associated with it for hardening, security configuration, and support. Apache Guacamole is a clientless remote desktop gateway that serves RDP, VNC, SSH and telnet sessions to an ordinary browser over HTTPS, with no client, plugin or agent on the target host. This Lynxroute build is hardened and ready out of the box: a unique admin password generated per instance at first launch, guacd and the PostgreSQL connection database bound to 127.0.0.1 only, TLS terminated on port 443 with the WebSocket display tunnel proxied through it, 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 APACHE GUACAMOLE

    Apache Guacamole is a clientless remote desktop gateway from the Apache Software Foundation. It brokers RDP, VNC, SSH, telnet and Kubernetes-exec sessions and renders them in a plain browser over HTTPS, so there is nothing to install on the user's machine and no agent on the target host. The web application is a Java servlet running on Apache Tomcat 9; the protocol work is done by guacd, a native daemon that translates each remote protocol into Guacamole's own display protocol. Connections are defined once by an administrator and shared with the users and groups who need them, so credentials for target hosts never have to be handed out; every session and its history is recorded in a bundled PostgreSQL 16 database. Supports file transfer, clipboard, audio and session recording. Apache-2.0 license, no vendor lock-in.

    WHAT THIS AMI ADDS

    Security hardening:

    • A unique admin password is generated per instance at first launch and written to /root/guacamole-credentials.txt (mode 600) - the image ships no shared or preset credential
    • guacd bound to 127.0.0.1:4822 only - the protocol daemon is never reachable from the network
    • PostgreSQL bound to 127.0.0.1:5432 only - the connection and session-history database is never exposed
    • Tomcat bound to 127.0.0.1:8080 only; nginx terminates TLS on port 443 and proxies the WebSocket display tunnel to it
    • guacd handles input from remote servers, so it runs as an unprivileged system user in a locked-down systemd sandbox (read-only filesystem, private /tmp and /dev, no new privileges, restricted address families)
    • Only the PostgreSQL authentication extension is installed - no optional extension is enabled that you did not ask for
    • Session and connection history recorded in the bundled PostgreSQL database, visible under Settings - a per-session audit trail that stays on the gateway
    • UFW firewall pre-configured - only ports 22 and 443 accepted; 4822, 5432 and 8080 unreachable externally
    • 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 (key-only, no root login), 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

    • Guacamole security baked in: a unique admin password generated per instance at first launch, guacd bound to loopback only, PostgreSQL bound to loopback only, Tomcat behind an nginx TLS perimeter on 443, and the protocol daemon confined to an unprivileged systemd sandbox with a read-only filesystem.
    • 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.
    • Clientless access from any browser: RDP, VNC, SSH and telnet with no client, plugin or agent to install. Target-host credentials stay on the gateway, and every session is recorded in the bundled PostgreSQL database. 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.

    Apache Guacamole - Hardened Remote Desktop Gateway (RDP, VNC, SSH)

     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 (3)

     Info
    Dimension
    Cost/hour
    t3.medium
    Recommended
    $0.05
    t3.small
    $0.03
    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

    Apache Guacamole 1.6.0 - Initial release (July 2026)

    • Apache Guacamole 1.6.0 on Ubuntu 24.04 LTS (Apache Tomcat 9, OpenJDK 17, PostgreSQL 16)
    • CIS Level 1 hardening applied (ansible-lockdown/UBUNTU24-CIS)
    • CVE-scanned before every release
    • Clientless RDP, VNC, SSH, telnet and Kubernetes-exec access from a browser over TLS
    • A unique admin password generated per instance at first launch; no shared or preset credential in the image
    • guacd bound to 127.0.0.1:4822 and PostgreSQL to 127.0.0.1:5432; Tomcat on 127.0.0.1:8080 behind an nginx TLS perimeter on 443
    • WebSocket display tunnel proxied through the TLS perimeter
    • guacd runs as an unprivileged user in a systemd sandbox (read-only filesystem, private /tmp and /dev, restricted address families)
    • Connections, users and session history persisted in the bundled PostgreSQL database
    • certbot pre-installed for CA-signed TLS certificates
    • UFW firewall pre-configured (ports 22, 443 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; t3.small minimum)
    2. Open Security Group - allow TCP 443 from your IP
    3. SSH: ssh -i key.pem ubuntu@<PUBLIC_IP>
    4. Read credentials: sudo cat /root/guacamole-credentials.txt
    5. Open https://<PUBLIC_IP>/ in your browser - accept the self-signed certificate warning, then sign in as guacadmin with the password from the credentials file
    6. Add a target host: Settings -> Connections -> New Connection. Choose the protocol (RDP, VNC, SSH or telnet), enter the target hostname and port plus the credentials for that target, and Save. The connection appears on the home screen and opens in the browser - no client or plugin is needed.
    7. Create per-user accounts under Settings -> Users and grant each one only the connections it needs
    8. Change the admin password after first login: top-right menu -> Settings -> Preferences -> Change password

    The admin password is generated on your instance at first launch and saved to /root/guacamole-credentials.txt (mode 600). It is unique to your instance - the image ships no shared or preset credential.

    Architecture: nginx terminates TLS on port 443 and proxies the WebSocket display tunnel to Tomcat on 127.0.0.1:8080. guacd listens on 127.0.0.1:4822 and PostgreSQL on 127.0.0.1:5432 - neither is reachable off the instance. Connections, users and session history live in the bundled PostgreSQL database and survive reboots.

    Restrict inbound 443 to your own address range until you have signed in and changed the admin password: anyone who reaches the gateway before you can attempt to authenticate against it.

    For production use, replace the self-signed TLS certificate with a CA-signed one. certbot and its nginx plugin are pre-installed, but the domain-validation check needs inbound port 80, which is closed by default: sudo ufw allow 80/tcp (also allow TCP 80 in the Security Group) sudo certbot --nginx -d yourdomain.com

    Resources

    Vendor resources

    Support

    Vendor support

    Vsit us online: https://lynxroute.com 

    For Guacamole 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.