Pre-OS-boot não tem muitos smarts vivos além do BMC (o pequeno subsistema da placa-mãe que implementa IPMI / iDRAC / iLO / etc.), mas pode ser o suficiente, dependendo de quanto você quiser para confiar.
Você poderia escrever uma chave para ele (pela rede usando um canal IPMI 2.0 criptografado, ou se essa não é uma opção esperada em uma LAN ou VLAN de gerenciamento) durante a seqüência de pré-inicialização e, em seguida, ter o servidor Inicializar-se com um SO vanilla / stub que simplesmente inicializa um sistema operacional e não contém segredos ou informações confidenciais dentro dele.
Após a inicialização, o proto-servidor pode se comunicar com seu próprio BMC (root não precisa de auth localmente), ler a chave usando ipmitool ou qualquer outra coisa, e então retornar à mothership com as chaves lidas fornecendo a garantia de que é quem diz que é; então o provisionamento final pode começar. Usando isso (livremente admitido :) hack você também pode usar chaves individuais para cada sistema.
Possíveis locais para armazenamento de chaves no BMC incluem o endereço MAC (~ 48 bits de espaço de chave por porta ethernet deve ser suficiente para qualquer um (sic!)), a cadeia de comunidade SNMP, etc. Tudo pode ser redefinido para razoável valores após o provisionamento inicial e são facilmente modificados.
A implementação é simples, com um script para gerar chaves em uma base por servidor, um comando ipmitool para definir as chaves apropriadas nos destinos, um script na pequena imagem básica do sistema operacional. que lê as chaves locais e as usa para se autenticar na nave mãe e, em seguida, no provisionamento final. Mais complexo do que o provisionamento usual, sem dúvida, mas às vezes você tem que pagar pela paz de espírito.