Mudanças entre as edições de "Gateway acesso remoto"

De Wiki BPF
Ir para: navegação, pesquisa
Linha 37: Linha 37:
 
</pre>
 
</pre>
  
 +
Depois que o código fonte do guacamole-server foi baixado e extraído você precisará construir o arquivo configure, que no caso do download pelo GitHub ele não é incluído.
  
 +
<pre>
 +
$ cd guacamole-server/
 +
$ autoreconf -fi
 +
</pre>
  
2.
+
Em seguida agora podemos executar o configure para instalar um script de inicialização do guacd no diretório /etc/init.d/ para que seja inicializado de forma automática a cada reboot.
  
3.
+
<pre>
 +
$ ./configure --with-init-dir=/etc/init.d
 +
$ make
 +
$ make install
 +
</pre>
  
4.
+
 
 +
=== Apache Guacamole Client ===
 +
 
 +
A parte do guacamole-client é compactada em um arquivo .war totalmente independente, chamado guacamole.war e pode ser feito seu download no site do apache guacamole. Novamente sempre é recomendado a última versão estável. A sua instalação envolve copiá-lo para o diretório do contêiner do servlet CATALINA_HOME/webapps/. O diretório varia de acordo com a sua instalação e normalmente o diretório padrão é /usr/share/tomcat/webapps
 +
 
 +
<pre>
 +
# cp guacamole.war /usr/share/tomcat/webapps
 +
</pre>
 +
 
 +
Depois que o arquivo guacamole.war estiver copiado é necessário reiniciar o Tomcat para implantar o novo aplicativo da web.
 +
 
 +
<pre>
 +
# systemctl restart tomcat
 +
</pre>
 +
 
 +
Verificar possíveis mensagem de erro e caso esteja sendo executado com sucesso mesmo assim ele está desconfigurado e devemos realizar algumas etapas adicionais no arquivo de configuração principal guacamole.properties.

Edição das 17h21min de 15 de julho de 2020

Introdução

Com a pandemia do COVID-19 nossa rotina diária de trabalho de ir a empresa todos os dias foi alterado bruscamente e a necessidade de acesso aos recursos computacionais da empresa de maneira remota causou uma correria na busca de soluções de TI para suportar a demanda. O Home Office que muito se ouvia falar foi finalmente instituído na maioria das empresas ao redor do mundo.

No cenário das Universidades não foi diferente. A necessidade de acesso equipamentos de pesquisa em laboratórios, aos desktops dos laboratórios de informática, sistemas internos e servidores exigiu de todos os profissionais de TI a busca por soluções que envolva um acesso de forma segura, fácil para o usuário e que demonstre um bom desempenho no acesso de um grande conjunto de dispositivos computacionais de maneira orquestrada.

Segundo o levantamento da empresa Kaspersky houve um aumento em 330% de ataques a sistemas de acesso remoto no Brasil. A adesão “forçada” pelo home office fez disparar os ciberataques direcionados ao “Remote Desktop Protocol (RDP)” e em menor quantidade também ao VNC (Virtual Network Computing). Devido a necessidade de transferir a maioria dos seus colaboradores para o trabalho a distância em seus lares, muitas empresas deixaram as medidas de segurança ou com pouca proteção, fazendo liberações indiscriminadas de portas de acesso remoto no firewall corporativo, muitas vezes sem criptografia, senhas fortes ou habilitando a autenticação em dois fatores.

Este breve artigo tem como objetivo demonstrar uma configuração básica inicial de forma oferecer um gateway de acesso a desktops de forma remota, clientless, utilizando o software livre e de código aberto chamado Apache Guacamole.

Projeto Apache Guacamole

O Apache Guacamole é uma infraestrutura que possibilita o acesso remoto a desktops utilizando apenas o navegador Web, sem a instalação de nenhum plug-in ou software cliente. Uma vez conectado ao servidor Guacamole ele age com um intermediário (proxy) até um desktop específico localizado na rede local da empresa, utilizando um dos protocolos suportados mais utilizados como: RDP, VNC, SSH. Na Figura 1 podemos compreender a infraestrutura e os seus componentes durante uma conexão fora do perímetro corporativo.


Todo o projeto é separado em guacamole-server, que fornece o proxy guacd e as bibliotecas relacionadas e o guacamole-client, que fornece o cliente para ser atendido pelo contêiner do servlet do Tomcat. Portanto precisamos que o ambiente a ser instalado ja contemple o Tomcat maior que a versao 8.5. O guacamole-client está disponível em formato binário, mas o guacamole-server deve ser construído a partir do código fonte. Ambas as partes serão descritas com detalhes nos tópicos seguintes.

Ambas as partes serão descritas com detalhes nos tópicos seguintes.

Apache Guacamole Server

O guacamole-server contém em seu código fonte todos os componentes básicos do lado do servidor exigidos pelo para conectar-se a áreas de trabalho remotas. Mesmo assim algumas dependências são necessárias como: cairo, libjpeg, libpng e da biblioteca OSSP UUID. Elas devem estar presentes e instaladas de acordo com a distribuição Linux utilizada. No caso deste artigo, será utilizado o CentOS.

Algumas dependências são absolutamente necessárias, enquanto outras são opcionais. A presença de dependências opcionais permite recursos adicionais como por exemplo:

  • Suporte ao VNC: depende da biblioteca libvncclient
  • Suporte ao RDP depende do FreeRDP (utilizar a versão 2.0 mais atualizada devido a evitar problemas de segurança)
  • Suporte a SSH depende de libssh2, OpenSSL e Pango
  • Ssuporte ao Kubernetes depende de libwebsockets, OpenSSL e Pango.

A compilação do guacamole-server cria um executável chamado guacd que pode ser executado manualmente ou de forma automática como serviço. É desejável e recomendado sempre fazer o download do código fonte mais recente clonando o repositório git da guacamole no GitHub:

git clone git://github.com/apache/guacamole-server.git

Depois que o código fonte do guacamole-server foi baixado e extraído você precisará construir o arquivo configure, que no caso do download pelo GitHub ele não é incluído.

$ cd guacamole-server/
$ autoreconf -fi

Em seguida agora podemos executar o configure para instalar um script de inicialização do guacd no diretório /etc/init.d/ para que seja inicializado de forma automática a cada reboot.

$ ./configure --with-init-dir=/etc/init.d
$ make
$ make install


Apache Guacamole Client

A parte do guacamole-client é compactada em um arquivo .war totalmente independente, chamado guacamole.war e pode ser feito seu download no site do apache guacamole. Novamente sempre é recomendado a última versão estável. A sua instalação envolve copiá-lo para o diretório do contêiner do servlet CATALINA_HOME/webapps/. O diretório varia de acordo com a sua instalação e normalmente o diretório padrão é /usr/share/tomcat/webapps

# cp guacamole.war /usr/share/tomcat/webapps

Depois que o arquivo guacamole.war estiver copiado é necessário reiniciar o Tomcat para implantar o novo aplicativo da web.

# systemctl restart tomcat

Verificar possíveis mensagem de erro e caso esteja sendo executado com sucesso mesmo assim ele está desconfigurado e devemos realizar algumas etapas adicionais no arquivo de configuração principal guacamole.properties.