Preconditions

  • A YADE Client in the DMZ is used to send files to the internet via a DMZ as a jump server it is necessary to install the YADE client (barebone client without configuration)  on the jump server before starting the file transfer.
  • YADE Client or JobScheduler with YADE JITL Jobs on local site.
  • Configuration file with YADE profiles

Start the File Transfer

The file transfer can be started by using

  1. the local jade4dmz client from command line
  2. the job chain job_chain_jade4dmz.job_chain.xml with orders 
    • order job_chain_jade4dmz,CopyFromInternet.order.xml
    • order job_chain_jade4dmz,CopyToInternet.order.xml

The jade4dmz client is to be started with

 jade4dmz.cmd|sh <configuration file name> <section name> 

Send files to internet via DMZ

 

The process is controlled and checked by a YADE Client in the intranet.
The YADE Client is running the steps described below and as shown in the diagram.

(1) Copy data

As a first step, after checking and creating the temp-folder, the files from the local file system are copied by the YADE Client to the temporary folder in the DMZ.

(2) Start YADE Client on DMZ by SSH

The YADE Client is starting the YADE CLI on the DMZ, using SSH.

(3) Copy data to Internet

The YADE CLI on the DMZ is transferring the files to the destination site in the internet.

(4) Delete data on DMZ

After successful transfer the YADE Client is deleting the files on the DMZ using SSH.

(5) Delete data on local

If configured to do so, the files on the sending site will be deleted by the YADE Client.

Example CopyToInternet YADE JITL Job

YADE JITL Job CopyToInternet
<?xml version="1.0" encoding="ISO-8859-1"?>
<job  order="no" stop_on_error="no">
    <params >
	    <!-- SOURCE ==> DMZ ==> TARGET -->
	    <!-- file settings -->
        <param  name="file_spec"              value="^jade_test_bigfile_.*\.csv$"/>
        <!-- operation copytointernet -->
        <param  name="operation"              value="copytointernet"/>
        <param  name="verbose"                value="2"/>

		<!-- file source local_source Jobscheduler host-->
		<param  name="source_host"            value="localhost"/>
        <param  name="source_dir"             value="C:\sandbox\source"/>
        <param  name="source_protocol"        value="local"/>
        		
        <!-- DMZ server settings-->		
		<param  name="jump_host"              value="gollum"/>
        <param  name="jump_user"              value="jenkins"/>
        <param  name="jump_ssh_auth_method"   value="password"/>
        <param  name="jump_password"          value="Bt347w%3Ka-AuZp"/>
        <param  name="jump_protocol"          value="sftp"/>
        <param  name="jump_command"           value="/home/jenkins/sos-berlin.com/jade/client.1.7-SNAPSHOT/bin/jade.sh"/>
		
        <!-- target server settings-->		
		<param  name="target_host"            value="homer.sos"/>
		<param  name="target_port"            value="22"/>
        <param  name="target_protocol"        value="sftp"/>
        <param  name="target_user"            value="test"/>
        <param  name="target_ssh_auth_method" value="password"/>
        <param  name="target_password"        value="D3f*-ex;n55N6Hx"/>
        <param  name="target_dir"             value="/home/test/inbound"/>
        <!-- use explicit passive mode if firewall blocks the data connection -->
        <param  name="target_passive_mode"    value="true"/>       
    </params>
    <script  language="java" java_class_path="" java_class="sos.scheduler.jade.Jade4DMZJob"/>
    <run_time />
</job>

Example CopyToInternet YADE Client Profile

YADE Client Profile CopyToInternet
[CopyFromInternet]
file_spec              = \.txt$
;;operation copyfrominternet 
operation              = copyfrominternet
verbose                = 2
;; file source server settings
;;
source_host            = homer.sos
source_port            = 22
source_protocol        = sftp
source_user            = test
source_ssh_auth_method = password
source_password        = D3f*-ex;n55N6Hx
source_dir             = /home/test/outbound
;; use explicit passive mode if firewall blocks the data connection -->
source_passive_mode    = true	
;; DMZ server settings
;;
jump_host              = gollum
jump_user              = jenkins
jump_ssh_auth_method   = password
jump_password          = Bt347w%3Ka-AuZp
jump_protocol          = sftp
jump_command           = /home/jenkins/sos-berlin.com/jade/client.1.7-SNAPSHOT/bin/jade.sh

;; file target localhost ( YADE Client host)
;;
target_host            = localhost
target_dir             = C:\sandbox\target
target_protocol        = local

 

Receive files from internet via DMZ

 

1) Copy data

As a first step, after checking and creating the temporary folder, the files from the remote server are copied by the YADE Client to the temporary folder in the DMZ.

(2) Start YADE Client on DMZ by SSH

The YADE Client is starting the YADE CLI on the DMZ, using SSH.

(3) Copy data to Internet

The YADE CLI on the DMZ is transferring the files to the destination site in the internal zone

(4) Delete data on DMZ

After successful transfer the YADE Client is deleting the files on the DMZ using SSH.

(5) Delete data on local

If configured to do so, the files on the receiving site will be deleted by the YADE Client.

Example CopyFromInternet YADE JITL Job

YADE JITL Job CopyToInternet
<?xml version="1.0" encoding="ISO-8859-1"?>
<job  order="no" stop_on_error="no">
    <params >
	    <!-- SOURCE ==> DMZ ==> TARGET -->
	    <!-- file settings -->
        <param  name="file_spec"              value="\.txt$"/>
        <!-- operation copyfrominternet -->
        <param  name="operation"              value="copyfrominternet"/>
        <param  name="verbose"                value="2"/>		
		
        <!-- file source remote SFTP  server settings -->		
		<param  name="source_host"            value="homer.sos"/>
		<param  name="source_port"            value="22"/>
        <param  name="source_protocol"        value="sftp"/>
        <param  name="source_user"            value="test"/>
        <param  name="source_ssh_auth_method" value="password"/>
        <param  name="source_password"        value="D3f*-ex;n55N6Hx"/>
        <param  name="source_dir"             value="/home/test/outbound"/>
        <!-- use explicit passive mode if firewall blocks the data connection -->
        <param  name="source_passive_mode"    value="true"/>              
        
        <!-- DMZ server settings-->		
		<param  name="jump_host"              value="gollum"/>
        <param  name="jump_user"              value="jenkins"/>
        <param  name="jump_ssh_auth_method"   value="password"/>
        <param  name="jump_password"          value="Bt347w%3Ka-AuZp"/>
        <param  name="jump_protocol"          value="sftp"/>
        <param  name="jump_command"           value="/home/jenkins/sos-berlin.com/jade/client.1.7-SNAPSHOT/bin/jade.sh"/>
 
        <!-- file target localhost  (JobScheduler host) settings -->
		<param  name="target_host"            value="localhost"/>
        <param  name="target_dir"             value="C:\sandbox\target"/>
        <param  name="target_protocol"        value="local"/>

    </params>
    <script  language="java" java_class_path="" java_class="sos.scheduler.jade.Jade4DMZJob"/>
    <run_time />
</job>

Example CopyFromInternet YADE Client Profile

YADE Client Profile CopyFromInternet
[CopyFromInternet]
file_spec              = \.txt$
;; operation copyfrominternet 
operation              = copyfrominternet
verbose                = 2
;; file source localhost (YADE Client host) settings 
;;
source_host            = localhost
source_dir             = C:\sandbox\target
source_protocol        = local
;; DMZ server settings
;;
jump_host              = gollum
jump_user              = jenkins
jump_ssh_auth_method   = password
jump_password          = Bt347w%3Ka-AuZp
jump_protocol          = sftp
jump_command           = /home/jenkins/sos-berlin.com/jade/client.1.7-SNAPSHOT/bin/jade.sh
;; file target remote SFTP server settings
;;
target_host            = homer.sos
target_port            = 22
target_protocol        = sftp
target_user            = test
target_ssh_auth_method = password
target_password        = D3f*-ex;n55N6Hx
target_dir             = /home/test/outbound
;; use explicit passive mode if firewall blocks the data connection -->
target_passive_mode    = true		

Related Downloads