Em suma: o Guacamole moderno é um serviço composto por três partes, não apenas um contentor Web
O Apache Guacamole permite o acesso a RDP, VNC e SSH através do navegador, sem um cliente de ambiente de trabalho. Uma implementação Docker de nível de produção inclui normalmente a aplicação Web do Guacamole, o guacd e uma base de dados, como PostgreSQL ou MySQL/MariaDB. O antigo pacote BigBearCasaOS de 2023 deve ser encarado como uma solução histórica e conveniente, não como referência de arquitetura.
Utilize os contentores oficiais do Guacamole
O projeto Apache publica as imagens suportadas guacamole/guacamole e guacamole/guacd. A stack Docker do Guacamole descreve a configuração oficial. Os modos de instalação do Guacamole explicam por que motivo a autenticação através de base de dados é preferível em implementações reais.
Configuração recomendada dos contentores
guacamole-web
|
+-- guacd
|
+-- postgres ou mariadb
Mantenha os três serviços numa rede Docker privada. Publique apenas o endpoint Web do Guacamole. Não publique a base de dados nem o guacd na LAN, a menos que outro componente necessite realmente deles.
Inicialize a base de dados antes do primeiro início de sessão
A extensão de autenticação através de base de dados do Guacamole precisa de ter o respetivo esquema carregado antes de a aplicação Web poder armazenar utilizadores e ligações. Utilize os ficheiros de inicialização SQL correspondentes à versão exata do Guacamole e ao tipo de base de dados. Mantenha persistente o diretório de dados da base de dados.
Coloque HTTPS à frente antes de o expor remotamente
O Guacamole pode transportar palavras-passe de administrador e sessões de ambiente de trabalho remoto, pelo que expô-lo através de HTTP simples é uma fronteira de segurança inadequada. Utilize um proxy inverso com HTTPS e autenticação forte. O proxy HTTPS do ZimaOS fornece o padrão de proxy inverso do ZimaOS.
Utilize MFA ou SSO quando o Guacamole estiver acessível através da Internet
O Apache Guacamole suporta extensões para TOTP, OpenID Connect, SAML e outros sistemas de autenticação. O acesso a ambientes de trabalho remotos é uma função administrativa; proteja-o adequadamente, em vez de depender apenas de uma palavra-passe local curta.
Quando executar o Guacamole numa VM
Se quiser isolar o Guacamole do motor Docker do NAS, ou se já tiver vários serviços de infraestrutura, uma pequena VM Debian/Ubuntu proporciona uma fronteira limpa para atualizações e firewall. Os requisitos de VM do ZimaOS abrangem os recursos do anfitrião necessários para essa separação.
Os requisitos de aplicações do ZimaOS são úteis quando o Guacamole partilha o NAS com bases de dados, servidores multimédia e sistemas de monitorização.
Mantenha a base de dados e a configuração do Guacamole persistentes e separadas
Não trate o contentor Web como a parte com estado do Guacamole. As contas de utilizador, as ligações guardadas e os dados de autenticação ficam na base de dados, enquanto as extensões e a configuração personalizada podem ficar em diretórios montados. Faça cópias de segurança desses componentes persistentes antes de substituir as imagens. Obter um contentor novo deve ser uma tarefa normal; reconstruir todas as ligações remotas de memória não deve ser.
Configure corretamente os WebSockets no proxy inverso
O Guacamole utiliza ligações persistentes do navegador e suporte para WebSockets em sessões interativas. Se o início de sessão funcionar, mas os ambientes de trabalho remotos se desligarem, bloquearem ou apresentarem um desempenho fraco atrás de um proxy, verifique o encaminhamento de WebSockets e os tempos limite do proxy antes de culpar o próprio RDP/VNC. Mantenha estável o caminho ou nome de anfitrião do Guacamole para que o comportamento dos callbacks e das sessões do navegador não mude a cada atualização.
Separe o acesso ao Guacamole das credenciais dos sistemas de destino
Um início de sessão no Guacamole controla a entrada no gateway; o destino Windows/Linux continua a ter as suas próprias credenciais e políticas de RDP, VNC ou SSH. Evite reutilizar a mesma palavra-passe de administrador em todo o lado. Para acesso partilhado em casa ou numa equipa, crie utilizadores nomeados do Guacamole e atribua apenas as ligações de que cada pessoa necessita.
Teste o gateway antes de o expor
Antes de adicionar DNS público, teste uma ligação SSH ou RDP a partir da LAN, confirme o comportamento da área de transferência e das sessões, reinicie todos os contentores do Guacamole e verifique se as ligações guardadas continuam a funcionar. Em seguida, teste uma cópia de segurança e o restauro da base de dados. Um gateway que sobreviva à recriação dos contentores está muito mais próximo de uma implementação fácil de manter do que um que só funciona até à próxima atualização da imagem.
FAQ
O Guacamole precisa de um cliente de ambiente de trabalho?
Não. Os utilizadores ligam-se através de um navegador Web, enquanto o Guacamole traduz o tráfego do navegador em sessões RDP, VNC ou SSH.
O Guacamole precisa de uma base de dados?
Para uma gestão de utilizadores e ligações de nível de produção, sim. O método simples de autenticação XML é sobretudo adequado para testes básicos.
Devo expor o guacd à Internet?
Não. Mantenha o guacd privado, atrás da aplicação Web do Guacamole.
O Guacamole pode substituir uma VPN?
Pode fornecer acesso através do navegador a ambientes de trabalho remotos configurados, mas não é um túnel de rede privada geral para todos os serviços.
Posso utilizar MariaDB em vez de PostgreSQL?
Sim. As opções de autenticação através de base de dados suportadas incluem bases de dados compatíveis com MySQL e PostgreSQL, quando configuradas com a extensão e o esquema correspondentes.
