Skip to main content

PAM Jump Server upgrade

The purpose of this tutorial is to show how to install Jump servers and configure PAM, to use critical resources without knowing the password required.

Jump Server

A jump server, jump host or jump box is a system on a network used to access and manage devices in a separate security zone. A jump server is a hardened and monitored device that spans two dissimilar security zones and provides a controlled means of access between them. (*)

Prerequisites

The PAM Service is only released as a docker service.

1. Install docker ( https://docs.docker.com/install/ )

2. Create a Docker network(*), that network allows you to connect containers to the same bridge network to communicate:

sudo docker network create -d bridge NETWORKNAME

* That network does not have to be the same network defined to install the Console and Sync Servers.

Screen overview

Installation

The steps required to install PAM are:

  1. Create the storage server container.
  2. Create the launcher container.
  3. Register storage server in Soffid console.

Fast path to create storage server and launcher containers

1. To create both containers, you can download the following script: install-pam.sh

2. Before installing, you have to edit the file and set the name of the new network you have created, and the latest versions of store and launcher

.........
docker create \
  --network soffid.internal \
  -v soffid-pam-store:/opt/soffid/tomee/data \
  -p 8081:8080 \
  --name soffid-pam-store \
  soffid/pam-store:1.3.0 >/dev/null
  
......
......
docker create \
  --network soffid.internal \
  -v soffid-pam-launcher:/opt/soffid/tomee/launcher \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -p 8082:8080 \
  -e STORE_SERVER="http://$PUBLIC_IP:8081/" \
  -e STORE_USER="$userid" \
  -e STORE_PASSWORD="$pass" \
  --name soffid-pam-launcher \
  soffid/pam-launcher:1.3.0 >/dev/null

......

3. Finally, you can execute the script

~/Downloads$ bash ./install-pam.sh
A brief description of that script

1.  Creates two volumes, one for the storage and other for the launcher.

2. Creates a storage server container:

2.1. In that container the files and videos recorded will be saved.

2.2. All the data will be saved using a key.

2.3. By default, it will use the 8081 port.

3. Starts the storage container.

4. Generates the user and password to connect the launcher.

5. Creates a launcher server container:

5.1. That container will be in charge of record and send the recording files to the storage.

5.2. Soffid allows you to configure some environment variables:

VariableDescription
STORE_SERVERStore URL
STORE_USERStore user
STORE_PASSWORDStore password
JAVA_KEYSTORE(optional) Key store path that contains the key SSL
KEYSTORE_PASS(optional) SSL key

5.3. By default, it will use the 8082 port. 

6. Starts the launcher container.

7. Generates the encryption key to be used to store the recordings.

8. Generates the user and password that have to be registered on Soffid Console.

You will get something similar to this. When the process is complete, two docker containers should be created: soffid-pam-store and soffid-pam-launcher.

~/Downloads$ bash ./install-pam.sh
=====================
Creating store server
=====================
Waiting for store server
Creating launch server
=============================================================
Process completed
Notice: You must register the store server in Soffid console:
User name: bubu-thinkpad
Password : DRFoeOsD02yph7DERNcAZB8jp3b67bO3D/Ax3uS4PbzuBnPbQLhR1lyAu9PFqRJ0
~/Downloads$ docker ps
CONTAINER ID IMAGE                 COMMAND                  CREATED         STATUS         PORTS                    NAMES
854d7aff5c0a soffid/pam-launcher   "/bin/sh -c /opt/sof…"   4 minutes ago   Up 4 minutes   0.0.0.0:8082->8080/tcp   soffid-pam-launcher
7d66a3d3cfa1 soffid/pam-store      "/bin/sh -c /opt/sof…"   4 minutes ago   Up 4 minutes   0.0.0.0:8081->8080/tcp   soffid-pam-store

Next, you must open the Jump Server page in Soffid console. At this page, you must register the store and launcher servers, using the user name and password displayed it the previous step. Visit the Configure PAM session servers on Soffid Console to finish the installation process.

image-1625145417983.png

Privileged Account Session Recording

Be in mind that you need to download the latest image of the required  Privileged Account Session Recording that you need depending on the protocol.

  • soffid-pars-ssh. 
  • soffid-pasr-rdp. 
  • soffid-pasr-sql.
  • soffid-pasr-http.
  • soffid-pasr-https.
Examples

Linux

docker pull soffid/soffid-pasr-ssh

Windows

docker pull soffid/soffid-pasr-rdp

Upgrade 

To upgrade PAM you will need to run two scripts, one for the store and other for the launcher.

Upgrade store

To upgrade the storage container you can download and execute the following script: upgrade-store.sh

~/Downloads$ bash ./upgrade-store.sh
A brief description of that script

1. Gets the latest version of the PAM store.

2. Stops the store container.

3. Removes the store container.

4. Ceates a new store container.

5. Starts a new store container.

Upgrade launcher

To upgrade the launcher container you can download and execute the following script: upgrade-launcher.sh

~/Downloads$ bash ./upgrade-launcher.sh
A brief description of that script

1. Gets the latest version of the PAM launcher.

2. Gets environment variables of current docker to create the new docker with the same configuration

3. Stops the launcher container.

4. Removes the launcher container.

5. Ceates a new launcher container.

6. Starts a new launcher container.


(*) https://en.wikipedia.org/wiki/Jump_server