Jump to content



Photo

Setting up FTPS with FileZilla


  • Please log in to reply
11 replies to this topic

#1 StrikedOut

StrikedOut

    Outside the box

  • Joined: 09-December 08
  • Location: Southampton

Posted 18 December 2012 - 14:24

Hi.

I am setting up an FTPS server using FileZilla on a Server 2008 R2 VM but I am struggling to get the directory listings up.

I have created the certificate and key password and it imports without any problem into FileZilla (client) but I get the log below


Status: Connection established, initializing TLS...
Status: Verifying certificate...
Status: TLS/SSL connection established, waiting for welcome message...
Response: 220-FileZilla Server version 0.9.41 beta
Response: 220 Welcome to The Swann Group download site.
Command: USER JasonW
Response: 331 Password required for jasonw
Command: PASS *********
Response: 230 Logged on
Command: PBSZ 0
Response: 200 PBSZ=0
Command: PROT P
Response: 200 Protection level set to P
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Command: TYPE I
Response: 200 Type set to I
Command: PORT 84,21,143,150,192,13
Response: 200 Port command successful
Command: MLSD
Response: 150 Opening data channel for directory list.
Response: 425 Can't open data connection.
Error: Failed to retrieve directory listing
Response: 421 Connection timed out.
Error: Connection closed by server


And from the server I get,


(000036)18/12/2012 13:36:49 - (not logged in) (84.21.**.**)> Connected, sending welcome message...

(000036)18/12/2012 13:36:49 - (not logged in) (84.21.**.**)> SSL connection established

(000036)18/12/2012 13:36:49 - (not logged in) (84.21.**.**)> USER JasonW

(000036)18/12/2012 13:36:49 - (not logged in) (84.21.**.**)> 331 Password required for jasonw

(000036)18/12/2012 13:36:49 - (not logged in) (84.21.**.**)> PASS *********

(000036)18/12/2012 13:36:49 - jasonw (84.21.**.**)> 230 Logged on

(000036)18/12/2012 13:36:49 - jasonw (84.21.**.**)> PBSZ 0

(000036)18/12/2012 13:36:49 - jasonw (84.21.**.**)> 200 PBSZ=0

(000036)18/12/2012 13:36:50 - jasonw (84.21.**.**)> PROT P

(000036)18/12/2012 13:36:50 - jasonw (84.21.**.**)> 200 Protection level set to P

(000036)18/12/2012 13:36:50 - jasonw (84.21.**.**)> PWD

(000036)18/12/2012 13:36:50 - jasonw (84.21.**.**)> 257 "/" is current directory.

(000036)18/12/2012 13:36:51 - jasonw (84.21.**.**)> TYPE I

(000036)18/12/2012 13:36:51 - jasonw (84.21.**.**)> 200 Type set to I

(000036)18/12/2012 13:36:51 - jasonw (84.21.**.**)> PORT 84,21,143,150,192,13

(000036)18/12/2012 13:36:51 - jasonw (84.21.**.**)> 200 Port command successful

(000036)18/12/2012 13:36:51 - jasonw (84.21.**.**)> MLSD

(000036)18/12/2012 13:36:51 - jasonw (84.21.**.**)> 150 Opening data channel for directory list.

(000036)18/12/2012 13:37:01 - jasonw (84.21.**.**)> 425 Can't open data connection.

(000036)18/12/2012 13:40:02 - jasonw (84.21.**.**)> 421 Connection timed out.

(000036)18/12/2012 13:40:02 - jasonw (84.21.**.**)> disconnected.

I have checked all outgoing ports are set to allow all traffic with in the set range.

Any thoughts on what I am missing?

Edited by Intrinsica, 19 December 2012 - 09:00. Reason: : edited at OP's request



#2 +BudMan

BudMan

    Neowinian Senior

  • Tech Issues Solved: 75
  • Joined: 04-July 02
  • Location: Schaumburg, IL
  • OS: Win7, Vista, 2k3, 2k8, XP, Linux, FreeBSD, OSX, etc. etc.

Posted 18 December 2012 - 15:48

So your attempting a active connection there - your telling the client to connect to

PORT 84,21,xx,xx,192,13

I snipped out part of that IP, because of privacy concerns - I would suggest you edit that. Anyway you told the server to connect to that IP on port

192*256 + 13 = 49165, since your control channel is inside a encrypted connection (ssl/tls) the helper portion of most firewalls/routers can not open the return port for you.

Also from this
jasonw (84.21.xx.xx)> disconnected

where that is the same IP as your server? Are you attempting this from a loopback forward/nat reflection, ie are you on the same network as your server -- which I would assume is behind a nat? Maybe not? That can cause grief as well. And using the public ip of your router to try and connect where your router wold have to forward/reflect the traffic back into the servers private IP?

So questions for you - is your server behind a nat and really on a private IP? And this 84.21 is your public? Where is your client? is it outside your local network?

Great info when wanting to use ftp
http://slacksite.com/other/ftp.html

This goes over the difference between active and passive connections - which you need to know what your going to be using or allowing, etc. And you need to understand if your firewall/router has helper feature to change private to pubic, and allow the return data channel traffic in the firewall states, etc.

What firewall/router is your server/clients behind - if any?

#3 OP StrikedOut

StrikedOut

    Outside the box

  • Joined: 09-December 08
  • Location: Southampton

Posted 18 December 2012 - 17:04

After the day I am having I can fully believe I did that too (left IP in there), unfortunately I cant edit my previous post so will ask a mod to.

84.21.*.* is the client external IP, the server IP is 194.88.*.*

The server is behind Sonicwall NSA2400`s running in a High availability set up, apparently it is one range inside and one range out, they are 2 devices running in HA mode for resilience so one is effectively in standby. They share an IP inside and out and virtual MAC address, We are going to temporarily fully open the ports tomorrow and see if that 'solves' the issue. At least then we can see if it is firewall or setup. The client is behind a Cisco ASA server.

A little back ground to the project.
We are moving data centres and ISP from our old provider (the 84.21.*.*) to a new DC (a 194.88.*.*) - both are public IP's. Currently all of our web based traffic is exiting through the old provider while I transfer the hosted server services from old to new DC. New routers are due to arrive to connect the 2 new connections for our new ISP, one is web based traffic only with failover to the DC, other is MPLS dedicated connection to hosted servers.

Currently I am testing the access to the web/ftp server from outside the PWAN which is where I am getting this problem.

So,

The server is behind the Sonicwalls with a public IP of 194.88.*.*, private IP is 192.168.200.*. The client is on a separate PWAN using the public IP of 84.21.*.*, private IP is 192.168.11.*.

I am going to take a look at that article tonight and see what I am missing.

#4 +BudMan

BudMan

    Neowinian Senior

  • Tech Issues Solved: 75
  • Joined: 04-July 02
  • Location: Schaumburg, IL
  • OS: Win7, Vista, 2k3, 2k8, XP, Linux, FreeBSD, OSX, etc. etc.

Posted 18 December 2012 - 17:31

So on the client end your helper is not going to be able to see what port your client is listening on for the server to connect back to you because its inside a ssl/tls tunnel

This is the issue with ftps!!

So you could try a passive connection - but then your going to have issues with opening the ports on the server side because again the helper can not see what ports are going to be used.

Take a look at this article
http://wiki.filezill...k_Configuration

You should be able to setup the server side to use specific ports for the active connections - and then forward those on your firewall, etc. Another question for you are you going to be dong Implicit or Explicit. Since you called it ftps and not ftpes I would have think your using Implicit?

You know what is a MUCH EASIER solution -- use SFTP, there is only 1 port involved (22) because its over SSH. You can change that port if you want - but its still only 1 port!! No active/passive **** with split control and data channels. Much easier to work through nat and firewalls with ;)

#5 OP StrikedOut

StrikedOut

    Outside the box

  • Joined: 09-December 08
  • Location: Southampton

Posted 19 December 2012 - 10:30

Think I am gonna stick with FTPS (for now), prefer to fix this and learn a little and if I still cant get it going, will switch to SFTP.

So I have set FileZilla to use a specific port range and have requested the people who manage the server side NAT to fully open these ports to test the connection. Next I need to connect forcing passive mode so it is the client that establishes the data connection. So from that I now get this log from the client.

Status: Connection established, initializing TLS
Status: Verifying certificate
Status: TLS/SSL connection established, waiting for welcome message...
Response: 220-FileZilla Server version 0.9.41 beta
Response: 220 Welcome to The Swann Group download site.
Command: USER JasonW
Response: 331 Password required for jasonw[Command: PASS *********
Response: 230 Logged on
Command: PBSZ 0
Response: 200 PBSZ=0
Command: PROT P
Response: 200 Protection level set to P
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory
Command: TYPE I
Response: 200 Type set to I
Command: PASV
Response: 227 Entering Passive Mode (217,161,**.**,58,153)
Command: MLSD
Error: GnuTLS error -53: Error in the push function
Response: 425 Can't open data connection
Error: Failed to retrieve directory listing
Response: 421 Connection timed out
Error: Connection closed by server

The IP address is completely wrong, not sure where that came from so I am looking into that but it is using the correct port.

#6 +BudMan

BudMan

    Neowinian Senior

  • Tech Issues Solved: 75
  • Joined: 04-July 02
  • Location: Schaumburg, IL
  • OS: Win7, Vista, 2k3, 2k8, XP, Linux, FreeBSD, OSX, etc. etc.

Posted 19 December 2012 - 11:42

Yeah that 217.161 is the IP the server is telling the client to connect too. It should be the same IP you connected too for the control channel connection.

that port would be 58x256 + 153 so 15001

Look in your server settings on where its getting IP from.. Could be going out a different connection your coming into it from? You can set that IP in the same place you set the ports to use for passive.

#7 OP StrikedOut

StrikedOut

    Outside the box

  • Joined: 09-December 08
  • Location: Southampton

Posted 19 December 2012 - 13:12

Its set to the correct IP address;

Attached Images

  • Capture.PNG


#8 +BudMan

BudMan

    Neowinian Senior

  • Tech Issues Solved: 75
  • Joined: 04-July 02
  • Location: Schaumburg, IL
  • OS: Win7, Vista, 2k3, 2k8, XP, Linux, FreeBSD, OSX, etc. etc.

Posted 19 December 2012 - 13:24

Well that makes no sense then. Other than if it thinks its local connection? You could try unchecking that and see what IP gets sent back. Clearly your hard coding the IP which is different than what your seeing.

Is it possible your connecting to a different ftp server? Did you try restarting the ftp server once you made that setting?

#9 OP StrikedOut

StrikedOut

    Outside the box

  • Joined: 09-December 08
  • Location: Southampton

Posted 19 December 2012 - 13:34

VICTORY!!

After a reboot and clearing the check box,

Response: 220-FileZilla Server version 0.9.41 beta
Response: 220 Welcome to The Swann Group download site.
Command: USER JasonW
Response: 331 Password required for jasonw
Command: PASS *********
Response: 230 Logged on
Command: PBSZ 0
Response: 200 PBSZ=0
Command: PROT P
Response: 200 Protection level set to P
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is current directory.
Status: Directory listing successful

Not sure if it was the reboot or clearing the check box but as all traffic to and from the FTP server will be from a public address then the box can stay cleared.

Thanks Budman, your help is very much appreciated!.

#10 +BudMan

BudMan

    Neowinian Senior

  • Tech Issues Solved: 75
  • Joined: 04-July 02
  • Location: Schaumburg, IL
  • OS: Win7, Vista, 2k3, 2k8, XP, Linux, FreeBSD, OSX, etc. etc.

Posted 19 December 2012 - 14:04

Glad you got it working, shouldn't have to worry about the checkbox if you don't have local users connecting, etc. But may need it if you do?? Prob put it back and connect from local machine, etc.

#11 OP StrikedOut

StrikedOut

    Outside the box

  • Joined: 09-December 08
  • Location: Southampton

Posted 19 December 2012 - 14:08

Although we are connected via an MPLS PWAN all ftp traffic is routed through a second connection so it should always be a public IP, but definitely worth noting though.

I even got to learn something new about active and passive connections which after the telephone conversation I just had with the managers and owners is quite a feat! Apparently a data centre migration is a simple task and should only take a couple of days.........

#12 +BudMan

BudMan

    Neowinian Senior

  • Tech Issues Solved: 75
  • Joined: 04-July 02
  • Location: Schaumburg, IL
  • OS: Win7, Vista, 2k3, 2k8, XP, Linux, FreeBSD, OSX, etc. etc.

Posted 19 December 2012 - 15:20

Understanding the difference between an active or passive ftp connection is 1st step in wanting to run a ftp server, or even connect to one when NAT is involved or firewalls even if everyone is on same network or fully public connections, etc.

These days most every client is going to be behind a nat - this will change as ipv6 takes hold. So you will run into issues all the time with either active or passive connections. Most firewalls and even home routers have helper features for ftp to allow the data side of the connection - but as you learned with ftps this all changes because the helper can not view the info to either change the IP sent to public vs private and or open the firewall for the connection by working out the ports given in the pasv or port command.

This thread should be a good reference for others looking to do the same thing as well.



Click here to login or here to register to remove this ad, it's free!