Thanks for your WireShark display, I can see you are working. You know for sure you are using ZPA? We can bypass ZPA and use the Internet or underlying network and everything works.
Here is my trace so you can see the difference in the two scenarioâs. One under ZPA and one without Zscaler.
Under ZPA we can logon to the remote site with no problems and even get past the Secure Handshake. The problem always happen when we start the data channel. Packet #23 is the correct SYN we expect to see to initiate a connection to our data port (61,000 â 61,099). It is using 61063 in this example. What happens is the 2nd App Connector comes in on packet #24 going to the same data port and the mainframe rejects that attempt and the connection fails.
FTP Client Displays:
From looking at the client FTP displays, you can see a passive connection comes in to port 61063 initially and then when the 2nd App Connector comes in, the mainframe will reject it because it was expecting a TLS Client Hello for the data port. At first we thought it was just a TLS issue, but this same double connection comes in on a non-secure connection.
Welcome to Core FTP, release ver 2.2, build 1888 (x64) â Š 2003-2017
WinSock 2.0
Mem â 16,139,652 KB, Virt â 137,438,953,344 KB
220-- By using this system, you understand and consent to the following:
220- The Government may monitor, record, and audit your system usage,*
220-including usage of personal devices and email systems for official
220-duties or to conduct HHS business. Therefore, you have no reasonable
220-expectation of privacy regarding any communication or data transiting
220-or stored on this system. At any time, and for any lawful Government
220-purpose, the government may monitor, intercept, and search and seize
220-any communication or data transiting or stored on this system.
220- Any communication or data transiting or stored on this system may be*
220-disclosed or used for any lawful Government purpose.
220 Connection will close if idle for more than 5 minutes.
AUTH TLS
234 Security environment established - ready for negotiation
TLSv1.2, cipher TLSv1/SSLv3 (ECDHE-RSA-AES256-SHA384) - 256 bit
USER zzdmtb
331 Send password please.
**PASS ************
230 ZZDMTB is logged on. Working directory is âZZDMTB.â.
SYST
215 MVS is the operating system of this server. FTP Server is running on z/OS.
Keep alive offâŚ
CWD âZZDMTB.â
250 âZZDMTB.â is the working directory name prefix.
PBSZ 0
200 Protection buffer size accepted
PROT P
200 Data connection protection set to private
PASV
227 Entering Passive Mode (10,5,100,84,238,135)
LIST
Connect socket #1648 to 10.238.8.53, port 61063âŚ
SSL/TLS error - 0, SSL error - 5, error:00000005:lib(0):func(0):DH lib
SSL failed
Connection terminated
Error loading directoryâŚ
So do you think my Zscaler support team has not turned off Health Check? Does it require some kind of recycle for it to go into effect?
Here is the working copy. I picked up at the beginning of the opening of the data port, packet #57. In this case it is 61002. The non Zscaler device does not have the double connection to port 61002. And everything comes up :
Here is the FTP Client logs showing it connected successfully and also using PASV as highlighted.
20-- By using this system, you understand and consent to the following:
220-* The Government may monitor, record, and audit your system usage,
220-including usage of personal devices and email systems for official
220-duties or to conduct HHS business. Therefore, you have no reasonable
220-expectation of privacy regarding any communication or data transiting
220-or stored on this system. At any time, and for any lawful Government
220-purpose, the government may monitor, intercept, and search and seize
220-any communication or data transiting or stored on this system.
220-* Any communication or data transiting or stored on this system may be
220-disclosed or used for any lawful Government purpose.
220 Connection will close if idle for more than 5 minutes.
AUTH TLS
234 Security environment established - ready for negotiation
TLSv1.2, cipher TLSv1/SSLv3 (ECDHE-RSA-AES256-SHA384) - 256 bit
USER zzdmtb
331 Send password please.
PASS **********
230 ZZDMTB is logged on. Working directory is âZZDMTB.â.
SYST
215 MVS is the operating system of this server. FTP Server is running on z/OS.
Keep alive offâŚ
CWD âZZDMTB.â
250 âZZDMTB.â is the working directory name prefix.
PBSZ 0
200 Protection buffer size accepted
PROT P
200 Data connection protection set to private
PASV
227 Entering Passive Mode (10,5,100,84,238,74)
LIST
Connect socket #1664 to 10.238.8.53, port 61002âŚ
TLSv1.2, cipher TLSv1/SSLv3 (ECDHE-RSA-AES256-SHA384) - 256 bit
125 List started OK
250 List completed successfully.
Transferred 6,294 bytes in 0.563 seconds
Another thing I noticed about your connection, you are not going through a NAT FW as I am. I need to use the NAT address (10.238.8.53) in both cases to connect to the mainframe. Since it is getting through the control connection with no issues, I donât see how NAT can be an issue.
I am still waiting for my Zscaler Support Team to turn off Health Check on another company we are having the same issues with. I want to see if it might work with that company since we are not using the Source IP Policy to give each App Connector the same IP address for this company.