FTP over TLS

From FileZilla Wiki
Revision as of 07:15, 29 March 2011 by CodeSquid (talk | contribs) (Reverted edits by Martin.lawrence03 (Talk) to last revision by CodeSquid)
Jump to navigationJump to search

Setup

Server Setup

Open the admin interface, and go to settings. Choose SSL/TLS (FTPS) settings, and choose to generate a new certificate. The two digit country code can be found by googleing (United States is just US - it can be confusing that two digit can be two letters, and not necessarily two numbers only).

Once you have generated the certificate, and chosen where to save it, filezilla will auto fill in the private key file, and the certificate file fields to point to the generated certificate.

At this point, you can either choose to allow SSL/TLS if the user opts, or you can force them to always use SSL/TLS, and not allow them to connect if they do not use it.

PROT P refers to the data transfers. Communication with the server is always encrypted if you use SSL/TLS.
Communication encrypted: PROT C, Communication+Data encrypted: PROT P.

If PROT P isn't enforced, client could send PROT C and transfer files unencrypted. If PROT P is enforced, PROT C is rejected.

Also see FTPS using Explicit SSL/TLS howto (Server).

Client Setup

For a client to connect to a server using SSL, then the host for that connection needs to be set to FTPS. In FileZilla client this means prefixing the host with "FTPES://" for "explicit" FTPS, or "FTPS://" for the legacy "implicit" FTPS.

Certificate Removal

The file trustedcerts.xml contains certificates for secure websites that you have told your FileZilla client to trust connections to. This file should not be confused with any certificates you have in use if you use FileZilla as a server as well.

Windows

In order to remove a saved certificate, navigate to %APPDATA%\FileZilla and delete, rename or modify the trustedcerts.xml file.

Linux

In order to remove a saved certificate rename or modify the file ~/.filezilla.

Explicit vs Implicit FTPS

FTPS (SSL/TLS) is served up in two incompatible modes. If using explicit FTPS, the client connects to the normal FTP port and explicitly switches into secure (SSL/TLS) mode with "AUTH TLS", whereas implicit FTPS is an older style service that assumes SSL/TLS mode right from the start of the connection (and normally listens on TCP port 990, rather than 21). In a FileZilla client this means prefixing the host with "FTPES://" to connect an "explicit" FTPS server, or "FTPS://" for the legacy "implicit" server (for which you will likely also need to set the port to 990).

SSL/TLS (FTPS) vs SSH (SFTP)

FTPS (FTP encrypted with SSL/TLS) should not be confused with SFTP (SSH). The latter is a completely different protocol, with more information here.