O que é fácil de gerenciar o sistema de arquivos para escolher no Linux para o homeserver?

2

Eu tenho um homeserver rodando em um HP Proliant Microserver Gen7 com 10GB de memória ECC com Debian 8 (jessie). Agora eu tenho um pequeno disco de sistema (backup usando rsnapshot) e 2x 3TB de armazenamento de discos como um Raid 1 usando mdadm, no topo eu tenho grupos LVM para diferentes propósitos, um deles - é adicionalmente crypt / luks dm-crypt para reter dados privados.

Estou planejando comprar dois HD adicionais do mesmo tamanho para o pool de armazenamento e provavelmente configurando o servidor do zero, definitivamente usando o debian novamente, mas provavelmente sob a virtualização xenserver desta vez. Assim, o pool de armazenamento seria 4x 3TB, com Raid1 deixando um 6TB utilizável, com Raid5 (ou raidz1) 9TB.

Embora a combinação de mdadm / lvm / dm-crypt funcione bem, acho incrivelmente complexo, especialmente planejar uma estratégia fácil de recuperação de desastres. Eu preciso pesquisar para cada uma das camadas qual é o melhor processo de backup e restauração de metadados, etc.

Em um mundo perfeito, eu transformaria todo o armazenamento em um pool raidz1 criptografado, mas a criptografia BUT ainda não era incluída no Zfs no Linux e, de acordo com minha pesquisa, não é totalmente claro QUANDO se espera que ela seja implementada

O Btrfs tem um pouco da mesma situação: pelo menos parece que a produção está estável - mas, infelizmente, a criptografia também só chegará em um futuro imprevisível.

Então, dos sistemas de arquivos que eu prefiro usar, ambos não suportam nativamente a criptografia no linux (ainda). Bem, há um monte de howtos e tutoriais sobre como usar o LUVM LVM criptografado em conjunto com o ZFS ou o BtrFS. Existe a abordagem para usar o LVM em cima do ZFS ou do ZFS em cima do LVM - para mim isso soa como uma bagunça horrível.

Eu não gosto do conceito do EncFS, então isso também não é uma opção.

Espero que existam algumas opções que eu não tenha ouvido falar, portanto, a minha pergunta aqui: O que mais está lá fora para conseguir isso é fácil de gerenciar sistema de arquivos para escolher no Linux para homeserver, que pode ser completamente ou em partes criptografado?

ATUALIZAÇÃO dezembro de 2017: ZFS no Linux com criptografia em breve: link

    
por Hans Meiser 28.01.2016 / 23:39

3 respostas

1

se você escolher a configuração do ZFS, eu sugiro:

  • não use o LVM, crie ZVOLs no topo do pool

  • para partição OS - GPT do pool ZFS não criptografado com mirror (ou raidz)

  • para dados privados - use o LUKS na partição GPT e, em seguida, crie um espelho do pool do ZFS (ou raidz)

após a inicialização, você efetua login via ssh, insere a senha para partições criptografadas e importa o pool que está no topo do LUKS e, em seguida, inicia as máquinas virtuais (melhor escrever um script de shell)

para que o esquema sugerido seja GPT / LUKS / ZFS / data ou ZVOL for VM

não se esqueça de criar uma partição de BIOS (tamanho 1M) se você não usar a inicialização UEFI também não esqueça de fazer uma partição para o GRUB, como 150M

para heavy random io eu sugiro desabilitar a pré-busca do ZFS (echo 1 > / sys / module / zfs / parâmetros / zfs_prefetch_disable)

    
por 17.02.2016 / 23:16
1

Este é um aviso para todos que querem alguns dados criptografados, sempre criptografam 100% de todo o armazenamento possível conectado ao computador, não importa se é a partição do Grub, a partição do sistema, a partição home, a partição de dados, a swap, etc. SEMPRE ENCRIPTA TUDO.

Por quê? Porque você não controla onde os dados são salvos pelos aplicativos / sistema.

Secularidade de eventos de amostra do Disarter:

  1. Inicialização normal
  2. Use um aplicativo
  3. Abra um documento "particular"
  4. crash do Sysmtem (software ou hardware)
  5. A próxima inicialização não funciona
  6. Um dispositivo termina sua vida útil (não funciona novamente)

Você não pode excluir o que está em tal dispositivo (não está funcionando), você não pode lê-lo, então, o que foi salvo lá? talvez algo 'privado'? Você não pode nem saber o que nem onde.

Mas alguém mais (talvez com alguns milhões de dinheiro no bolso) pode redimi-lo, então você não pode colocar no lixo aquele dispositivo, não até você confirmar que os dados 'privados' não estão lá ... mas você não pode saber a menos que você forneça o dispositivo a uma empresa, mas, novamente, 'privado' está em risco, talvez ele 'copie' (pessoa ruim trabalhando lá, etc).

Pergunte-lhe: Você conhece cada linha de origem de todo o código que você usa (código de inicialização, código do sistema, código de aplicativos, etc), código-fonte que você compila por si mesmo ... e nunca usa nenhum tipo de binário '... então você deve ter compilado com um lápis e um papel com o compilador.

Se você usar o código que você não sabe o que ele faz.

Nota: Se você precisar usar dados 'privados', nunca mais conecte o computador à Internet ... talvez alguma parte do aplicativo que você usou, tenha salvado alguns dados e, em um futuro longo, envie-os à Internet servidores.

Exemplo extremo: você usa um aplicativo de gravação para ler um fuso TXT, ele tem um código oculto para salvá-lo escondido em algum lugar ... depois de alguns anos de atualizações esse aplicativo (ou outro) tem código oculto para ler salvou dados e os enviou para um servidor de Internet ou computador de terceiros, etc.

Os casos são extremos? Eu aprendo-os da maneira mais difícil ... no meu Linux digite um troyan (dentro de um aplicativo que eu quero usar), aparentemente, não faz nada (não tem conexão sockect, etc), mas estava registrando algum tipo de 'escreve' para o disco e fazendo uma escrita dupla ... depois de quase duas semanas outro toyan pegou essa informação e tentou enviá-lo para um IP .. bondade eu tinha outro computador no 'meio' da minha conexão com a internet (sim, claro que eu sou e Eu era um paranóico total, que me salvou) para "descobrir" as conexões e "bloqueá-las" ... para não mencionar que eu só uso o 'Linux' já que o Windows não pode estar sob controle. Tais troyans estavam lá sem knon do autor do aplicativo, onde eles eram injetados quando o aplicativo era armazenado no repositório. Espero entender que eu prefiro não dizer qual aplicativo foi desde agora tem sido 'fixo' ... quem sabe desde quando!

Você acha que eu estou pensando apenas em troyan, coisas escondidas, etc, não em todos, lembre-se de swap, arquivos temporários, etc ... alguns aplicativos salva o documento que você está usando / criando para ajudá-lo a não perder o que você tinha feito, onde no inferno salvou esses dados? Não é necessário em você partição criptografada, talvez em SWAP, pasta temporária ou, em geral, onde o autor do aplicativo queria, "assim você não pode sempre saber onde é salvo .... novamente criptografar tudo.

Oh, sim, o grub.cfg pode residir dentro de um RAID0, LUKS sobre LUKS ... sobre LUKS, etc. Você só precisa de uma partição muito pequena para o estágio 1.5 ou 2 de 8MiB ou menos em não formatado (dump em massa) deixar Grub2 boot ... pesquisar por partição do BIOS GRUB na internet.

Desculpe, eu ainda não tentei o ZFS e não tenho certeza se os arquivos Grub (grub.cfg, etc) podem residir dentro de um ZFS ... mas eu testei tê-los: Ext4 over LVM over LUKS over LVM over LUKS Então, em alguns níveis ... sobre LUKS sobre um GPT real (olso em um MBR) sem partição EFI e arranca ok ... só precisava adicionar extensões 'crypto' e 'lvm', ao instalar o grub2 ... i prefiro digitar meu próprio grub.cfg, então eu nunca uso nada além de grub2-install relacionado ao grub2 (novamente eu sou paranóico).

Eu sempre uso como principal bootloader meu próprio grub.cfg que chama outros gerenciadores de boot, assim eu deixo o sistema gerenciar seu próprio gerenciador de inicialização sem tocar no principal que eu edito manualmente com um editor de texto.

Desculpe, sou totalmente paranóico.

O que você deve pensar? Se houver algum 'lugar' onde dados não criptografados possam ser gravados / lidos, qualquer tipo de dado 'privado' é uma falta total, pode ser escrito alguma vez naquela parte não criptografada. Para estar seguro, nunca tenha uma parte não criptografada.

P. D.: Se você usar a partição EFI, tenha em mente que qualquer código pode gravar nele, pois não possui nenhuma proteção e é uma partição FAT32 não criptografável.

P. P.: Onde podem ser armazenados dados em um FAT32? Em qualquer lugar, também no espaço livre. E no Ext4? Exatamente o mesmo ... sempre criptografa todo o armazenamento.

    
por 22.11.2017 / 22:21
0

mdadm / lvm / dm-crypt é provavelmente sua melhor aposta - e não é tão complexo assim - você apenas manipula cada camada apropriadamente - ou, dependendo de suas necessidades, mdadm / dm-crypt / lvm (se você quiser os LVs para compartilhar um único dispositivo com 1 frase secreta)

Você tem o direito de não usar o encfs - inseguro .

    
por 29.01.2016 / 03:08