rdiff-backup-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Backward compatibility of next beta


From: Patrik Dufresne
Subject: Re: Backward compatibility of next beta
Date: Tue, 04 Feb 2020 08:58:58 -0500

Hello Derek,

Sorry for the delay of response. I wanted to take the time to properly 
answer your questions.

This design is built specifically for our Minarca clients. The  central 
server is not aware of the location of each client. Clients might be mobile 
behind a NAT, or firewall.

So our central server is receiving connections.

About the security conserns. We isolate each users repository based on the 
SSH keys.
If one client is compromised, only the associated repo is compromised. Any 
how, is the client is compromised, all the data is accessible to the 
hacker. 

To mitigate the repository corumptions, either because of a hack or any 
reason, we have zfs snapshot to recover.

In you case, a hacker could eventually, do modification to rdiff-backup 
code to corupmt the backup.



On Thu., Jan. 30, 2020, 11:01 a.m. Derek Atkins, <address@hidden> wrote:

> Patrik,
>
> On Thu, January 30, 2020 10:29 am, Patrik Dufresne wrote:
> >
> > I'm in the same boat as many of you, I have more than two hundred servers
> > using rdiff-backup directly or through Minarca and it's impossible to
> > migrate all of them at once. I've been thinking about a migration plan 
> for
> > some time now and I have a general idea that I can't wait to put in 
> place.
> > I'm planning to work on a solution end-February. The general idea is to
> > pre-compile rdiff-backup 1.2.8 and 2.0.0 as individual executable and
> > deploy both of them on the central server as rdiff-backup-1.2.8 and
> > rdiff-backup-2.0.0. Then reconfigure the SSH server using a script to
> > either call rdiff-backup-1.2.8 by default and call rdiff-backup-2.0.0
> > based
> > on some condition.
>
> I'm curious -- do you have each of your 200 servers call into the
> centralized backup server?  Or do you have your backup server "reach out"
> to the 200 servers?
>

Our deployment of rdiff-backup is solely based on Minarca as a centralized 
server. So all our "clients" are connecting to the centralized server. It's 
built this way because our clients are distributed, behind NAT, some of 
them are mobile and some of them are Windows. With these constraints, we 
can't have a centralized server reaching the clients.
 

>
> I actually have it set up so that the backup server reaches out to the
> servers being backed up.  I did it this way to limit the access to the
> backups themselves, and that the servers being backed-up could be "dumb"
> about their backups.  


It makes sense if the computer you are backing up are always reachable 
without NAT and if all of them are Linux.
 

> Specifically, all the "private keys" necessary to
> backup a device are sitting on the backup server and not on the servers
> being backed up (modulo that server's existing SSH key).


To ease the SSH key exchange, we provide Minarca Client to our users. After 
installing Minarca clients, the user must enter it username and password to 
establish a connection with the Minarca centralized server. During this 
process, it exchanges the SSH keys through a web service over Https with 
the Minarca Server.
 

> It would also
> prevent someone who "breaks in" to one server to gain access to the backup
> server and corrupt backups from other servers.
>

To mitigate this Minarca Server provide an SSH entry point that restricts 
each user into its own space. In other words, if one client gets 
compromised, only it's data get compromised. A malicious user cannot get 
access to other backup. I'm also looking for a way to add additional layers 
of security using containers.
 

> In my case, I could have a configuration that "knows" the version running
> on the server being backed up and calls the appropriate incarnation of
> rdiff-backup on the backup server.  But I would rather this be automated,
> so I don't have to pay that close attention and ensure both ends are
> properly synced manually.
>

I'm definitely looking toward a similar solution where it's seamless. The 
more I'm thinking of it, we may need to change the code in rdiff-backup to 
help us. What would really help is having rdiff-backup calling a different 
executable in the remote schema. Instead of calling "rdiff-backup" it 
should call rdiff-backup2.0.0. And rdiff-backup could be a symbolic link to 
the default version, either 1.2.8 or 2.0.0. That would really simplify the 
migration process for everyone.

@EricZolf <address@hidden> Do you think it's feasible ?
It would mitigate all the migration issue and API incompatibilities. We 
could also call "rdiff-backup2" (with only the major version) and bump the 
major version only when an API incompatibility get introduced in the code.

 

> -derek
>
> -- 
>        Derek Atkins                 617-623-3745
>        address@hidden             www.ihtfp.com
>        Computer and Internet Security Consultant
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]