Module 38: Third Party VNC with Guacamole VNC Management

Introduction

When you provide access to miniweb on port 9001 you provide a noVNC session to all the VMs.

Using Apache Guacamole we can provide users with access to only select VMs.

iptables can then be used to block access from all hosts besides the Guacamole and administrator IP addresses.

Installing Guacamole

www.chasewright.com/guacamole-with-mysql-on-ubuntu/

WARNING: It should be noted that serious vulnerabilities in the Guacamole software have been discovered in older versions prior to 2020; ensure that software is up-to-date before installing in production.

wget https://raw.githubusercontent.com/MysticRyuujin/guac-install/master/guac-install.sh chmod +x guac-install.sh apt-get update apt-get -y install dos2unix dos2unix guac-install.sh ./guac-install.sh <type in a mysql password> <type in a Guacamole db password>

Starting VMs

vm kill all vm flush vm config cdrom /home/ubuntu/tinycore.iso vm config memory 128 vm launch kvm lin[1-3] vm start all

Getting vnc_ports

$ .columns name,vnc_port vm info host | name | vnc_port m3   | lin1 | 36357 m3   | lin2 | 35437 m3   | lin3 | 41256

Configuring user access

Be careful not to mix spaces with tabs when creating this file.

nano /etc/guacamole/user-mapping.xml

<user-mapping> <authorize username="a" password="a">  <connection name="lin1">  <protocol>vnc</protocol>  <param name="hostname">192.168.1.100</param>  <param name="port">36357</param>  </connection>  <connection name="lin2">  <protocol>vnc</protocol>  <param name="hostname">192.168.1.100</param>  <param name="port">35437</param>  </connection> </authorize> <authorize username="b" password="b">  <connection name="lin3">  <protocol>vnc</protocol>  <param name="hostname">192.168.1.100</param>  <param name="port">41256</param>  </connection> </authorize> </user-mapping>

When the file is saved its changes are immediately effective.

Access the website from your browser

http://<guacamoleip>:8080/guacamole

Authors

The minimega authors

14 Jun 2017