Joshua Prismon's Technical weblog

.NET News Now

My stumper then, is this: How do I grab (or cause to be uploaded) a folder of files for backup, say as large as 2GB, from a WinXP machine, without having any access myself to read the file contents. I'll be able to install whatever I need on the WinXP machine, but the idea is that, when the bits leave that machine for the Linux backup server, there should be no way for me to read their contents. But, I must be able to usefully backup and, in conjunction with the owner of the files, restore in case of disaster.

Oh yeah, and I have no budget for software. So, I'm trying to work this out using only free tools.

So, my first though is some sort of encryption on the WinXP machine. Encrypt with GPG or something, leaving my boss with the secret key on a floppy and the passphrase in his head. Upload these files to a special folder on our shared drive, and it all gets backed up like everything else.

Or, since I don't even really want to know the names or number of files in this sensitive folder, can I somehow ZIP up the whole shebang and encrypt that before uploading?

Under Linux, none of this would be much of a problem to me. But, under WinXP, my knowledge of available tools and means of automation fail me.

Any hints from out there? [0xDECAFBAD]

First of all, for Linux backups, let me Highly recommend Amanda for Linux backups. Scaling other technologies gets too difficult, but we have a several hundred server network that Amanda tackles without problem. In addition, Amanda software is now being ported to win32, giving you a way to backup directly to tape (or rather to a Amanda spool). Here is One Such Effort. I had a project a few years back moving encrypted bank transactions across a network. Here is how I implemented it: Two folders are needed:
  • The Unencrypted directory that has all of the important stuff. (A)
  • A encrypted directory that is automatically written to. (B) Only B should be shared, and no unencrypted data should be present. There is a slight mathematical risk to zipping and then encrypting files (since the header of the ZIP is a well known structure), but the purpose of this excercise is to keep noisy employees away, not be 100% mathematically secure. Your proccess then works as follows:
  • Have your boss schedule a script that takes every file in A is zipped into a single file. (Winzip)
  • Have your boss schedule a script that encrypts that zip. (Use GPGP, but remind your boss that he must keep the key secure.
  • Have your boss schedule a script that moves only the encrypted file to B.
  • Use NCFTP or SAMBA to automatically transfer B over to a backup server. (Use SMBFS or smclient if using samba). If he does not want to share it, transfer it using NCFTP. WinZip works great for automatically compressing things. I would not use it's encryption or password features tho. Use GPGP with a secure key to encrypt, or roll your own using .NET's awesome encryption support. (I recommend staying with GPGP).
  • Comments

    Phil said:

    Have you looked at WebDAV? http://www.ietf.org/rfc/rfc2518.txt

    You can set up a web server with authentication and your boss can then connect to that webserver via Windows Explorer (which is a webdav client), enter his authentication in the popup, then drag/drop the files to the destination folder. You could turn on SSL, and even build a filter on the webserver to do some custom work (encrypt the files as they come in). It is all very cool stuff...
    # July 7, 2003 8:04 PM
    Leave a Comment

    (required) 

    (required) 

    (optional)

    (required)