File Transfer Protocol (FTP) is a standard network
protocol used to transfer files from one host to another host
over a TCP-based network, such as the Internet. FTP is built on a client-server architecture
and uses separate control and data connections between the client and the
server. FTP users may authenticate themselves using a clear-text sign-in
protocol, normally in the form of a username and password, but can connect
anonymously if the server is configured to allow it. For secure transmission
that hides (encrypts) the username and password, and encrypts the content, FTP
is often secured with SSL/TLS ("FTPS"). SSH File Transfer
Protocol ("SFTP") is sometimes also used instead, but is
technologically different.
The first FTP client applications were command-line
applications developed before operating systems had graphical
user interfaces, and are still shipped with most Windows, Unix, and Linux operating
systems. Dozens of FTP clients and automation utilities have since
been developed for desktops, servers, mobile devices, and hardware, and FTP has
been incorporated into hundreds of productivity applications, such as Web
page editors.
FTP over SSH (not SFTP) refers to the practice of
tunneling a normal FTP session over an SSH connection. Because
FTP uses multiple TCP connections (unusual for a TCP/IP protocol that
is still in use), it is particularly difficult to tunnel over SSH. With many
SSH clients, attempting to set up a tunnel for the control channel (the
initial client-to-server connection on port 21) will protect only that channel;
when data is transferred, the FTP software at either end will set up new TCP
connections (data channels), which bypass the SSH connection and thus have no confidentiality or integrity
protection, etc.
Otherwise, it is necessary for the SSH client
software to have specific knowledge of the FTP protocol, to monitor and rewrite
FTP control channel messages and autonomously open new packet forwardings for
FTP data channels. Software packages that support this mode include:
- Tectia ConnectSecure (Win/Linux/Unix) of SSH Communications Security's software suite
- Tectia Server for IBM z/OS of SSH Communications Security's software suite
- FONC (the GPL licensed)
- Co:Z FTPSSH Proxy
FTP over SSH is sometimes referred to as secure
FTP; this should not be confused with other methods of securing FTP, such as
SSL/TLS (FTPS). Other methods of transferring files using SSH that are not
related to FTP include SFTP and SCP; in each of these, the entire
conversation (credentials and data) is always protected by the SSH protocol.
No comments:
Post a Comment