Como garantir integridade e segurança ao impor o pacote RPM assinado não modificado?

7

Existe uma maneira de verificar arquivos relacionados ao pacote específico em relação ao conteúdo original do RPM:

# Verify 'vsftpd' package.
rpm -V vsftpd

Como completar a cadeia e verificar se o comando rpm não foi alterado?

Se eu substituir o rpm por um script que sempre seja bem-sucedido, esse tipo de verificação nunca falhará.

    
por uvsmtid 18.04.2016 / 05:29

2 respostas

6

Isso acaba sendo um problema bastante difícil, se você se limitar ao único sistema que está tentando validar.

Felizmente, vivemos no mundo real, onde há mais de um computador!

Algumas possibilidades para verificar o binário incluem:

  • Usando outro sistema de referência que tenha a mesma versão de pacote do RPM instalada, pegue um hash do binário e compare-o em cada sistema.

    Para garantia adicional, reinstale o pacote assinado dos repositórios no sistema de referência antes de fazer a comparação.

    Exemplo:

    # yum reinstall rpm
    ...
    Complete!
    
    # rpm -q rpm
    rpm-4.11.3-17.el7.x86_64
    
    # sha256sum /usr/bin/rpm
    743810f3c3a9e5eea8ba9bc87351db6b4e8c6393018b9bb56beb873a64ae5431  /usr/bin/rpm
    
  • Use um sistema de detecção de invasões baseado em host, como o OSSEC ou o Tripwire, para detectar alterações inesperadas em seu sistema de arquivos. Isso não garante que seus binários estejam inalterados, é claro, mas se feito corretamente, pode avisar que um ataque está em andamento.

Observe que os dois falharão se o pré-teste estiver em uso, o que é uma das razões pelas quais ele geralmente não é mais habilitado por padrão nos sistemas recentes.

    
por 18.04.2016 / 05:40
2
# rpm -K rpm-2.3-1.i386.rpm
rpm-2.3-1.i386.rpm: size pgp md5 OK

De link

    
por 18.04.2016 / 05:44