Atualize o apt gpg key over puppet

2

A chave PGP do repositório fantoche apt expirou há alguns dias

/etc/apt/trusted.gpg.d//puppetlabs-keyring.gpg
----------------------------------------------
pub   4096R/4BD6EC30 2010-07-10 [expired: 2016-07-08]
uid                  Puppet Labs Release Key (Puppet Labs Release Key)

Claro, pode ser atualizado manualmente

apt-key adv --recv-keys --keyserver keys.gnupg.net 4BD6EC30

No entanto, ele pode ser atualizado automaticamente por meio de uma execução do Puppet (por exemplo, através do módulo Puppet apt)?

    
por olliiiver 12.07.2016 / 12:19

3 respostas

2

Não é uma solução de beleza, mas o seguinte funciona para mim:

exec { 'update_apt_key':
        command => '/usr/bin/apt-key adv --recv-keys --keyserver keys.gnupg.net 47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30',
        onlyif  => "/usr/bin/apt-key adv --list-public-keys --with-fingerprint --with-colons | grep -B 1 47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30 | head -n 1 | grep -e '^pub:e:'",
}
    
por 12.07.2016 / 14:57
3

Isso é o que começamos a usar (obrigado garthk ):

  $key = '4BD6EC30'
  exec { 'apt-key puppetlabs':
    path    => '/bin:/usr/bin',
    unless  => "apt-key list | grep '${key}' | grep -v expired",
    command => "apt-key adv --keyserver keyserver.ubuntu.com \
      --recv-keys ${key}",
  }

Mais discussões em um ticket aberto para o módulo apt

    
por 21.07.2016 / 16:48
1

Atualizando uma chave GPG:

Sim, isso é possível usando o tipo de recurso exec , que "executa comandos externos ". Para evitar que o exec seja executado a cada vez, use a menos que e verifique / analise a saída de apt-key list , por exemplo, via grep .

Adicionando uma chave GPG:

O módulo apt do puppetlabs oferece apt :: key , que adiciona chaves GPG. Para usá-lo, coloque algo em seu código ao longo das linhas de (a partir dos documentos):

apt::key { 'puppetlabs':
  id      => '47B320EB4C7C375AA9DAE1A01054B7A24BD6EC30',
  server  => 'pgp.mit.edu',
}

Nota de segurança:

Using short key IDs presents a serious security issue, potentially leaving you open to collision attacks. We recommend you always use full fingerprints to identify your GPG keys. This module allows short keys, but issues a security warning if you use them.

Mais algumas informações sobre por que isso deve ser importante para você:

Short OpenPGP Key IDs, for example 0×2861A790, are 32 bits long. They have been shown to be easily spoofed by another key with the same Key ID. Long OpenPGP Key IDs (for example 0xA1E6148633874A3D) are 64 bits long. They are trivially collidable, which is also a potentially serious problem.

If you want to deal with a cryptographically-strong identifier for a key, you should use the full fingerprint. You should never rely on the short, or even long, Key ID. [...]

Referência e mais informações sobre isso

    
por 12.07.2016 / 12:32

Tags