Este artigo foi traduzido por IA

Criptografar dados em repouso

Introdução

O recurso Criptografar dados em repouso fornecido pelo DocSpace permite garantir a segurança dos dados sensíveis no seu DocSpace.

A criptografia é uma conversão reversível de informações para manter a confidencialidade dos dados armazenados em disco. Assim, mesmo que invasores consigam acessar os dados armazenados no disco rígido, eles não poderão lê-los, pois estão criptografados.

A criptografia é baseada no tipo de criptografia Encrypt-then-MAC (AES-256-CBC + HMAC-SHA256) de todo o corpo de dados dentro da instância ONLYOFFICE e está em conformidade com o padrão internacional de criptografia de dados AES-256. O tipo de criptografia AES-256 com o algoritmo simétrico CipherMode.CBC é usado para cifrar os dados no DocSpace, enquanto a função de hashing SHA256 emparelhada com o código de autenticação de mensagem HMAC verifica a integridade e autenticidade dos dados criptografados.

Este recurso está disponível apenas para versões de servidor. Funciona apenas para DiscDataStore (apenas disco local. Não implementado para s3 e outros serviços em nuvem).

ImportantePor motivos de segurança, não é recomendado armazenar dados criptografados e chaves de criptografia na mesma máquina. Portanto, é necessário distribuir os serviços do DocSpace e o armazenamento em disco para máquinas diferentes. A única opção é montar outra máquina como um disco externo.

Montando um disco de máquina remota via SSHFS

Vamos considerar a opção de montar o disco no Linux quando o DocSpace é instalado via pacotes DEB.

SSHFS (Secure SHell FileSystem) é um programa cliente para Linux (e outros sistemas operacionais para os quais há uma implementação FUSE (Filesystem in Userspace)) usado para gerenciar arquivos remotamente via protocolo SSH (mais precisamente, sua extensão SFTP) como se estivessem localizados no computador local.

  • HostA é o host do servidor de aplicativos com DocSpace
  • HostB é o host de armazenamento de arquivos
  • /var/www/onlyoffice/Data/ é o caminho para a pasta de dados no HostA
  • /app/onlyoffice/data é o caminho para a pasta de dados no HostB
  • docspace é o nome do usuário não privilegiado no HostA
  • datauser é o nome do usuário não privilegiado no HostB
Passo 1. Configurando o HostB

Instale atualizações no sistema e reinicie:

sudo su
apt update
apt upgrade
reboot

Crie e configure o usuário não privilegiado e a pasta de destino:

sudo su
adduser datauser
mkdir /app/onlyoffice/data
chown datauser:datauser /app/onlyoffice/data
Passo 2. Configurando o HostA

Instale atualizações e pacotes necessários no sistema e reinicie:

sudo su
apt update
apt upgrade
apt install sshfs
reboot

Pare os serviços do DocSpace:

sudo systemctl stop 'docspace-*' --all

Mova os dados do DocSpace para um diretório temporário para que o diretório de origem esteja vazio antes de montar:

mkdir /var/www/onlyoffice/tmp
mv /var/www/onlyoffice/Data/* /var/www/onlyoffice/tmp/

Crie o usuário não privilegiado, gere chaves e prepare o ponto de montagem:

sudo su
adduser docspace
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -C "key_for_hostb_connection"

Exiba a chave pública na tela do HostA para copiar para o HostB:

sudo su
cat /root/.ssh/id_ed25519.pub

Exemplo de saída:

root@sftp-test-01:~# cat /root/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBsDV25Pg8yB1QHeTZXJGphGTDhfqQQKVetcqvhk0dkf key_for_hostb_connection

A chave exibida pelo comando cat deve ser copiada e colada no arquivo /home/datauser/.ssh/authorized_keys no HostB.

Teste a conexão usando a chave do HostA para o HostB:

ssh -i /root/.ssh/id_ed25519 datauser@hostB

Se você completou o passo anterior corretamente, uma conexão com o HostB deve ser aberta. Ela pode ser fechada com o comando exit.

Teste a montagem:

sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 datauser@hostB:/app/onlyoffice/data/ /var/www/onlyoffice/Data/
touch /var/www/onlyoffice/Data/test.txt
umount /var/www/onlyoffice/Data

Após executar esses comandos, o arquivo text.txt deve aparecer na pasta /app/onlyoffice/data no HostB. Se o arquivo aparecer, a montagem funciona corretamente e você pode prosseguir para a configuração final.

Descubra o ID do usuário não privilegiado e faça alterações no arquivo /etc/fstab:

sudo id -u docspace

Este comando exibirá o uid do usuário docspace, que deve ser substituído nos parâmetros uid e gid na linha de montagem:

sshfs#datauser@hostB:/app/onlyoffice/data   /var/www/onlyoffice/Data   fuse   _netdev,users,allow_other,IdentityFile=/root/.ssh/id_ed25519,ServerAliveInterval=15,ServerAliveCountMax=3,reconnect,uid=1000,gid=1000,umask=0022   0   0

Esta linha deve ser adicionada ao arquivo /etc/fstab. Após adicionar a linha, monte a pasta via /etc/fstab e teste:

sudo su
systemctl daemon-reload
mount -a
su docspace
touch /var/www/onlyoffice/Data/test2.txt

Se todos os procedimentos forem realizados corretamente, o arquivo test2.txt será criado na pasta /app/onlyoffice/data no HostB.

Exclua os arquivos de teste e restaure os dados do DocSpace:

rm /var/www/onlyoffice/Data/test*.txt
mv /var/www/onlyoffice/tmp/* /var/www/onlyoffice/Data/
rmdir /var/www/onlyoffice/tmp

Inicie os serviços do DocSpace:

sudo systemctl start 'docspace-*' --all

Após iniciar o aplicativo, verifique o funcionamento na interface (baixar, abrir arquivos, alterar o avatar, carregar a licença).

Da mesma forma, você pode montar a pasta com logs.

Preparar para o processo de criptografia

Antes de iniciar o procedimento de criptografia, você deve realizar algumas etapas preliminares.

  1. No seu DocSpace, clique no menu Ícone de opções no canto inferior esquerdo e selecione o item de menu Espaços -> Gerenciamento de Espaço no painel lateral esquerdo.
  2. Vá para a seção Configurações -> Backup e desative o recurso Backup Automático de Dados.
  3. Certifique-se de que há espaço suficiente no seu disco rígido.
ImportanteÉ recomendado salvar o machinekey do config. Por exemplo, se você reinstalar o DocSpace, não poderá se conectar aos dados criptografados com um machinekey diferente.

Se o DocSpace for instalado usando os pacotes DEB, encontre o valor core.machinekey no arquivo /etc/onlyoffice/docspace/appsettings.production.json.

Após as preparações preliminares estarem prontas, você pode prosseguir para o próximo passo.

Criptografar armazenamento

  1. Vá para a seção Gerenciamento de Espaço -> Configurações -> Armazenamento.
  2. Marque a caixa de seleção Notificar usuários que o espaço ficará indisponível para notificar todos os usuários ativos por e-mail quando o processo de criptografia começar.
    Após a conclusão bem-sucedida do processo de criptografia, todos os usuários ativos também receberão notificações por e-mail. Se ocorrer um erro durante o processo de criptografia, todos os administradores (independentemente da opção Notificar usuários) receberão notificações por e-mail do processo de criptografia malsucedido.
  3. Clique no botão Criptografar armazenamento e depois em OK para iniciar o processo de criptografia.

O tempo necessário para concluir o procedimento depende do volume de dados. Todos os espaços ficarão indisponíveis durante o processo de criptografia. Assim que a criptografia terminar, os dados do DocSpace estarão disponíveis para uso.

Criptografar armazenamento Criptografar armazenamento
ImportanteUma nova senha é gerada cada vez que a criptografia é iniciada. Se sua senha foi comprometida por algum motivo, você precisará descriptografar todos os dados e recriptografá-los.
ImportanteQuando o mecanismo de criptografia está ativado, uma nova cópia de backup do arquivo de dados conterá arquivos descriptografados. Quando tal cópia é restaurada, os arquivos serão criptografados novamente no disco.
ImportanteSe surgirem problemas enquanto o serviço está em execução (erros críticos, o serviço é interrompido, a eletricidade é desligada, etc.), todos os espaços permanecerão bloqueados. Eles só podem ser corrigidos manualmente no banco de dados: UPDATE tenants_tenants SET status='0' WHERE status='6';

Descriptografar armazenamento

Para descriptografar dados no DocSpace,

  1. Vá para a seção Gerenciamento de Espaço -> Configurações Seção de armazenamento.
  2. Marque a caixa de seleção Notificar usuários que o espaço ficará indisponível para notificar todos os usuários ativos por e-mail quando o processo de descriptografia começar.
    Após a conclusão bem-sucedida do processo de descriptografia, todos os usuários ativos também receberão notificações por e-mail. Se ocorrer um erro durante o processo de descriptografia, todos os administradores (independentemente da opção Notificar usuários) receberão notificações por e-mail do processo de descriptografia malsucedido.
  3. Clique no botão Descriptografar armazenamento e depois em OK para iniciar o processo de descriptografia.
    Descriptografar armazenamento Descriptografar armazenamento

O tempo necessário para concluir o procedimento depende do volume de dados. Todos os espaços ficarão indisponíveis durante o processo de criptografia. Assim que a criptografia terminar, os dados do DocSpace estarão disponíveis para uso.

Artigo com o tag:
Veja todas as etiquetas