Falarei sobre segredos em vez de credenciais, pois pode haver outras informações confidenciais que você gostaria de proteger. Não importa que a sua pergunta seja formulada especificamente para sistemas de CI / CD, o problema é o mesmo, quer estejamos falando sobre como usar certificados X.509 para autenticação, salvar credenciais de banco de dados ou proteger um token de acesso para um agente de compilação.
Não há uma maneira canônica de lidar com isso, pois as necessidades de aplicativos e organizações diferem no que constitui segredos e como lidar com eles. Alguns aplicativos não oferecem outra maneira de armazenar segredos do que em um arquivo.
Alguns aplicativos criptografam segredos no disco, mas como eles costumam ter uma simetria mais ou menos decorativa.
Então, o que você pode fazer?
-
Sua primeira linha de defesa é o DAC (controle de acesso discricionário) e MAC (controle de acesso obrigatório) do seu sistema operacional - se estivermos falando Linux, permissões POSIX são DAC e LSMs como o App Armor, o SELinux ou o GRSecurity são MAC.
-
Auditando o sistema operacional para os padrões adequados, como CIS ou DISA STIG .
-
Usando um HSM ou OpenPGP smartcard para armazenar a chave PGP que você usa para criptografar os segredos nas molas do disco. Dispositivos como estes garantem que a chave nunca sai do hardware.
Tenha em mente que nenhuma medida individual mantém as chaves em um HSM seguro - o acesso físico ainda pode comprometê-las. Os dispositivos de armazenamento de chaves de hardware devem ser combinados com segurança física e procedimentos operacionais adequados para impor sua segurança.
Verifique as principais políticas de CA raiz do navegador ( Chrome , Firefox , Edge/IE ). Eles reforçam o uso de dispositivos de criptografia de hardware e várias restrições e regras sobre como operá-los e quais auditorias você precisa passar.
- Usando um software como o Vault para obter o segredo sob demanda, mas que precisa de suporte de aplicativo. Caso contrário, você está apenas armazenando-o no disco novamente. O que o Google Apps Vault pode adicionar à mistura é um TTL obrigatório para segredos e a capacidade de rotacioná-los por conta própria.