Um pouco de paranóia saudável ainda não fez mal a ninguém. Além de mensageiros com criptografia ponta a ponta, criptografia de arquivos em smartphones "out of the box" e uso obrigatório de SSL em sites, não será supérfluo proteger os dados em servidores virtuais. Além disso, as tecnologias modernas tornaram-no simples e acessível a qualquer usuário. Grandes provedores que fornecem serviços de hospedagem VPS oferecem criptografia de dados do usuário usando ferramentas padrão do sistema operacional. Por exemplo, a Microsoft, em sua nuvem Azure, usa BitLocker para servidores no Windows e DM-Crypt para máquinas virtuais no Linux. ... Essas ferramentas permitem que você mantenha a privacidade de seus dados, mesmo se um invasor obtiver acesso ao data center onde o servidor está localizado ou ao seu computador local.
Você pode confiar seus dados a hosters que fornecem VPS, você não pode confiar, mas ninguém o proibirá de usar os mesmos métodos com qualquer provedor de VPS configurado por você. Neste artigo, mostrarei como fazer isso.
Criptografando dados no Windows com BitLocker
O método de criptografia mais simples, mas mais confiável, para o Windows é o serviço interno do BitLocker. Sua configuração é simples e rápida, então a maneira mais fácil é usar a interface gráfica. Vamos analisar esse processo usando o exemplo do Windows Server 2016, localizado no provedor RuVDS. Vou escolher um local de servidor em Moscou para reduzir o ping:
E para um BitLocker mais rápido, use o menor SSD.
Vamos nos conectar via RDP padrão, que deve ser configurado um pouco antes de usar. Para isso, clique no botão "Mostrar parâmetros" na parte inferior da janela, marque a caixa "Área de transferência" na guia "Recursos locais" e selecione "Discos" na caixa de diálogo chamada pelo botão "Detalhes".
Isso permitirá que você copie arquivos para o seu computador ou cole-os na área de transferência normal. O RDP irá alertá-lo honestamente que: "Esta conexão remota pode ser prejudicial ...", devido ao compartilhamento de recursos locais. Vamos anotar e conectar ao servidor.
Após o login, veremos a área de trabalho usual e o painel de administração. Vamos conectar o serviço BitLocker diretamente a partir dele selecionando a opção "Adicionar funções e recursos". Na primeira tela, marque a caixa de seleção "Ignorar ..." para não ler o aviso toda vez que você alterar a configuração, clique em "Avançar" e selecione "Instalação baseada em funções ou recursos", selecione nosso servidor local e na seção "Recursos", marque "BitLocker Drive Encryption".
Confirme "Adicionar Recursos", clique em "Avançar", marque a opção "Reiniciar o servidor de destino automaticamente se necessário" e clique em "Instalar".
Depois de instalar o serviço, o sistema será reinicializado automaticamente e, da próxima vez que você se conectar, aparecerá uma janela informando que a instalação foi bem-sucedida.
Como temos um servidor virtual, ele não tem um criptoprocessador " Módulo de plataforma confiável ", o que significa que precisamos configurar as políticas de acesso para que o BitLocker solicite uma senha na inicialização do sistema. Se você não fizer isso, ao tentar habilitar a criptografia, o sistema exibirá uma mensagem de erro:
Vamos para a pesquisa, insira o nome do programa lá: " gpedit.msc " e execute-o. Precisamos encontrar a opção ao longo do seguinte caminho: Política do computador local → Configuração do computador → Modelos administrativos → Componentes do Windows → Criptografia de unidade BitLocker → Unidades do sistema operacional
É necessário ativar a política selecionando "Ativado", marque a caixa de seleção "Permitir BitLocker sem um TPM compatível (requer uma senha ou uma chave de inicialização em uma unidade flash USB)" nas opções e clique em "OK".
Resta selecionar as unidades que você deseja criptografar no Explorer.
O assistente de configuração analisará o sistema e pedirá que você continue ("Avançar"). Na próxima caixa de diálogo, ele avisará que a unidade será usada pelo BitLocker e recomendará que você primeiro faça backup dos dados críticos. Boa ideia, mas presumindo que você já fez isso, clique em Avançar. O sistema irá preparar o disco para criptografia, mas no processo irá avisá-lo de que não há para onde transferir seus dados de Recuperação do Windows e irá se oferecer para habilitar e configurar este sistema após a criptografia. A instalação está quase concluída e o assistente exigirá que você reinicie o sistema.
Após a reinicialização, o serviço será instalado e o sistema se oferecerá para criptografar o disco
Na próxima caixa de diálogo, o assistente solicitará que você insira uma unidade flash USB ou digite uma senha. Como nosso servidor é virtual, escolhemos o último. Na janela seguinte, surgimos, entramos e confirmamos a senha, o sistema irá jurar, se for muito simples ou curto, você tem que mostrar sua imaginação.
Em seguida, seremos solicitados a escolher a forma como a chave de recuperação de acesso será salva, caso esqueçamos a senha do BitLocker.
Não temos onde inserir o USB, você pode selecionar o disco local do seu computador, cujo acesso foi aberto nas opções de RDP. O arquivo terá o seguinte nome: "Chave de recuperação do BitLocker BE32F397-9C84-4765-9840-50BF3893CAB6.TXT". E dentro, haverá uma breve instrução e uma chave de recuperação:
Veja
BitLocker Drive Encryption recovery key To verify that this is the correct recovery key, compare the start of the following identifier with the identifier value displayed on your PC. Identifier: BE32F397-9C84-4765-9840-50BF3893CAB6 If the above identifier matches the one displayed by your PC, then use the following key to unlock your drive. Recovery Key: 667260-267685-242209-551199-606441-680966-499147-122408 If the above identifier doesn't match the one displayed by your PC, then this isn't the right key to unlock your drive. Try another recovery key, or refer to http://go.microsoft.com/fwlink/?LinkID=260589 for additional assistance.
Depois de salvar o arquivo, passamos à escolha do tipo de criptografia. Como nosso disco rígido local está protegido, selecionamos a primeira opção: "Novo modo de criptografia".
A próxima tela exige a confirmação de que realmente queremos criptografar o disco, clique em "Continuar", recebemos uma mensagem de que o processo será iniciado após a reinicialização e uma proposta para reiniciar o computador.
Tudo - o disco do sistema do nosso servidor é criptografado.
Tentamos nos conectar a ele e ... Nada funciona!
Tudo é lógico. O BitLocker exigirá que você insira uma senha na inicialização, e isso acontece antes mesmo que o sistema esteja pronto para funcionar remotamente. Isso não pode ser feito via RDP.
Vamos para a página RuVDS, que contém informações sobre os servidores em execução, e vemos uma imagem interessante:
Na captura de tela do monitor virtual, algo muito semelhante ao prompt do sistema. Na verdade, teremos que usar o console de acesso do modo de emergência para inserir a senha antes de inicializar o sistema:
Entramos com a senha e vemos a continuação do download. O console de emergência pode ser fechado e conectado via RDP. A propósito, precisamos dessa operação sempre que o servidor virtual for reiniciado. Não é muito conveniente, mas esse é o preço da segurança.
Agora, quando abrimos o menu da unidade, vemos novos itens nele: "Alterar senha do BitLocker" e "Gerenciar BitLocker". Tendo aberto o segundo item, podemos ver o status do disco e seu gerenciamento de criptografia. Como escolhi deliberadamente um pequeno SSD para a demonstração, a criptografia levou menos de cinco minutos. Quando terminou, a interface ficou assim:
A instalação do Bitlocker e a criptografia de disco no servidor virtual agora estão concluídas. Agora, se alguém obtiver acesso físico ao seu computador, não conseguirá se conectar ao servidor, mesmo que vá ao site do provedor com o seu login. E se ele vier ao data center e se conectar de dentro ao seu VPS, ele ainda não poderá receber os dados - eles serão criptografados.
O principal é não ficar de olho no arquivo que contém a chave para restaurar o acesso!
A propósito, como você usa essa chave se você esqueceu sua senha do BitLocker? É muito simples, você precisa reiniciar o servidor e ir para o console de emergência, mas agora opte por não fazer o login, mas restaurar. Pressione ESC e obtenha um convite para inserir a chave. Uma sutileza, você só precisa inserir números, e menos separadores serão inseridos automaticamente. Se você inserir incorretamente, receberá uma mensagem de erro e uma solicitação para inserir a chave novamente. Se for inserido corretamente, o sistema continuará a inicializar.
Configurando o BitLocker em um servidor remoto - Concluído.
Criptografar dados no Linux com dm-crypt
Existem muitas soluções de criptografia de partição diferentes para Linux, usaremos dm-crypt , um sistema simples e confiável que a Microsoft usa em sua nuvem Azure.
dm-crypt - um sistema de criptografia de disco padrão baseado no kernel Linux, baseado em: d evice m apper , o subsistema cria e fornece transparência para trabalhar com dispositivos virtuais; e crypt o API- um subsistema de criptografia usado para VPN sobre IPsec e uma série de outras funções. Dm-crypt tem duas maneiras de trabalhar com um criptocontêiner, simples - em que os dados não contêm um formato visível e parece um conjunto aleatório de bytes, e LUKS - que oferece mais opções, por exemplo, detecção automática de criptocontêineres pelo sistema, mas o arquivo conterá metadados, de acordo com que pode determinar o próprio fato da criptografia. Usaremos o segundo método, via protocolo LUKS .
O servidor é selecionado da mesma forma que na primeira seção, exceto para o sistema operacional. Vamos pular as etapas de predefinição, elas podem ser encontradas no manual do RuVDSe prossiga com a instalação do sistema de criptografia. Vamos atualizar a lista de pacotes e instalar o cryptsetup - a interface de linha de comando dm-crypt (para simplificar, todos os comandos serão inseridos como root):
apt update apt install cryptsetup
Para armazenar dados criptografados, você deve primeiro criar um arquivo especial, que funcionará como um dispositivo. Deve ser indissociável, e para isso existem várias formas, com vários graus de segurança.
Um deles é com o comando fallocate.
Crie um arquivo de 512 MB denominado test-crypt no diretório inicial do usuário raiz:
fallocate -l 512M /root/test-crypt
Este é o método mais fácil e rápido, mas o menos seguro, porque o comando simplesmente aloca espaço em disco sem sobrescrever os dados contidos nele.
É mais seguro criar um arquivo usando o utilitário dd (definição de conjunto de dados), pois permite não apenas criar um arquivo, mas também gravar nele informações que sobrescreverão o conteúdo anterior da área selecionada. Por exemplo, zeros do dispositivo virtual / dev / zero:
dd if=/dev/zero of=/root/test-crypt bs=1M count=512
A maneira mais paranóica é popular o arquivo de / dev / urandom. Mas também é o mais lento:
dd if=/dev/urandom of=/root/test-crypt bs=1M count=512
Depois de criar o arquivo, você precisa convertê-lo em uma seção LUKS:
cryptsetup -y luksFormat /root/test-crypt
Responda
YES
ao prompt do programa e defina uma senha. Ao contrário do BitLocker, não haverá métodos de recuperação, chaves privadas e outras conveniências, se você esquecer sua senha, seus dados serão irremediavelmente perdidos! Aborde essa questão com muita responsabilidade. Portanto, certifique-se de usar a opção
-y
que pede a confirmação da senha.
Vamos verificar o que temos usando o utilitário
file
:
file /root/test-crypt
A saída deve mostrar algo como:
test-crypt: LUKS encrypted file, ver 2 [, , sha256] UUID: 820a6557-ee7b-4f67-9f53-eb11586cc5dc
Isso significa que o contêiner criptográfico está criado e pronto para uso, ele ainda precisa ser implantado no dispositivo de volume criptografado:
cryptsetup luksOpen /root/test-crypt crypt-volume
Crie um sistema de arquivos lá:
mkfs.ext4 -j /dev/mapper/crypt-volume
E selecione o ponto de montagem:
mkdir /mnt/crypt-files
O dispositivo criptografado está pronto para uso, resta montá-lo e usá-lo como um disco normal, todas as operações de criptografia e descriptografia ocorrem “em tempo real”, de forma transparente para o usuário e o sistema.
mount /dev/mapper/crypt-volume /mnt/crypt-files
Vamos verificar nosso dispositivo. Vamos copiar alguns dados para ele, por exemplo, o conteúdo do diretório / etc / ssh e ver o que diz o utilitário dh
cp -r /etc/ssh/ /mnt/crypt-files/ df -h Filesystem Size Used Avail Use% Mounted on udev 928M 0 928M 0% /dev tmpfs 191M 648K 191M 1% /run /dev/sda1 20G 2.7G 16G 15% / tmpfs 955M 0 955M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 955M 0 955M 0% /sys/fs/cgroup tmpfs 191M 0 191M 0% /run/user/1000 /dev/mapper/crypt-volume 465M 1.3M 429M 2% /mnt/crypt-files
Como podemos ver, o dispositivo está montado, tem o volume determinado por nós e é preenchido em cerca de 1% com arquivos do diretório ssh.
Para terminar de trabalhar com o contêiner de criptografia, você precisa desmontá-lo e desativá-lo:
cd / umount /mnt/crypt-files cryptsetup luksClose crypt-volume
O trabalho com o aparelho está terminado e temos o arquivo mais comum, criptografado com nossa senha, dados que não ficam à disposição de um estranho, mesmo que ele tenha acesso físico ao servidor.
Para usar o crypto container novamente, você precisará inicializá-lo e montá-lo novamente:
cryptsetup luksOpen /root/test-crypt crypt-volume mount /dev/mapper/crypt-volume /mnt/crypt-files
Isso conclui a revisão dos sistemas de criptografia de dados que podem ser usados em servidores virtuais.
Boa conexão a todos!