Apache Guacamole vs. Autenticação do Ative Directory

Já falamos sobre as maravilhas do Apache Guacamole em alguma outra ocasião, esta plataforma para conexão segura ao nosso ambiente via RDP, SSH, VNC… Ideal para pequenas empresas, Laboratórios ou treinamentos. Hoje vamos ver como integrá-lo ao Ative Directory e publicar certos recursos para diferentes usuários!

O que eu disse, em Este post anterior, já vimos como instalar o Apache Guacamole, e como protegê-lo por trás de um proxy reverso. Usaremos este produto para publicar com segurança qualquer área de trabalho remota na Internet usando RDP, bem como VNC ou SSH, entre outros. Poderemos permitir de forma segura a ligação remota dos nossos utilizadores à organização, Vamos permitir que eles se conectem bem às suas posições tradicionais, ou, por exemplo, contra um pool de máquinas que oferecem um desktop, como alguns servidores VDI ou Área de Trabalho Remota.

A ideia deste post será permitir que certos usuários do Ative Directory se conectem com seu próprio usuário e, portanto, não usem usuários locais, cada um com uma senha diferente… E uma vez que o Apache Guacamole está conectado ao AD, Seremos capazes de criar as conexões que queremos publicar mais tarde para nossos usuários.

Primeiro, instalamos a extensão para autenticação LDAP :

WGET HTTP://apache.mirror.iphh.net/guacamole/1.3.0/binary/guacamole-auth-ldap-1.3.0.tar.gz tar xvzf guacamole-auth-ldap-1.3.0.tar.gz sudo cp ./guacamole-auth-ldap-1.3.0/guacamole-auth-ldap-1.3.0.jar /etc/guacamole/extensions/

Editamos e adicionamos no arquivo de configuração do Apache Guacamole /etc/guacamole/guacamole.properties a configuração de conexão com o Ative Directory.

guacd-nome do host: localhost guacd-port: 4822
#mapeamento de usuários: /etc/guacamole/user-mapping.xml #auth-provedor: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider auth-provider: net.sourceforge.guacamole.net.auth.ldap.LDAPAuthenticationProvider ldap-hostname: DIRECCIÓN_IP_CONTROLADOR_DE_DOMINIO ldap-port: 389 # Ou seguro: 636
ldap-usuário-base-dn: OU=rota,DC=domínio,DC=ldap-nome-de-usuário local atributo: samAccountName ldap-config-base-dn: OU=rota,DC=domínio,DC=ldap-encryption-method local: nenhum # Ou seguro: SSL, starttls ldap-search-bind-dn:cn=usuario_LDAP,OU=rota,DC=domínio,DC=ldap-search-bind-password local:PALAVRA-PASSE

E reiniciamos o Tomcat:

sudo systemctl reiniciar tomcat9

Agora temos 2 Opções, ou toque e estenda nosso esquema AD para adicionar atributos aos usuários, Como assim… ou a criação de um MySQL no próprio equipamento Guacamole, onde os usuários e suas atribuições serão armazenados em um banco de dados. É verdade que este último é menos assustador… Então instalamos o MariaDB:

sudo apt-get instalar mariadb-server mariadb-client

Defina o fuso horário como MariaDB editando o arquivo /etc/mysql/mariadb.conf.d/50-server.cnf

[Mysqld]
...
default-time-zone='+01:00'
...

É hora de criar o banco de dados e usuário para Guacamole, primeiro nos conectamos ao MySQL:

sudo mysql -uroot

E o que eu disse, Criamos a base de dados, o usuário e dar as permissões correspondentes:

CRIAR BANCO DE DADOS bd_guacamole;
CREATE USER 'USUARIO_GUACAMOLE'@'localhost' IDENTIFIED BY 'CONTRASEÑA';
CONCEDER SELEÇÃO,INSERIR,ATUALIZAÇÃO,DELETE ON bd_guacamole.* to 'USUARIO_GUACAMOLE'@'localhost';
PRIVILÉGIOS FLUSH;

Para poder usar a autenticação MySQL, Primeiro, baixamos a seguinte extensão: https://apache.org/dyn/closer.lua/guacamole/1.3.0/binary/guacamole-auth-jdbc-1.3.0.tar.gz?action=download nós baixamos e instalamos:

Tar ZXFV guacamole-auth-jdbc-1.3.0.tar.gz sudo cp guacamole-auth-jdbc-1.3.0/mysql/guacamole-auth-jdbc-mysql-1.3.0.jar /etc/guacamole/extensions/

Nós baixamos o conector https://dev.mysql.com/downloads/connector/j/ para o nosso Ubuntu, no meu caso, um 20.04 (https://dev.mysql.com/downloads/file/?id=504646) e nós instalamos:

sudo dpkg -i mysql-connector-java_8.0.25-1ubuntu20.04_all.deb sudo ln -s /usr/share/java/mysql-connector-java-8.0.25.jar /etc/guacamole/lib/.

Criamos o esquema de banco de dados:

gato guacamole-auth-jdbc-1.3.0/mysql/schema/*.sql | sudo mysql -uroot bd_guacamole

Nós editamos nosso amado arquivo de configuração Guacamole /etc/guacamole/guacamole.properties e adicionamos no final:

mysql-nome do host: localhost mysql-porta:3306
banco de dados mysql: bd_guacamole mysql-username: USUARIO_GUACAMOLE mysql-password: PALAVRA-PASSE

E reiniciamos os serviços Tomcat e Guacd para recarregar as alterações anteriores:

sudo systemctl reiniciar tomcat9 guacd

Entramos em Guacamole como guacadmin/guacadmin e alteramos a senha, mas, ¡olho!

Temos que criar no nosso Ative Directory (dentro da nossa Base DN) Um usuário chamado guacadmin, e NÃO deve ter a mesma senha que aqui. uma vez que o que temos conectado com é o usuário MySQL guacadmin e o outro será para LDAP. Uma vez que seremos capazes de fazer login com usuários LDAP e usuários MySQL

E se entrarmos novamente em Guacamole com guacadmin e a senha do AD poderemos ver todos os usuários da Base DN de “Configuração” > “Usuários”.

Bem, a próxima coisa será criar as diferentes conexões que queremos, em seguida, vamos atribuí-los, desde “Configuração” > “Conexões” > “Nova conexão”

Por isso, damos um nome à ligação, Escolhemos o protocolo, lembre-se que pode ser RDP para Área de Trabalho Remota, SSH, Telnet, VNC ou Kubernetes,

Mais abaixo, nos parâmetros, indicaremos o endereço IP local da máquina alvo, Poderíamos pré-preencher os campos de nome de usuário e senha, ou deixá-los vazios para o usuário digitar, ou também podemos pegar o usuário da sessão com a qual ele fez login e indicá-lo usando essas duas variáveis:

${GUAC_USERNAME}
${GUAC_PASSWORD}

E nada, em seguida, na configuração de cada usuário, seremos capazes de atribuir as conexões individualmente.

À medida que cada utilizador inicia sessão com a sua conta, pois se apenas o atribuímos 1 conexão, Você será automaticamente conectado contra essa equipe. E se tivermos atribuído vários, Quando você fizer login, ele poderá escolher a qual sessão se conectar 🙂

Em um próximo post, veremos como configurar uma autenticação de dois fatores para proteger ainda mais o acesso. Como de costume, esperando que você ache os posts interessantes, ¡Abraços!

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!