9.4. Chaves de servidor Tang rotativas e atualização de ligações em clientes
Use as seguintes etapas para girar suas chaves de servidor Tang e atualizar as ligações existentes nos clientes. O intervalo preciso no qual você deve rotacioná-las depende de sua aplicação, tamanho das chaves e política institucional.
Pré-requisitos
- Um servidor Tang está funcionando.
-
Os pacotes
clevis
eclevis-luks
estão instalados em seus clientes. -
Note que
clevis luks list
,clevis luks report
, eclevis luks regen
foram introduzidos na RHEL 8.2.
Procedimento
Para girar as chaves, gerar novas chaves usando o comando
/usr/libexec/tangd-keygen
no diretório/var/db/tang
do banco de dados de chaves no servidor Tang:# ls /var/db/tang UV6dqXSwe1bRKG3KbJmdiR020hY.jwk y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk # /usr/libexec/tangd-keygen /var/db/tang # ls /var/db/tang UV6dqXSwe1bRKG3KbJmdiR020hY.jwk y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk 3ZWS6-cDrCG61UPJS2BMmPU4I54.jwk zyLuX6hijUy_PSeUEFDi7hi38.jwk
Verifique se o seu servidor Tang anuncia a chave de assinatura do novo par de chaves, por exemplo:
# tang-show-keys 7500 3ZWS6-cDrCG61UPJS2BMmPU4I54
Renomeie as antigas chaves para ter um líder
.
para escondê-las da publicidade. Observe que os nomes dos arquivos no exemplo a seguir diferem dos nomes de arquivos únicos no diretório de banco de dados de chaves de seu servidor Tang:# cd /var/db/tang # ls -l -rw-r--r--. 1 root tang 354 Sep 23 16:08 3ZWS6-cDrCG61UPJS2BMmPU4I54.jwk -rw-r--r--. 1 root tang 349 Sep 23 16:08 I-zyLuX6hijUy_PSeUEFDi7hi38.jwk -rw-r--r--. 1 root root 349 Feb 7 14:55 UV6dqXSwe1bRKG3KbJmdiR020hY.jwk -rw-r--r--. 1 root root 354 Feb 7 14:55 y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk # mv UV6dqXSwe1bRKG3KbJmdiR020hY.jwk .UV6dqXSwe1bRKG3KbJmdiR020hY.jwk # mv y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk .y9hxLTQSiSB5jSEGWnjhY8fDTJU.jwk
Tang pega imediatamente todas as mudanças. Não é necessário reiniciar. Neste ponto, os novos clientes que ligam as novas chaves e os antigos clientes podem continuar a utilizar as chaves antigas.
Em seus clientes NBDE, use o comando
clevis luks report
para verificar se as chaves anunciadas pelo servidor Tang permanecem as mesmas. Você pode identificar os slots com a vinculação relevante usando o comandoclevis luks list
, por exemplo:# clevis luks list -d /dev/sda2 1: tang '{"url":"http://tang.srv"}' # clevis luks report -d /dev/sda2 -s 1 ... Report detected that some keys were rotated. Do you want to regenerate luks metadata with "clevis luks regen -d /dev/sda2 -s 1"? [ynYN]
Para regenerar os metadados LUKS para as novas teclas, pressione
y
para o prompt do comando anterior, ou use o comandoclevis luks regen
:# clevis luks regen -d /dev/sda2 -s 1
Quando você tem certeza de que todos os clientes antigos usam as novas chaves, você pode remover as chaves antigas do servidor Tang, por exemplo:
# cd /var/db/tang # rm .*.jwk
A remoção das chaves antigas enquanto os clientes ainda estão usando-as pode resultar em perda de dados. Se você remover acidentalmente tais chaves, use o comando clevis luks regen
nos clientes, e forneça sua senha LUKS manualmente.
Recursos adicionais
-
tang-show-keys(1)
,clevis-luks-list(1)
,clevis-luks-report(1)
, eclevis-luks-regen(1)
páginas man