A system for providing secured file transfer protocol ("FTP") services
between a passive FTP client system coupled to a private network and a
FTP server coupled to a public communication network, such as the
Internet. The passive FTP client system requests a communication session
with a first proxy server that is coupled to the private network. The
passive FTP client system submits to the first proxy server the uniform
resource locator ("URL") of a desired FTP server. The first proxy server
initiates an outbound request from the private network, through a single
port on a firewall, to a second proxy server that is coupled to the
public communication network. The first proxy server submits the URL to
the second proxy server. The second proxy server uses the URL to
establish a FTP session with the desired FTP server. Upon receiving an
identified socket provided by the FTP server for the data channel, the
first proxy server changes the received data packets from the FTP server
by substituting its own IP address for the FTP server's IP address, thus
identifying a new socket on the first proxy server. The passive FTP
client system transmits a FTP data request to the new socket on the first
proxy server. The first proxy server forwards the data request to the FTP
server via the outbound connection established with the second proxy
server. All FTP data flows through a single port on the firewall.