You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 55 Next »

h1. JADE Credential Store
See more information about Credential Store here http://www.sos-berlin.com/mediawiki/index.php/Using_CredentialStore_to_securely_store_authentication,_connection_and_other_parameters

Setup KeePassX DB as Credential Store

Download KeePassX and create kdb file

JADE Credential Store (CS) only support KeePassX DB version 1.0
one can download KeePassX desktop utility from https://www.keepassx.org/downloads/

Setup Credential Store with Password

Step 1: Setup KeePassX DB

  • Open the KeePassX utility
  • Choose Password as Master Key
  • Assign password to KeePass DB and click OK

JADE will use the Master key i.e. "password" give during creation process as access password of KeePassX DB.

Setup Credential Store with PPK key

  • Start KeePassX utility
  • Click on Key File as Master key
  • Browse for pre generated ssh key as Master key
  • Click Ok and KeePassX will open and will be ready to add new entries.

Create Credential Store entries

Create Credential Store entry for FTP server

KeePassX DB can organize entries in logical groups, using groups and sub-groups.
One can organize Credential in groups i.e. Internal-Server, External-Server etc, user is free to choose there own organization scheme, for JADE it's make no difference.

  • Create new top group i.e. sos
  • create new sub group i.e. server
  • create new entry wilm.sos for settings
  • {}Title{*} : will be used as Key in hierarchy to access the credentials.
  • {}Username{*} : field used to specify username , username used for file transfer , i.e. ftp/sftp username
  • {}Password{*} : password field is used to specify password , user can use the internal password generation mechanism to specify strong passwords
  • {}Comment{*} : can contain extra parameters for JADE along with credentials, all/any JADE parameter can be specified in Comment section.
  • {}Expires{*} : expiry date for the entry, user can define its own expiry period i.e. 90 days , or check option Never. <be/> JADE will through an error if KeePassX DB entry is not valid.
  • {}Attachment{*} : can have any file used during transfer i.e. public key

Create Credential Store entry for SFTP server

JADE profile(s) with Credential Store

Setup global credential Store profile

Define an profile having all the parameters concerning Credential store. JADE can reuse any profile defined in same jade_settings.ini.
It's recommended to create such fragments and reuse them in prfiles.
Other side User can define multiple KeePassX DB's i.e. Test, Integration, Production and create corresponding profiles for different environment.


 ; Global Profile for  KeePassX Database WithPassword
 [Keepass_DataBase_WithPassword]
 use_credential_Store     = true
 CredentialStore_FileName = C:\sos-berlin.com\jade\credential-store\keepassX-test.kdb
 CredentialStore_password = ********* 

Setup JADE profile for FTP

source_CredentialStore_KeyPath : JADE will refer the entry from KeePassX DB.

source_include : include Credential Store settings.

  [ReceiveUsingKeePass]
 source_include                 = Keepass_DataBase_WithPassword
 source_CredentialStore_KeyPath = sos/server/wilma.sos
 source_dir                     = /tmp/test/jade/out
 source_make_Dirs               = true
 source_transfer_mode           = ascii
 target_protocol                = local
 target_dir                     = $\{TEMP\}/jade/in
 operation                      = copy
 file_spec                      = \.txt$
 transfer_mode                  = ascii

Setup JADE profile for SFTP

  [ReceiveUsingKeePass]
 source_CredentialStore_KeyPath = sos/server/8of9.sos
 source_include                 = Keepass_DataBase_WithPassword
 source_dir                     = /tmp/test/jade/out
 source_make_Dirs               = true
 source_transfer_mode           = ascii
 target_protocol                = local
 target_dir                     = $\{TEMP\}/jade/in
 operation                      = copy
 file_spec                      = \.txt$
 transfer_mode                  = ascii

An Example Transfer Profile

A profile definition for Server to Server transfer, from a sftp to a ftp server:

 [ftp_server_2_server]
 ssh_auth_method=password
 
 source_user=kb
 source_password=*****
 source_ssh_auth_method=password
 source_host=wilma.sos
 source_protocol=sftp
 source_port=22
 
 target_user=test
 target_password=*****
 target_host=8of9.sos
 target_protocol=ftp
 target_port=21
 
 file_spec=^.*\.txt$
 operation=copy
 

In this example all files with the file name extension ".txt" should be transferred from the server "wilma" via sftp to the server 8of9 by ftp. the folders are not explicitly specified and therefore the "home" folders of the user are selected.

Profile fragments TBD

To make the profile more reusable and readable it is possible to reuse profiles snipets in the way like this:

 [wilma]
 user=kb
 password=*****
 ssh_auth_method=password
 host=wilma.sos
 protocol=sftp
 port=22

 [8of9]
 user=test
 password=*****
 host=8of9.sos
 protocol=ftp
 port=21

 [globals]
 log_filename=$\{TEMP\}/sosftphistory.log

The profiles for wilma and 8of9 are defined only once. They could be used as many time as needed in different transfer profiles. There is a "globals" profile as well.

Define Profiles using the include directive TBD

Now we will specify the transfer profile again:

 [ftp_server_2_server]
 source_include=wilma
 target_include=8of9
 operation=copy
 file_spec=^.*\.txt$
   
 [ftp_more]
 target_include=wilma
 source_include=8of9
 operation=move
 file_spec=^.*\.(txt|pdf|dat)$
 source_folder=/outbound/daily
 target_folder=/inbound/transfer

The "include" parameter will include the named profiles in the order they are defined. In the first example wilma will be included as source and in the second example as target. The "globals" profile is included automatically, no need to specifiy it in an include parameter.
The profiles must be defined in the same settings file.

For infos about the parameters see the parameter documentation on jadeParameterReference.

  • No labels