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
- the local jade4dmz client from command line
- 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
- order job_chain_jade4dmz,CopyFromInternet.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
<?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
[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
<?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
[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