4

I noticed that not all FTPS clients support session reuse and I'm wondering whether it is a critical security option that should be left enabled on the server.

My guess is that it's possible for an attacker to hijack the data connection even if SSL/TLS is used for both control and data connection, if the session reuse option is not enabled. Could anyone help confirm/disprove this and give more detailed explanations?

I also found this: VU#2558 File Transfer Protocol allows data connection hijacking via PASV mode race condition, not knowing if it's relevant since it doesn't mention SSL/TLS at all.

2 Answers 2

4

Your assumption is correct. Reusing TLS session protects you from a theoretical possibility that an attacker hijacks an FTP data connection.

When you initiate a data transfer, the server opens a data connection port on the server (in a passive mode). A possible attacker might guess the port and connect before your FTP client does, stealing your data.

If the server requires that the same TLS session is used for the data connection, the attacker will not be able to start its own TLS session, preventing him/her from decoding the data.


Another benefit of reusing TLS session is a performance as you do not need to do a new TLS handshake for each data connection/file transfer. What particularly matters if you transfer lot of small files.


The vulnerability you refer to is actually a superset of the problem the TLS session reuse tries to prevent.

2

Some servers expect clients to use the same SSL session for control and data connections. Apart from that session reuse speeds up connections because it reduces the number of round-trips needed to establish a SSL connection. It might be that the client which don't use an explicit switch to enable session reuse simply use it implicitly, like browsers do.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .