Rsnapshot backup van remote server met versch. file owners

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 10-04 15:54
Hi all,

Ik heb een productieserver waarop een boel mappen van verschillende file owners op staan. Elke owner heeft z'n eigen map met submappen. Al die mappen en files hebben en user en group van die specifieke owner.

Voor backups heb ik een remote backupserver ingericht waarop ik door middel van rsnapshot elk uur een incremental backup van de folders op de productieserver wil maken. Ik op mijn eigen useraccount d.m.v. een ssh key al en password-loos login verbinding tussen de twee servers gelegd, dus ik kan zonder moeite een rsnapshot command uitvoeren naar de remote productieserver. De verbinding wordt dan gelegd en backup gemaakt. Echter, ik kan blijkbaar (en verwacht) alleen backups maken (lezen vanaf de productieserver) van de mappen en files waarvan de file-owner gelijk is aan de user waarmee ik de rsnapshot opdracht doe. Hoe kan ik nu geautomatiseerd een rsnapshot backup maken van alle mappen, dus ook van de andere file-owners?

Ik wil liever geen root-access opzetten tussen de twee servers, dus dat is geen optie. Hoop dat jullie me opweg kunnen helpen! _/-\o_

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Nou, het is jammer dat je geen root access wilt gebruiken, want dat is de enige optie om het voor elkaar te krijgen. Je zal het snapshot met root rechten moeten maken. Je kan dan het resultaat read rechten geven voor je gebruiker en dan naar de andere kant sturen, waarna je 't weer met root opslaat, of hoe het ook bewaard wordt.
Het overzetten heeft dus niet perse root nodig, maar het maken wel.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16:37

deadinspace

The what goes where now?

Waarom is root-access niet acceptabel en access tot je eigen user wel? Als je vanuit je eigen user su't of sudo't, dan is dat voor een aanvaller bijna hetzelfde ;)

Maar root-access is wel een goede manier hiervoor. De truuk is om het goed af te schermen. Dit doe je door
  1. Te zorgen dat root (en het liefst alle users) alleen kunnen inloggen met public key authentication. (PasswordAuthentication no)
  2. Een keypair aan te maken specifiek voor deze backups, en dit keypair op je server een forced command te geven voor rsync.
  3. Het liefste alleen maar forced-command logins toestaan voor root. (PermitRootLogin forced-commands-only)
Een forced command instellen doe je door de public key in .ssh/authorized_keys te prependen met command="<command>", zo:
command="ls" ssh-rsa AAAAB3...

Welk commando je exact moet invullen hangt er van af wat rsnapshot/rsync precies probeert te doen, maar voor mij werkte dit goed:
command="rsync --server --sender -vlogDtprxze.iLsf . /" ssh-rsa AAAAB3


Hou er overigens rekening mee dat als je bepaalde bestanden (met name in /etc) backupt je ook je veiligheid in gevaar brengt. Een aanvaller die dan toegang heeft tot je backups kan dan makkelijk je main server targeten. Dit omdat je huiverig was root-access te geven ;)

Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 10-04 15:54
deadinspace schreef op donderdag 16 april 2015 @ 22:30:
Waarom is root-access niet acceptabel en access tot je eigen user wel? Als je vanuit je eigen user su't of sudo't, dan is dat voor een aanvaller bijna hetzelfde ;)

Maar root-access is wel een goede manier hiervoor. De truuk is om het goed af te schermen. Dit doe je door
  1. Te zorgen dat root (en het liefst alle users) alleen kunnen inloggen met public key authentication. (PasswordAuthentication no)
  2. Een keypair aan te maken specifiek voor deze backups, en dit keypair op je server een forced command te geven voor rsync.
  3. Het liefste alleen maar forced-command logins toestaan voor root. (PermitRootLogin forced-commands-only)
Een forced command instellen doe je door de public key in .ssh/authorized_keys te prependen met command="<command>", zo:
command="ls" ssh-rsa AAAAB3...

Welk commando je exact moet invullen hangt er van af wat rsnapshot/rsync precies probeert te doen, maar voor mij werkte dit goed:
command="rsync --server --sender -vlogDtprxze.iLsf . /" ssh-rsa AAAAB3


Hou er overigens rekening mee dat als je bepaalde bestanden (met name in /etc) backupt je ook je veiligheid in gevaar brengt. Een aanvaller die dan toegang heeft tot je backups kan dan makkelijk je main server targeten. Dit omdat je huiverig was root-access te geven ;)
Het ziet er naar uit dat dit werkt inderdaad! Thnx!! _/-\o_

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 11-09 21:28

CAPSLOCK2000

zie teletekst pagina 888

Een forced-command is inderdaad de beste oplossing voor dit probleem. Als je het echt niet als root wil/kan doen dan kun je ook nog sudo in dat forced command opnemen.

This post is warranted for the full amount you paid me for it.