# SFTP to FTP reverse proxy

Is there any inexpensive (preferably free) software that will let me expose an old insecure FTP server as if it were a secure FTPS server? Given that the protocol is FTP, it's a little more tricky than HTTP because new FTP uses multiple ports and commands had to be added to switch from FTP to FTPS. This would seem to be something that would have broad interest, but after 3 hours on google, I've been unable to find any such software.

In my case, I can't just use an off-the-shelf FTPS server because the FTP server I'm using doesn't store the files locally--it's just a virtual FTP server that presents an FTP view of yet another backend service.

Note that by FTPS I mean FTP over SSL (RFC 4217), not SFTP (which is a completely different protocol).

• Why not just use an FTPS server as your front end with either the FTP server or the service that it uses as the back end storage? – Steve Barnes Feb 7 '17 at 5:10
• @SteveBarnes that's what I'm looking for. All the ones I've seen store the files directly on disk--you can't give them a different protocol (other than raw disk) to use on the backend. – James Feb 7 '17 at 13:12

You might try the mod_proxy module for ProFTPD; it supports forward and reverse FTP proxying, with FTPS support on frontend and/or backend.

Full disclosure: I'm the author of ProFTPD and mod_proxy.

Hope this helps!

You can use python filesystem to provide a back-end to your FTP server from Twisted and have that provide an outside world facing SFTP &/or FTPS service.

• So I just need to write a file storage and retrieval system in Python that uses my current FTP server to implement the virtual storage? – James Feb 7 '17 at 22:39
• @James - not write, create an instance of, the python filesystem has FTP file system in it. You may have to do some tweaks to the interface to twisted - I am not sure how it expects its file system to look. – Steve Barnes Feb 8 '17 at 7:12