Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Software

Secure File Storage Over Non-Trusted FTP? 384

hmckee writes "Does any software exist that enables me to store/backup/sync files from my local computer to a non-trusted FTP site? To accomplish this, I'm using a script to check timestamps, encrypt and sign the files individually, then copy each file to an offsite FTP directory. I've looked over many different tools (Duplicity, Amanda, Bacula, WinSCP, FileZilla) but none of them seem to do exactly what I want: (1) multi-platform (Windows and Linux), stand-alone client (can be run from a portable drive). (2) Secure backup (encrypted and signed) to non-trusted FTP site. (3) Sync individual files without saving to a giant tar file. (4) Securely store timestamps and file names on the FTP server. Any help or info on alternative solutions appreciated."
This discussion has been archived. No new comments can be posted.

Secure File Storage Over Non-Trusted FTP?

Comments Filter:
  • by RAMMS+EIN ( 578166 ) on Monday August 18, 2008 @02:43AM (#24641859) Homepage Journal

    I'm working on a backup solution that allows people to back up their data to a remote server securely and efficiently. For "efficiently", think rsync: only the differences are sent (and some information necessary to identify what the differences are). For "securely", think assymetric cryptography: your backup is stored in encrypted form, so that only someone who possesses your private key can use it.

    All this is currently in very early stages of design. I'd welcome any suggestions for protocols or software I could use. Currently, I am thinking to implement a transactional network block device protocol, and implement the backup protocol on top of that. I still need to decide on a programming language I can use for parts I need to write myself, too (something safe (no buffer overflows, please), yet with byte level access...and no Java or .NET, please).

    By the way, this is going to be a commercial product, but the code and the protocols will be open. I'll charge for the storage and bandwidth. :-D

  • Re:Really is a pity (Score:1, Interesting)

    by Anonymous Coward on Monday August 18, 2008 @02:48AM (#24641893)

    Your webhost probably uses virtual accounts in the ftp server, or in some sort of db backend, that ssh can't talk to out of the box (ie not a real account). Plus, they don't want the overhead I guess, or the extra work for the 2 customers out of every 2000 who want it.

  • by Horus107 ( 1316815 ) <Florian.Lindner @ x g m . de> on Monday August 18, 2008 @03:02AM (#24641957)

    duplicity combined with ftplicity:

    "Anyone storing data on an unfamiliar FTP server needs to encrypt and sign it to ensure reliable protection against prying eyes and external manipulation. duplicity is just the tool for this, and the ftplicity script from c't magazine makes working with it child's play."

    http://www.heise-online.co.uk/security/Backups-on-non-trusted-FTP-servers--/features/79882 [heise-online.co.uk]
    http://duplicity.nongnu.org/ [nongnu.org]

  • by davidkv ( 302725 ) on Monday August 18, 2008 @03:34AM (#24642111)

    Have you checked out rsyncrypto [lingnu.com]?

  • by dolmen.fr ( 583400 ) on Monday August 18, 2008 @05:52AM (#24642677) Homepage

    It depends on what you put behind the word "security".
    "Backup" is also "security". And a cheap of-site backup is better than no off-site backup at all.

    I have the same need as the submiter as my ISP provides 10 GiB of public web space available only through FTP (r/w), HTTP (r) or HTTP+PHP (r/w). I have the storage, I need the software to use it while hiding backup content from my ISP and from other web eyes.

  • by Bert64 ( 520050 ) <bert AT slashdot DOT firenzee DOT com> on Monday August 18, 2008 @06:38AM (#24642889) Homepage

    Well, I use rsync over SSH (so the network traffic and authentication is encrypted)...
    You could potentially use an encrypted disk locally, and rsync the encrypted disk image over (it should still only xfer the changes), assuming you don't trust the target host.

  • Comment removed (Score:4, Interesting)

    by account_deleted ( 4530225 ) on Monday August 18, 2008 @08:26AM (#24643441)
    Comment removed based on user account deletion
  • Re:Really is a pity (Score:3, Interesting)

    by Builder ( 103701 ) on Monday August 18, 2008 @09:18AM (#24643937)

    I fully agree with this provider. Providing shell access to a shared machine is madness and you cannot provide security for your users this way.

    SFTP requires that SSH be running, so there is always a risk of shell access being gained through breaking scponly or whatever other jail you use.

    Virtual machines are the only way I know of providing this, and they cost more because of setup / maintenance costs. Failing that, FreeBSD jails, but they are unpopular due to people wanting Linux hosting.

    You get what you pay for - live with it or pay more.

  • by MagdJTK ( 1275470 ) on Monday August 18, 2008 @10:07AM (#24644453)

    Gah. I wish people wouldn't keep trying to use public key encryption when it's not needed. Public key encryption is used to get around the key distribution problem. Signing is used because anyone can easily encrypt stuff using your public key and you can't guarantee they are who they say they are.

    From what I can tell, he's not sending these files to anyone. He's uploading them and the only person who will access them will be himself. This is exactly what regular, symmetric encryption is for!

    Encrypt the files using AES or Blowfish or a combination. Truecrypt may be handy though I'm sure there are many other implementations. If you're keen on security use a password and a randomly generated keyfile which you keep safe on a USB stick (with multiple backups of course). The person on the other end obviously can't open the files without the key (which would take NSA millions of years to brute force). If he changes the files in some way then you won't be able to decrypt them with your key so you know something's up. No need for signing, GPG or anything particularly clever. As for sharing, who cares? Noone will be able to open them; that's the point of encryption.

  • by Anonymous Coward on Monday August 18, 2008 @10:40AM (#24644981)

    I use rsync with encryption all the time.
    http://troy.jdmz.net/rsync/index.html [jdmz.net]
    And I am syncing pictures (binary files) I take when I am away from home, it works pretty well for me.

  • by Sloppy ( 14984 ) on Monday August 18, 2008 @10:47AM (#24645141) Homepage Journal
    Yep. I spotted that problem too. The fact that he has the requirement to use non-trusted FTP (i.e. can't install openssh) strongly suggests this ftp server is someone else's. His backup could vanish at any moment. Since he can't rely on this, then he'll still need to backup somewhere else too. So why not switch his attention to that "somewhere else"?
  • by Anonymous Coward on Monday August 18, 2008 @11:01AM (#24645395)

    Here's a review of rsyncrypto [linux.com] that also says it isn't really secure:

    For an example of an information leak, suppose you have an XML file and you use rsyncrypto to copy the file to a remote host. Then you change a single XML attribute and use rsyncrypto to copy the updates across. Now suppose an attacker captured the encrypted versions in transit, and thus has copies of both the encrypted file before the change and after the change. The first thing they learn is that only the first 8KB of the file changed, because that is all that was sent the second time. If they can speculate what sort of file the unencrypted file was (for example, an XML file) then they can try to use that guess in an attempt to recover information.

    Rsyncrypto encrypts parts of the file independently, thus keeping any changes you make to a single block of the file local to that block in the encrypted version. If you're protecting a collection of personal files from a possible remote system compromise, such a tradeoff in security might be acceptable. On the other hand, if you cannot allow any information leaks, then you'll have to accept that the whole encrypted file will change radically each time you change the unencrypted file.

"Everything should be made as simple as possible, but not simpler." -- Albert Einstein

Working...