W skrócie: nowoczesny Guacamole to usługa składająca się z trzech części, a nie tylko jeden kontener internetowy
Apache Guacamole zapewnia dostęp przez przeglądarkę do RDP, VNC i SSH bez użycia klienta desktopowego. Wdrożenie Docker w stylu produkcyjnym zwykle obejmuje aplikację internetową Guacamole, guacd oraz bazę danych, taką jak PostgreSQL lub MySQL/MariaDB. Stary pakiet BigBearCasaOS z 2023 roku należy traktować jako historyczne ułatwienie, a nie wzorzec architektury.
Używaj oficjalnych kontenerów Guacamole
Projekt Apache publikuje obsługiwane obrazy guacamole/guacamole i guacamole/guacd. Dokument Stos Docker Guacamole opisuje oficjalny układ. Szerszy dokument Tryby instalacji Guacamole wyjaśnia, dlaczego uwierzytelnianie za pomocą bazy danych jest preferowane w rzeczywistych wdrożeniach.
Zalecany układ kontenerów
guacamole-web
|
+-- guacd
|
+-- postgres lub mariadb
Umieść wszystkie trzy usługi w prywatnej sieci Docker. Udostępniaj publicznie tylko punkt końcowy Guacamole. Nie udostępniaj bazy danych ani guacd w sieci LAN, chyba że inny komponent rzeczywiście tego wymaga.
Zainicjalizuj bazę danych przed pierwszym logowaniem
Rozszerzenie uwierzytelniania bazodanowego Guacamole wymaga załadowania schematu, zanim aplikacja internetowa będzie mogła przechowywać użytkowników i połączenia. Użyj plików inicjalizacyjnych SQL pasujących do dokładnej wersji Guacamole i typu bazy danych. Zachowaj trwałość katalogu danych bazy.
Umieść HTTPS przed usługą przed udostępnieniem jej zdalnie
Guacamole może przesyłać hasła administratorów i sesje zdalnych pulpitów, dlatego udostępnianie go przez zwykły HTTP tworzy słabą granicę bezpieczeństwa. Użyj odwrotnego serwera proxy z HTTPS i silnym uwierzytelnianiem. Dokument Proxy HTTPS ZimaOS przedstawia sposób konfiguracji odwrotnego proxy w ZimaOS.
Używaj MFA lub SSO, gdy Guacamole jest dostępne z internetu
Apache Guacamole obsługuje rozszerzenia dla TOTP, OpenID Connect, SAML i innych systemów uwierzytelniania. Dostęp do zdalnego pulpitu jest funkcją administracyjną, więc należy odpowiednio go chronić, zamiast polegać wyłącznie na krótkim lokalnym haśle.
Kiedy zamiast tego uruchomić Guacamole na maszynie wirtualnej
Jeśli chcesz odizolować Guacamole od silnika Docker NAS-a lub masz już kilka usług infrastrukturalnych, niewielka maszyna wirtualna Debian/Ubuntu zapewnia przejrzystą granicę aktualizacji i zapory sieciowej. Dokument Wymagania sprzętowe maszyn wirtualnych ZimaOS obejmuje zasoby hosta potrzebne przy takim podziale.
Dokument Wymagania aplikacji ZimaOS pomaga zaplanować zasoby, gdy Guacamole współdzieli NAS z bazami danych, serwerami multimediów i systemami monitorowania.
Przechowuj bazę danych i konfigurację Guacamole oddzielnie
Nie traktuj kontenera internetowego jako części przechowującej stan Guacamole. Konta użytkowników, zapisane połączenia i dane uwierzytelniania znajdują się w bazie danych, natomiast rozszerzenia i niestandardowa konfiguracja mogą znajdować się w zamontowanych katalogach. Wykonaj kopię zapasową tych trwałych elementów przed wymianą obrazów. Czyste pobranie kontenera powinno być rutynową czynnością; odtwarzanie każdego zdalnego połączenia z pamięci — nie.
Poprawnie skonfiguruj obsługę WebSocketów w odwrotnym proxy
Guacamole korzysta z długotrwałych połączeń przeglądarkowych i obsługi WebSocketów podczas interaktywnych sesji. Jeśli logowanie działa, ale zdalne pulpity rozłączają się, zawieszają lub działają słabo za proxy, sprawdź przekazywanie WebSocketów i limity czasu proxy, zanim obwinisz samo RDP/VNC. Zachowaj stabilną ścieżkę lub nazwę hosta Guacamole, aby zachowanie wywołań zwrotnych i sesji przeglądarkowych nie zmieniało się przy każdej aktualizacji.
Oddziel dostęp do Guacamole od danych uwierzytelniających systemów docelowych
Logowanie do Guacamole kontroluje dostęp do bramy, ale system Windows/Linux nadal ma własne dane uwierzytelniające i zasady RDP, VNC lub SSH. Unikaj używania tego samego hasła administratora wszędzie. W przypadku współdzielonego dostępu domowego lub zespołowego utwórz nazwanych użytkowników Guacamole i przyznaj każdemu tylko potrzebne połączenia.
Przetestuj bramę przed jej udostępnieniem
Przed dodaniem publicznego DNS przetestuj jedno połączenie SSH lub RDP z sieci LAN, potwierdź działanie schowka i sesji, uruchom ponownie każdy kontener Guacamole oraz sprawdź, czy zapisane połączenia nadal działają. Następnie przetestuj kopię zapasową i przywracanie bazy danych. Brama, która przetrwa odtworzenie kontenerów, jest znacznie bliższa łatwemu w utrzymaniu wdrożeniu niż taka, która działa tylko do następnej aktualizacji obrazu.
FAQ
Czy Guacamole wymaga klienta desktopowego?
Nie. Użytkownicy łączą się przez przeglądarkę internetową, a Guacamole tłumaczy ruch przeglądarki na sesje RDP, VNC lub SSH.
Czy Guacamole wymaga bazy danych?
W przypadku zarządzania użytkownikami i połączeniami w stylu produkcyjnym — tak. Prosta metoda uwierzytelniania XML nadaje się głównie do podstawowych testów.
Czy należy udostępniać guacd w internecie?
Nie. Trzymaj guacd prywatnie, za aplikacją internetową Guacamole.
Czy Guacamole może zastąpić VPN?
Może zapewnić dostęp przez przeglądarkę do skonfigurowanych zdalnych pulpitów, ale nie jest ogólnym tunelem prywatnej sieci dla każdej usługi.
Czy mogę używać MariaDB zamiast PostgreSQL?
Tak. Obsługiwane opcje uwierzytelniania bazodanowego obejmują bazy zgodne z MySQL oraz PostgreSQL, jeśli zostaną skonfigurowane z odpowiednim rozszerzeniem i schematem.



