search

FTPS stopped working

I don't use FTPS myself and prefer SFTP (Google ftps v sftp if you want to know the differences, but basically FTPS is the same File Transfer Protocol as FTP with an encryption layer added over the top).

I didn't notice that FTPS was no longer working until I got a question from someone commenting on this blog.  So how to fix it?


Background
The Security Layer SSL or TLS which is used to encrypt network traffic is evolving and a lot of legacy systems use lower encyption which newer clients won't accept. You may have noticed websites that now throw up errors or warnings about security certificates as browsers move away from accepting TLS version 1.0 to newer versions.

Anyway, most of the current FTP clients expect strong encryption and won't connect without it. Goflex Home FTPS uses SSL (Secure Sockets Layer)  which is even older than TLS 1.0 and suddenly FileZilla, and Android clients refuse to connect.

Fortunately the fix is relatively simple, though keep in mind that SSL is considered less secure than the newer encryption standards and there's a reason why they are continually improving encryption. But unless you're keeping State secrets on your GoFlex Home it may not matter - you decide.

Though its worth pointing out that to follow the solution below you have to go through establishing a Secure Shell so you're nearly there for SFTP and unless there's a good reason why you need FTPS I recommend going with SFTP. 
The only trick for SFTP is that the username takes the form
myusername_hipserv2_seagateplug_AAAA-BBBB-CCCC-DDDD 

where myusername is your actual GoFlex Home account username and AAAA-BBBB-CCCC-DDDD needs to be replaced with the 16-digit product key which you can find on a label on the base of your GoFlex Home. SFTP works in nearly all FTP clients, like Filezilla, WinSCP but Windows has no built in mechanism for establishing an SFTP connection at least until quite recently in Windows 10.

Solution (if you really need FTPS)
First connect with SSH and become root user.

Then modify the FTP server  (vsftpd) configuration file.
I should mention upfront that the vi text editor can be tricky, check here for tips on using vi if you get stuck.

Edit the vsftp config file with the command vi /etc/vsftpd/vsftpd.conf  then use the cursor keys to move to the end of the file, press I to enter insert mode and add a line
 ssl_ciphers=HIGH 
(thanks to jrodrigosm on  https://forum.filezilla-project.org/viewtopic.php?f=2&t=23275 for the tip.)
This forces the vsftp service to use strong encryption.

Then Esc ZZ  (don't forget capital ZZ) to save and exit vi editor.

Restart the vsftpd service with the command  /sbin/service vsftpd restart

Now you should be able to connect again with Filezilla or Android FTP clients using explicit FTP over TLS.   On Android I use AndFTP and ES File Explorer and FileManager+  and they all connect with FTPS now.