Red Hat Training
A Red Hat training course is available for RHEL 8
9.12. Implantação de sistemas NBDE de alta disponibilidade
A Tang fornece dois métodos para a construção de uma implantação de alta disponibilidade:
- Redundância de clientes (recomendado)
-
Os clientes devem ser configurados com a capacidade de se ligar a múltiplos servidores Tang. Nesta configuração, cada servidor Tang tem suas próprias chaves e os clientes podem decodificar entrando em contato com um subconjunto destes servidores. A Clevis já suporta este fluxo de trabalho através de seu plug-in
sss
. A Red Hat recomenda este método para uma implantação de alta disponibilidade. - Compartilhamento de chaves
-
Para fins de redundância, mais de uma instância de Tang pode ser implantada. Para criar uma segunda instância ou qualquer outra posterior, instale os pacotes
tang
e copie o diretório de chaves para o novo host usandorsync
sobreSSH
. Note que a Red Hat não recomenda este método porque compartilhar chaves aumenta o risco de comprometimento de chaves e requer uma infra-estrutura de automação adicional.
9.12.1. NBDE de alta disponibilidade usando o compartilhamento secreto da Shamir
Shamir's Secret Sharing (SSS) é um esquema criptográfico que divide um segredo em várias partes únicas. Para reconstruir o segredo, é necessária uma série de partes. O número é chamado de limiar e o SSS também é referido como um esquema de limiar.
Clevis fornece uma implementação do SSS. Ele cria uma chave e a divide em uma série de peças. Cada peça é criptografada usando outro pino, incluindo até mesmo o SSS recursivamente. Além disso, você define o limite t
. Se uma implementação NBDE descriptografa pelo menos t
peças, então recupera a chave de criptografia e o processo de descriptografia é bem sucedido. Quando Clevis detecta um número menor de peças do que o especificado no limiar, ele imprime uma mensagem de erro.
9.12.1.1. Exemplo 1: Redundância com dois servidores Tang
O seguinte comando decripta um dispositivo criptografado LUKS quando pelo menos um dos dois servidores Tang está disponível:
# clevis luks bind -d /dev/sda1 sss "t":1,"pins":"tang":[url":http://tang1.srv",{\i1}"url":http://tang2.srv"]{\i1}
O comando anterior utilizava o seguinte esquema de configuração:
{ "t":1, "pins":{ "tang":[ { "url":"http://tang1.srv" }, { "url":"http://tang2.srv" } ] } }
Nesta configuração, o limiar do SSS t
está definido para 1
e o comando clevis luks bind
reconstrói com sucesso o segredo se pelo menos um de dois servidores tang
listados estiver disponível.
9.12.1.2. Exemplo 2: Segredo compartilhado em um servidor Tang e um dispositivo TPM
O seguinte comando descriptografa com sucesso um dispositivo encriptado LUKS quando tanto o servidor tang
quanto o dispositivo tpm2
estão disponíveis:
# clevis luks bind -d /dev/sda1 sss 't:2,"pins":"tang":[url":http://tang1.srv"tpm2], "tpm2": {"pcr_ids":"0,1"}}}'
O esquema de configuração com o limiar SSS 't' definido para '2' está agora:
{ "t":2, "pins":{ "tang":[ { "url":"http://tang1.srv" } ], "tpm2":{ "pcr_ids":"0,1" } } }
Recursos adicionais
Para mais informações sobre a configuração NBDE de alta disponibilidade recomendada, consulte as seguintes páginas de manual:
-
tang(8)
, seçãoHigh Availability
-
clevis(1)
, seçãoShamir’s Secret Sharing
-
clevis-encrypt-sss(1)
-