Kort gezegd: Modern Guacamole is een service in drie delen, niet slechts één webcontainer
Apache Guacamole biedt browsergebaseerde toegang via RDP, VNC en SSH zonder desktopclient. Een Docker-implementatie voor productie bevat doorgaans de Guacamole-webapplicatie, guacd en een database zoals PostgreSQL of MySQL/MariaDB. Het oude BigBearCasaOS-pakket uit 2023 moet worden beschouwd als een historische gemaksoplossing, niet als referentie voor de architectuur.
Gebruik de officiële Guacamole-containers
Het Apache-project publiceert de ondersteunde images guacamole/guacamole en guacamole/guacd. De Guacamole Docker-stack beschrijft de officiële opzet. De bredere Guacamole-installatiemethoden legt uit waarom database-authenticatie de voorkeur heeft voor echte implementaties.
Aanbevolen containerindeling
guacamole-web
|
+-- guacd
|
+-- postgres of mariadb
Houd alle drie de services op een privénetwerk van Docker. Publiceer alleen het webendpoint van Guacamole. Publiceer de database of guacd niet op het LAN, tenzij een andere component dit daadwerkelijk nodig heeft.
Initialiseer de database vóór de eerste aanmelding
De database-authenticatie-extensie van Guacamole vereist dat het schema is geladen voordat de webapplicatie gebruikers en verbindingen kan opslaan. Gebruik de SQL-initialisatiebestanden die overeenkomen met exact dezelfde Guacamole-versie en hetzelfde databasetype. Zorg dat de databasemap persistent is.
Plaats HTTPS ervoor voordat je externe toegang inschakelt
Guacamole kan beheerderswachtwoorden en sessies van externe desktops transporteren, dus blootstelling via gewoon HTTP vormt een slechte beveiligingsgrens. Gebruik een reverse proxy met HTTPS en sterke authenticatie. HTTPS-proxying in ZimaOS biedt het reverse-proxypatroon voor ZimaOS.
Gebruik MFA of SSO wanneer Guacamole via internet bereikbaar is
Apache Guacamole ondersteunt extensies voor TOTP, OpenID Connect, SAML en andere authenticatiesystemen. Toegang tot externe desktops is een beheerfunctie; bescherm deze dan ook passend in plaats van uitsluitend te vertrouwen op een kort lokaal wachtwoord.
Wanneer je Guacamole beter in een virtuele machine kunt uitvoeren
Als je Guacamole wilt isoleren van de Docker-engine van de NAS, of al meerdere infrastructuurservices hebt, biedt een kleine Debian/Ubuntu-VM een duidelijke grens voor updates en firewallregels. De VM-vereisten van ZimaOS behandelen de hostresources die voor deze scheiding nodig zijn.
De appvereisten van ZimaOS helpen wanneer Guacamole de NAS deelt met databases, mediaservers en monitoring.
Bewaar de database en Guacamole-configuratie afzonderlijk persistent
Beschouw de webcontainer niet als het stateful onderdeel van Guacamole. Gebruikersaccounts, opgeslagen verbindingen en authenticatiegegevens staan in de database, terwijl extensies en aangepaste configuratie in gekoppelde mappen kunnen staan. Maak een back-up van deze persistente onderdelen voordat je images vervangt. Een nieuwe containerimage ophalen moet routine zijn; elke externe verbinding opnieuw uit het hoofd moeten opbouwen niet.
Configureer WebSockets correct in de reverse proxy
Guacamole gebruikt langdurige browserverbindingen en WebSocket-ondersteuning voor interactieve sessies. Als aanmelden werkt maar externe desktops achter een proxy de verbinding verbreken, vastlopen of slecht presteren, controleer dan eerst het doorsturen van WebSockets en de time-outs van de proxy voordat je RDP of VNC de schuld geeft. Houd het Guacamole-pad of de hostnaam stabiel, zodat het gedrag van callbacks en browsersessies niet bij elke update verandert.
Scheid Guacamole-toegang van de aanmeldgegevens van doelsystemen
Een Guacamole-aanmelding geeft toegang tot de gateway; het Windows- of Linux-doelsysteem heeft nog steeds zijn eigen RDP-, VNC- of SSH-aanmeldgegevens en beleidsregels. Gebruik niet overal hetzelfde beheerderswachtwoord. Maak voor gedeelde toegang binnen een huishouden of team benoemde Guacamole-gebruikers aan en geef elke persoon alleen toegang tot de verbindingen die nodig zijn.
Test de gateway voordat je deze blootstelt
Test voordat je openbare DNS toevoegt één SSH- of RDP-verbinding vanaf het LAN, controleer het gedrag van het klembord en de sessie, start elke Guacamole-container opnieuw op en verifieer dat opgeslagen verbindingen nog werken. Test daarna een back-up en herstel van de database. Een gateway die het opnieuw aanmaken van containers doorstaat, komt veel dichter in de buurt van een onderhoudbare implementatie dan een gateway die alleen werkt tot de volgende image-update.
Veelgestelde vragen
Heeft Guacamole een desktopclient nodig?
Nee. Gebruikers maken verbinding via een webbrowser, terwijl Guacamole browserverkeer vertaalt naar RDP-, VNC- of SSH-sessies.
Heeft Guacamole een database nodig?
Voor gebruikers- en verbindingsbeheer in een productieachtige omgeving: ja. De eenvoudige XML-authenticatiemethode is voornamelijk geschikt voor basistests.
Moet ik guacd blootstellen aan internet?
Nee. Houd guacd privé achter de Guacamole-webapplicatie.
Kan Guacamole een VPN vervangen?
Het kan browsertoegang bieden tot geconfigureerde externe desktops, maar het is geen algemene privénettunnel voor elke service.
Kan ik MariaDB gebruiken in plaats van PostgreSQL?
Ja, ondersteunde opties voor database-authenticatie omvatten MySQL-compatibele databases en PostgreSQL wanneer deze zijn geconfigureerd met de bijbehorende extensie en het bijbehorende schema.
