We have to use FTP over SSL on our server and use a portrange with 5 ports for the data connection. A firewall is between client and server. We have to know what we have to open at the firewall: port, protocoll, in- or outcomming. Does anybody know this?
feedback
|
|
You can find a good explanation of how FTP operates in active vs. passive mode here, and definite information on the data connection behaviour in RFC-4217 page 7 (grmpf, I'm only allowed to post one link as a new user...). Basically, assuming your clients use passive mode and explicit SSL (e.g. connects on control port 21 instead of 990 for implicit SSL), you would need to allow incomming connections to the control port 21 and your 5 data ports from any clients high port range to the server, and outgoing established connection packets from the respective ports to random high ports. Active FTP is normally not a good idea as server will try to actively open a connection to the client, which most client side stateful firewalls will not allow if not configured accordingly. | |||||||
feedback
|
|
Usually, explicit "active" FTPS is port 990 and the control port is 989. Passive is the same as active but just means that in addition to 989 you use a few ports over the 1024+ range open on the server (for the client to initiate data connection), depending on how you configured your server. Personally I prefer to use NULL FTP Server, run a implicit SFTP on port 22, and just have single port implementation. | |||
|
feedback
|
|
Use wireshark http://www.wireshark.org/ and a host outside the firewall to see what ports are used by this particular FTP+SSL configuration. Based on the traffic you see, create firewall rules to allow that kind of traffic from the IP address of FTP server. | |||
|
feedback
|
|
The problem with FTPS is that all the workarounds which firewalls have implemented to handle the FTP protocol weirdness work no more. This is because the firewall can't inspect the encrypted connection to dynamically open the required ports. That said: The port range that you have configured for passive FTP in the server software needs to be opened from the client to the server. Also, the client needs to know that it must use passive mode. I've had my first FTPS deployment in the past weeks and it works exactly like that. (What is it with the renaissance of FTPS lately? FTP is an archaic 1970s nightmare of a protocol and, for the sake of humanity, people should really stay away from it, encrypted or not.) | |||
|
feedback
|