Managed File Transfer and Network Solutions: Active V.S. Passive FTP Simplified
Managed File Transfer and Network Solutions: Active V.S. Passive FTP Simplified
Blog
Managed File Transfer and Network Solutions
Overview
If a client encounters problems when connecting to your FTP server, one of the first things you might want
to check is your FTP data transfer mode. Depending on certain network configurations, this mode should
be set to either active or passive. In this post, you’ll understand the salient points of active and passive
FTP and learn how to avoid connectivity issues associated with them.
Note: For those who have landed on this page some time in the past, we’d like to inform you that we’ve
recently added a new section discussing the passive port range and how large it should be.
Before we talk about which mode is best for what scenario, let’s first cover one important topic: the two
channels of an FTP session.
Unless you configure your FTP server differently, you will normally set your command channel to use port
21. The port you'll use for the data channel, on the other hand, can differ depending on which data
transfer mode you choose. If you choose active mode, then the data channel will normally be port 20. But
if you choose passive mode, then the port that will be used will be a random port.
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015
Active v.s. Passive FTP Simplified Page 2 of 8
Note that the ports we are referring to here up to this point are only the ports on the server side. We'll
include client-side ports in our discussion in a short while.
Here's a simplified explanation on how an active mode connection is carried out, summarized in two
steps. Some relevant steps (e.g. ACK replies) have been omitted to simplify things.
1. A user connects from a random port on a file transfer client to port 21 on the server. It sends the
PORT command, specifying what client-side port the server should connect to. This port will be
used later on for the data channel and is different from the port used in this step for the command
channel.
2. The server connects from port 20 to the client port designated for the data channel. Once
connection is established, file transfers are then made through these client and server ports.
1. The client connects from a random port to port 21 on the server and issues the PASV command.
The server replies, indicating which (random) port it has opened for data transfer.
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015
Active v.s. Passive FTP Simplified Page 3 of 8
2. The client connects from another random port to the random port specified in the server's
response. Once connection is established, data transfers are made through these client and server
ports.
In this section, we'll focus on those second arrows and the ports associated with them.
In the active mode, the second arrow is pointing to the client. Meaning, the client initially specifies which
client-side port it has opened up for the data channel, and the server initiates the connection.
By contrast, in the passive mode, the second arrow is pointing to the server. Here, the server specifies
which server-side port the client should connect to and the client initiates the connection.
There shouldn't be any problem had there not been any firewalls in existence. But threats to information
security are on the rise and hence the presence of firewalls is almost always a given. In most cases,
clients are located behind a firewall or a NAT (which basically functions like a firewall). In such cases, only
a select number of predefined ports are going to be accessible from the outside.
Remember that in an active mode configuration, the server will attempt to connect to a random client-
side port. So chances are, that port wouldn't be one of those predefined ports. As a result, an attempt to
connect to it will be blocked by the firewall and no connection will be established.
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015
Active v.s. Passive FTP Simplified Page 4 of 8
In this particular scenario, a passive configuration will not pose a problem. That's because the client will
be the one initiating the connection, something that a client-side firewall won't have any problem with.
Of course, it's possible for the server side to have a firewall too. However, since the server is expected to
receive a greater number of connection requests compared to a client, then it would be but logical for the
server admin to adapt to the situation and open up a selection of ports to satisfy passive mode
configurations.
Thus, to support this mode, not only should your server have to have multiple ports available, your firewall
should also allow connections to all those ports to pass through!
But then the more open ports you have, the more there will be to exploit. To mitigate the risks, a good
solution would be to specify a range of ports on your server and then to allow only that range of ports on
your firewall.
For a typical end user, everything he downloads or uploads between the time he logs in to the FTP server
and the time he logs out, is just part of a single FTP file transfer. That's not true. Each file transmitted
during that entire login session will actually require at least one port. So if 10 files are downloaded, then
10 ports are used. That's not all.
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015
Active v.s. Passive FTP Simplified Page 5 of 8
Some clients now use multiple connections when uploading files. For example, if a client has 100 files to
upload, it might spawn 5 separate sessions to make the upload go faster. The result is that a single client
may have 5 open passive connections at a time.
So, when deciding how many passive ports you want to open you need to consider that a single client
may actually open multiple concurrent passive connections. While there are no hard and fast rules
dictating the number of ports that should comprise a port range, you will really want to project your
maximum number of concurrent users and allocate a sizable allowance based on that.
In the event that the IP address your server uses in responding to requests for passive connections is not
routable via the Internet, you'll need to enter your public IP address in the Passive IP field.
That's it. We hope we were able to explain the difference between active and passive FTP in a manner
you could easily understand.
Get Started
Would you like to try an FTP server that supports:
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015
Active v.s. Passive FTP Simplified Page 6 of 8
Download the free, fully-functional evaluation edition of JSCAPE MFT Server now.
Download
JSCAPE MFT Server
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015
Active v.s. Passive FTP Simplified Page 7 of 8
Posts by category
◾ Accelerated File Transfer (15)
◾ AnyClient (27)
◾ AS2 (12)
◾ Compliance (30)
◾ DLP (2)
◾ eDiscovery (5)
◾ Failover (1)
◾ FTP (25)
◾ FTPS (17)
◾ HIPAA (5)
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015
Active v.s. Passive FTP Simplified Page 8 of 8
◾ MFTExpress (4)
◾ Mobile (7)
◾ News (86)
◾ OpenPGP (11)
◾ PCI-DSS (5)
◾ SaaS (1)
◾ Security (46)
◾ SFTP (25)
◾ Triggers (21)
◾ Tutorials (44)
◾ Videos (43)
http://www.jscape.com/blog/bid/80512/Active-v-s-Passive-FTP-Simplified 7/17/2015