A melhor maneira de fazer backups criptografados enquanto preserva as permissões para um sistema de arquivos do Windows

5

Para minha rede doméstica, eu queria comprar um NAS que suporte criptografia de disco e NFS, pois é importante para mim que o backup seja criptografado, mas também que ele preserve o proprietário, grupos e permissões (portanto, NFS). Dessa forma, achei que poderia usar algo como rsnapshot ou rBackup para fazer backup dos meus dados e obter vários instantâneos. Infelizmente não encontrei nenhum NAS que suporte NFS e criptografia ao mesmo tempo. Então eu queria saber se existe alguma possibilidade de conseguir isso usando um NAS sem o NFS (usando por exemplo o CIFS ao invés do NFS). Por isso, estou procurando uma solução de backup que atenda aos seguintes requisitos:

  • backup para um NAS na minha rede local (por exemplo, não quero usar uma unidade usb local)
  • deve preservar o proprietário, grupos e permissões e links simbólicos
  • deve ser criptografado
  • deve haver vários instantâneos disponíveis, como em rsnapshot ou rBackup
  • deve ser fácil acessar os arquivos de um instantâneo
  • não deve ser muito lento

Alguma idéia de como fazer isso em detalhes?

Editar: Eu apenas tento resumir as respostas até agora e quero fazer algumas perguntas adicionais para esclarecer alguns pontos. Parece ser a opção mais flexível para usar um contêiner, FUSE ou sistema de arquivos "falso" que não depende do dispositivo de destino. Nessa abordagem, posso usar qualquer script de backup de que goste e a criptografia seja feita pela CPU do cliente. As possibilidades são:

  • EncFS
  • Truecrypt
  • dmcrypt / luks
  • S3QL

Não tenho certeza se é possível ler e escrever no NAS via S3QL de dois clientes simultaneamente. É correto que isso não seja problema para as outras abordagens? No que diz respeito às permissões, em qualquer caso, tenho apenas que garantir que funcione com o NFS. Por exemplo, eu poderia apenas fazer meu script de backup para preservar numérico uid / gid e configurar nenhum usuário no NAS.

O EncFS parece ser a solução mais fácil até agora. Em Truecrypt e dmcrypt / luks eu tenho que escolher antecipadamente o containersize que parece não ser tão flexível como EncFS ou Truecrypt. No entanto, existem diferenças significativas entre essas soluções em termos de desempenho de leitura / gravação e estabilidade?

Outra abordagem interessante mencionada até agora é usar duplicity como um script de backup que faz a criptografia via gpg por si só.

    
por student 17.08.2012 / 11:01

4 respostas

1

Você pode usar o EncFS no topo do NFS

encfs /encrypted_place_at_nfs /mnt/place_to_access_it_unencrypted

    
por 25.08.2012 / 20:24
3

Eu também verifico S3QL . Ele fornece muitas funcionalidades interessantes para backups de rede. Ele é voltado principalmente para o backup na nuvem, mas você também pode usá-lo para a rede local . exemplo, usando NFS ou SSHFS .

Com relação a como fazer backups com este software, isso depende de você gerenciar, o S3QL é apenas um sistema de arquivos remoto com algumas funcionalidades extras.

De qualquer forma, o pacote S3QL inclui um script de exemplo para saber como para fazer isso. O que eles basicamente fazem é usar os recursos de desduplicação de dados do software para fazer backup em um diretório remoto com a data como nome e, a cada vez que um backup é feito, uma cópia do backup anterior é feita e renomeada. para a data atual do backup, dessa forma apenas as diferenças precisam ser carregadas para o novo diretório usando o rsync. Você acaba com vários diretórios para todas as datas em que executou um backup, usando apenas o armazenamento mínimo necessário, pois os dados não são duplicados.

EDIT : (como resposta às perguntas adicionais)

Um sistema de arquivos S3QL só pode ser montado a partir de um cliente de cada vez, mas bem, acho que essa limitação também se aplica ao EncFS e ao dmcrypt / luks. De qualquer forma, isso não estava em seus requisitos, certo? Se for um novo requisito, provavelmente você está preso a usar NFS ou CIFS e algum software de backup que faça a inscrição no cliente para você, como duplicidade.

    
por 28.08.2012 / 00:30
2

É possível instalar o debian em uma caixa NAS e criptografar todo o disco disco. O problema é que os processadores na maioria das caixas NAS (e especificamente no DNS-323 daquele artigo) são muito lentos e a criptografia de disco local os torna extremamente lentos e sem resposta.

Outra solução seria hospedar um contêiner TrueCrypt criptografado em qualquer compartilhamento NFS não criptografado. Em seguida, você pode montá-lo no computador cliente e usar o método de backup que preferir dentro do contêiner criptografado. Dessa forma, o servidor não precisa fazer os cálculos de criptografia.

Uma terceira opção seria usar a duplicidade para criar backups incrementais criptografados em um sistema de arquivos não criptografado com permissões e links simbólicos preservados. Ele funciona muito parecido com o rsync, mas os dados são criptografados com o PGP. A desvantagem é que ele é um pouco menos transparente sobre como seus backups são armazenados, portanto, acessar uma versão anterior de um arquivo específico é algo não trivial.

Eu pessoalmente uso um DNS-323 da D-Link rodando Debian com RAID não criptografado e faço backups com duplicidade. Não é a solução perfeita, mas é o melhor que encontrei antes de executar um PC completo como servidor de backup. Eu tive experiências boas com o truecrypt, mas é difícil automatizar esse processo tão facilmente quanto a duplicidade, já que você precisa montar um container separado a cada vez.

    
por 24.08.2012 / 22:54
1

Como você está usando o Linux, você pode usar o dmcrypt / luks.

Em sistemas semelhantes ao Red Hat (incluindo o Fedora)

yum install cryptsetup-luks luks-tools

Isso lhe dará alguns comandos luks.

Agora você precisa criar um contêiner no seu dispositivo NAS (vamos supor que ele esteja montado em / mnt):

# Create a sparse file
dd if=/dev/zero of=/mnt/cryptdisk.dat seek=2G bs=1 count=1
# Create a key
dd if=/dev/urandom of=/root/crypt.key bs=1 count=2048
# Assign a device
losetup -a /dev/loop0 /mnt/cryptdisk.dat
# Encrypt device
cryptsetup luksFormat /dev/loop0 /root/crypt.key
# Create mapping to an encrypted device
cryptsetup luksOpen /dev/loop0 cryptdev -d /root/crypt.key

Agora você tem um / dev / mapper / cryptdev que pode ser usado como uma partição (por exemplo, formate-o com ext3, monte-o, ...)

Use a partição montada para seus propósitos ...

Outras leituras: man cryptsetup , man losetup .

    
por 28.08.2012 / 22:02