cPanel supports different file transfer protocols, including FTP, FTPS, and SFTP, which differ in security, authentication, and encryption.
FTP (File Transfer Protocol)
- Description: FTP is the oldest method for transferring files between a client (such as FileZilla) and a server.
- Encryption: None (credentials and data are sent in plain text).
- Ports Used: 21 (default for command & data channels).
- Security: Not secure; vulnerable to interception and attacks.
- Use Case: Suitable for transferring non-sensitive files on a trusted network.
- cPanel Support: Enabled by default through Pure-FTPd or ProFTPD.
FTPS (FTP Secure / FTP-SSL)
- Description: FTPS is FTP with added SSL/TLS encryption for secure file transfers.
- Encryption: Yes (TLS/SSL encrypts login credentials and data).
- Ports Used: Explicit FTPS (FTPES): Uses port 21, upgrading to encrypted mode after connection.
- Implicit FTPS: Uses port 990, requiring encryption from the start.
- Security: More secure than FTP, but still vulnerable to passive mode port issues.
- Use Case: Ideal for businesses that comply with security standards (e.g., PCI DSS).
- cPanel Support: Can be enabled if TLS is configured in WHM > Service Configuration > FTP Server Configuration.
SFTP (Secure File Transfer Protocol)
- Description: SFTP is unrelated to FTP but is an entirely different protocol built on SSH (Secure Shell).
- Encryption: Yes (Full encryption of authentication and file transfers via SSH).
- Ports Used: 22 (default SSH port, configurable).
- Security: Most secure option, as it encrypts all data and resists brute force attacks.
- Use Case: Best for secure and remote file transfers, especially for managing websites.
- cPanel Support: Available only if SSH access is enabled on the cPanel account.
Which One Should You Use?
- Use SFTP if SSH access is available – it's the most secure and modern option.
- Use FTPS if you need FTP but require encryption (e.g., for compliance requirements).
- Use FTP only if security is not concern, such as on an internal or temporary server.