CAU 02 Conjur - Fundamentals Installation
CAU 02 Conjur - Fundamentals Installation
Installation
CyberArk Training
1
LESSON OBJECTIVES
This lesson provides installation overview for the Conjur Secrets Manager solution.
Upon completion of this lesson the participant will be able to:
• Learn the system requirements and prerequisites to install Conjur
• Learn how to install a high-availability Conjur Secrets Manager solution
• Learn how to verify system health
2
2
REQUIREMENTS
3
REQUIREMENTS: CONJUR SYSTEM
6
PORTS & PROTOCOLS
PG-MAIN (5432)
• PostgreSQL Database Replication (Main Database)
PG-AUDIT (1999)
• PostgreSQL Database Replication (Audit/Logs) Follower Follower Follower
7
REQUIREMENTS: FOLLOWER INFRASTRUCTURE
8
REQUIREMENTS: CERTIFICATE
9
ARCHITECTURE: HIGHLY SCALABLE
Web App
App
Application Requests
Application Requests
TCP 443
TCP 443
Web App
App conjur-follower.corp.com
conjur-cluster.corp.com
10
TERMINOLOGY: CONJUR HIGH AVAILABILITY
Data is transferred from the active Leader (Master) to the Standbys and Followers using PostgreSQL
streaming replication. Streaming replication uses a continuous connection between the 'upstream’ Leader
REPLICATION:
and each 'downstream' Standby or Follower. In the absence of any network problems, transfer from the
Leader to the downstream is virtually instantaneous.
The Leader (Master) and all Followers generate audit records that capture all activity. A Follower forwards its
AUDITING:
audit events to the Leader.
All traffic within the cluster is secured by verified TLS (HTTPS, LDAPS, or PostgreSQL with Mutual TLS) - the
Mutual TLS for replication is key as it allows ports to be open across data centers without needing to worry
SECURE
about DDoS attacks. Each Conjur Server (Leader/Standby/Follower) has an SSL certificate which is issued
COMMUNICATION:
by a common certificate authority (CA). On setup, self signed certificates are generated and configured.
These certificates can be swapped for those generated by your organization.
To create a new Standby or Follower, a seed file of information from the Leader is required. An authorized
administrator generates the seed file on the Leader, copies it, and unpacks it on the new server. The seed file
SEED FILES:
contains sensitive information, including configuration settings, and server keys. Be sure to restrict access to
seed files and protect the information.
The server keys (data key, Conjur UI key, and SSL keys) can be encrypted using a master key. When the
server keys are encrypted, no plaintext keys are stored on the server hard disk or included in the seed
SERVER KEY:
files. Conjur supports Hardware Security Module (HSM) and Amazon Key Management Service (AWS KMS)
integrations for key encryption.
Within a Conjur cluster, fail-over to a healthy Standby can occur automatically or manually in the event of the
FAIL-OVER:
failure of the Leader. Both automatic and manually-triggered failover is supported.
11
DOCKER COMMAND REVIEW
12
DOCKER COMMANDS OVERVIEW
13
INSTALLATION PROCEDURES:
LEADER (MASTER)
14
INSTALLATION WORKFLOW: LEADER (MASTER)
ACTIVATE
15
STEP 1: OPEN PORTS
16
STEP 2: CREATE SYSTEM FOLDERS
18
STEP 4: LOAD CONJUR IMAGE
Load Image:
docker load -i conjur-appliance_<version>.tar
19
STEP 5: DOCKER SECURITY PROFILE
20
STEP 6: CREATE CONJUR CONTAINER (LEADER/STANDBY)
21
STEP 7: CONFIGURE CONJUR USING EVOKE
22
STEP 8: IMPORT CERTIFICATE (OPTIONAL)
23
STEP 9: ENCRYPT SERVER KEYS (OPTIONAL)
24
STEP 10: VERIFY HEALTH
25
INSTALLATION PROCEDURES:
STANDBY
26
INSTALLATION WORKFLOW: STANDBY
ACTIVATE
27
STEPS 1 TO 6: REPEAT SAME AS LEADER (MASTER)
28
STEP 7: CREATE/UNPACK SEED FILE (STANDBY)
29
STEP 8: EVOKE CONFIGURE STANDBY
30
STEP 9: EVOKE REPLICATION
Enable Cluster Replication (Synchronous Standby): # Evoke Replication: Standby Server (asynchronous)
$ docker exec $standbyContainer evoke replication sync
docker exec <standby-container> evoke disable
replication sync enable
# Evoke Replication: Leader Server (with 2 or more
Enable Cluster Replication (Asynchronous Standby): synchronous standbys)
docker exec <standby-container> evoke $ docker exec $LeaderContainer evoke replication sync
replication sync disable start
Start Cluster Replication (Leader): # Evoke Replication: Leader Server (with only 1
docker exec <leader-container> evoke synchronous standby)
replication sync start $ docker exec $leaderContainer evoke replication sync start
--force
31
INSTALLATION PROCEDURES:
FOLLOWER
32
INSTALLATION WORKFLOW: FOLLOWER
IMPLEMENT
ACTIVATE
33
STEPS 1 TO 5: REPEAT SAME AS LEADER (MASTER)
34
STEP 6: CREATE CONJUR CONTAINER (FOLLOWER)
35
STEP 7: CREATE/UNPACK SEED FILE (FOLLOWER)
37
CONJUR
SERVER STATUS
38
** CHANGE SCREENSHOT *** CONJUR SERVER STATUS: CONJUR
UI
Verify Server Status from UI
• Authenticate to Conjur UI using an
admin credential, then select the
settings icon in top right corner of
the UI
• Select Conjur Cluster from the menu
39
*** CHANGE SCREENSHOT*** CONJUR SERVER STATUS: CONJUR
CLI
Verify Server Status from Conjur
CLI
• Verify Conjur Server Health from
Docker Container
docker exec <conjur_container>
curl -s -k
https://localhost/health
• Verify Conjur Server Health from
Network
curl -s -k --cacert <cert.pem>
https://<conjur>/health
40
SUMMARY
41
SUMMARY
42
42
THANK YOU
43