Implantação Dura do Guacamole em Ambientes de Governo com Inovação Tecnológica

Para implementar o Guacamole com suporte a VNC e áudio em tempo real usando coturn em projetos governamentais, é necessário seguir um processo de implantação manual. Este guia detalha os passos para configurar o Guacamole Server em um ambiente restrito, sem dependência de cotnainers.

Pré-requisitos e Download

Certifique-se de ter acesso a um servidor com Linux instalado e permissões de root. Baixe o Guacamole Server e os drivers JDBC necessários do site oficial do Apache Guacamole. Extraia os arquivos usando comandos como:

tar -xzf guacamole-server-1.6.0.tar.gz
tar -xzf mysql-connector-java-8.0.33.tar.gz
tar -xzf guacamole-auth-jdbc-1.6.0.tar.gz

Compilação do Guacamole Server

Navegue até o diretório extraído e execute a configuração. É crucial instalar todas as dependências antes, incluindo suporte a VNC. Por exemplo, em sistemas baseados em RHEL, instale pacotes como:

yum install -y libjpeg-devel
yum install -y vncserver

Em seguida, compile o servidor com opções específicas:

cd guacamole-server-1.6.0
./configure --with-init-dir=/etc/init.d
make
sudo make install
sudo ldconfig

Verifique a saída da compilação para garantir que o suporte a VNC esteja habilitado (procure por "vncview----------yes").

Instalação de Serviços Auxiliares

Instale o JDK e o Tomcat se ainda não estiverem presentes. Use gerenciadores de pacotes do sistema:

sudo yum install -y java-11-openjdk-devel
sudo yum install -y tomcat tomcat-admin-webapps tomcat-webapps

Inicie e habilite os serviços para iniciar automaticamente:

sudo systemctl enable guacd
sudo systemctl start guacd
sudo systemctl enable tomcat
sudo systemctl start tomcat

Configuração do Banco de Dados e Autenticação

Crie diretórios para configuração e extensões do Guacamole:

sudo mkdir -p /etc/guacamole/{extensions,lib}

Copie o arquivo WAR para o Tomcat e os drivers JDBC para os diretórios apropriados:

sudo cp guacamole-1.6.0.war /var/lib/tomcat/webapps/guacamole.war
sudo cp mysql-connector-j-8.2.0.jar /etc/guacamole/lib/
sudo cp guacamole-auth-jdbc-1.5.0/mysql/guacamole-auth-jdbc-mysql-1.6.0.jar /etc/guacamole/extensions/

Crie ou edite o arquivo de propriedades do Guacamole para integração com MySQL e WebRTC:

sudo vi /etc/guacamole/guacamole.properties

Adicione as seguintes linhas, ajustando os parâmetros conforme necessário:

guacd-hostname: 127.0.0.1
guacd-port: 4822
mysql-hostname: db_host
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: admin_user
mysql-password: secure_password
enable-websocket: true
enable-clipboard-integration: true
guacamole.websocket.timeout=120000
webrtc-enable-mic: true
webrtc-turn-server: turn:turn_host:3478
webrtc-turn-username: turn_user
webrtc-turn-password: turn_password
webrtc-turn-tls: false

Para versões superiores a 1.6.0, a autenticação MySQL pode ser detectada automaticamente, então a linha "auth-provider" pode ser omitida.

Permissões e Reinicialização

Ajuste as permissões dos diretórios e arquivos para que o Tomcat possa acessá-los:

sudo chown -R tomcat:tomcat /etc/guacamole
sudo chmod -R 755 /etc/guacamole

Reinicie os serviços para aplicar as alterações:

sudo systemctl restart guacd
sudo systemctl restart tomcat

Verifique o status dos serviços e analise os logs para erros, por exemplo:

sudo systemctl status guacd tomcat
tail -f /var/log/tomcat/catalina.out
tail -f /var/log/messages | grep guacd

Conceitos Técnicos do Guacamole

O Guacamole é um gateway de desktop remoto que permite acesso via navegador. Ele atua como um proxy, traduzindo protocolos como RDP, VNC e SSH em uma interface web baseada em HTML5. A arquitetura inclui o cliente JavaScript no navegador e o servidor guacd, que gerencia as conexões com máquinas remotas. Isso elimina a necessidade de software cliente local, oferecendo segurança através de isolamento e suporte a autenticação externa.

Tags: Guacamole VNC RDP coturn WebRTC

Publicado em 6-12 22:24 por Thomas