Installing OpenVPN ALS Adito on CentOS 6.5

Installing OpenVPN ALS Adito on CentOS 6.5
Jérémie Kassianoff
January 5, 2014
4 min read

OpenVPN ALS (Adito), an open source web gateway. Easily install and configure OpenVPN ALS. Requirement: CentOS 6.x distribution.

Real-world use case

You're looking for an open source web VPN gateway for your remote access: here's how to install OpenVPN ALS (Adito) on CentOS 6.5.

OpenVPN ALS is a fork of ssl-explorer, it's a remote access solution that lets users access their local network via a secure web interface developed in Java.
This kind of tool requires special attention to security, since it exposes your LAN.
This article is based on OpenVPN ALS's official wiki.

Installing the prerequisites

Installing the Java build tool on CentOS:

bash
yum install ant

Installing the open source version of Java:

bash
yum install openjdk

Configuring Java:

bash
alternatives --config java

There are 3 programs that provide java, we're currently on version 1.7.0:

bash
Selection    Command
-----------------------------------------------
*  1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
   3           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

For OpenVPN ALS to work, select java version 1.6.0 (option 3 here).

Installing OpenVPN ALS (Adito)

Downloading OpenVPN-ALS Adito:

bash
 wget http://sourceforge.net/projects/openvpn-als/files/adito/adito-0.9.1/adito-0.9.1-bin.tar.gz/download

Extracting the archive:

bash
tar xvzf adito-0.9.1-bin.tar.gz

Moving into the folder:

bash
cd adito-0.9.1

Starting the installation:

bash
ant install
bash
Buildfile: build.xml

set-tools:

check-tools:
     [echo] Couldn't find tools.jar from $ADITO_HOME/adito/lib
     [echo] Copying the tools.jar from your JDK
     [copy] Copying 1 file to /root/adito-0.9.1/lib

check-permissions:

install: y
     [java] Starting installation wizard.Point your browser to http://ip_address:28080.

java

java Press CTRL+C or use the 'Shutdown' option from the web interface to leave the installation wizard. java …………. BUILD SUCCESSFUL Total time: 4 minutes 34 seconds

Java tells us that, to continue the installation, we need to launch our browser at:

bash
http://your_ip:28080.

For reference, you'll need to open port "28080" with iptables:

bash
iptables -A INPUT -p tcp -m tcp --sport 28080 -j ACCEPT

The rest happens in your browser and on OpenVPN-ALS's web installation interface.

Web interface: OpenVPN-ALS (Adito)

The first contact with the interface, creating the certificate:

Next, you need to choose a "passphrase":

The following window shows the certificate creation (example):

  • Hostname: vpn.kassianoff.fr
  • Organisational Unit: IT
  • Company: kassianoff
  • City: Lyon
  • State: Rhône-Alpes
  • Country Code: FR

Once this step is done, click "Next" and configure the superuser's settings:

Once at step 4: leave the port on https (443) and the "ALL" interface in "Allow" mode.
You can change the client permissions (optional).

Step 5 takes you to proxy usage: check the box or not.

The end of the installation gives you a summary of all your choices:

https://content.kassianoff.fr/capture\_adito\_05.pngg

The web interface installation ends with the following message:

bash
Installer Complete : "The adito installer is exiting. [...] you may then start the Adito service.

The services: OpenVPN-ALS (Adito)

For OpenVPN ALS to work fully, you need to install the service with the command:

bash
ant install-service
bash
Buildfile: build.xml

set-tools:

check-tools:

check-permissions:

install-service:
     [echo] Installing Adito as Linux service
     [exec] Detecting Java
     [exec]      Using /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre
     [exec] Detected OS redhat (x86-64)
     [exec] /root/adito-0.9.1/install/platforms/linux/install-service: line 12: /root/adito-0.9.1/conf/wrapper.conf: No such file or directory
     [exec] Service installed
     [echo] Adito installed as Linux service

BUILD SUCCESSFUL
Total time: 0 seconds

Now that the service is installed, start it:

bash
/etc/init.d/adito start

or

bash
ant start
bash
Starting Adito...

/root/adito-0.9.1/install/platforms/linux/adito: /root/adito-0.9.1/install/platforms/linux/x86/wrapper: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

/root/adito-0.9.1/install/platforms/linux/adito: line 213: /root/adito-0.9.1/install/platforms/linux/x86/wrapper: Success

If you get the error message below, install "glibc":

bash
 yum -y install glibc.i686

Restart the service:

bash
ant start
bash
Buildfile: build.xml

create-wrapper-conf:
     [copy] Copying 1 file to /root/adito-0.9.1/conf
     [echo] Creating wrapper configuration dynamically

echo

echo Java executable: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java echo Wrapper directory: install/platforms/linux/x86 set-tools: check-tools: check-permissions: start: exec Starting Adito… exec /root/adito-0.9.1/install/platforms/linux/adito: /root/adito-0.9.1/install/platforms/linux/x86/wrapper: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory exec /root/adito-0.9.1/install/platforms/linux/adito: line 213: /root/adito-0.9.1/install/platforms/linux/x86/wrapper: Success exec Result: 1 echo Adito started BUILD SUCCESSFUL Total time: 0 seconds

Don't forget the iptables rule on port "443":

bash
iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT

The server's web interface: https://ip\_address (or your domain name)

More articles will follow very soon on:

  • Adding Java applications and configuring ssh, rdp, vnc connections.
  • Creating SSH tunnels, web forwarding, user management.
  • Securing your infrastructure specifically for OpenVPN ALS Adito.

Conclusion

I've detailed here the installation of OpenVPN ALS (Adito) on CentOS 6.5, from preparing the Java environment to configuring the certificate and the service via the web installation interface. This remote access gateway lets users join a local network via a simple, secure web interface, making it a lightweight alternative to a traditional VPN. Special attention needs to be paid to the security of this kind of tool, since it directly exposes the local network to the internet.