Auditar arquivos em uma caixa do Debian

5

É possível listar todos os arquivos no sistema que não pertencem a um pacote? ou se foram modificados?

Pode ser necessário usar algo como: apt-get, apt-files, dpkg-query, etc

Para o contexto, imagine herdar um servidor antigo que não pode ser formatado, e você quer verificar se todos os arquivos estão como deveriam estar ... Eu sei que este não será o caso quando atualizar entre versões do Debian, ou depois de remover um pacote sem "--purge", já que parece deixar um lote de arquivos (tipicamente config) para trás.

Da mesma forma, se esse servidor fosse substituído por um novo servidor, você quer ter certeza de que todas as diferenças de configuração (comparadas com a instalação base) foram transferidas (ou ignoradas se não forem mais relevantes - por exemplo, um rouge "Port" linha sendo adicionada ao sshd_config).

Também ajudaria a identificar se alguma coisa foi instalada sem o uso do apt-get.

    
por Craig Francis 18.01.2014 / 22:25

4 respostas

5

Todos os arquivos instalados por um pacote podem ser vistos pela lista cat /var/lib/dpkg/info/*.list . A maioria dos pacotes inclui o md5sums para o conteúdo do arquivo, que pode ser visto em cat /var/lib/dpkg/info/*.md5sums . Alguns pacotes não incluem essas somas.

Se você instalar o pacote debsums, você pode executar o programa como debsums -a , isso irá verificar o md5sum de todos os arquivos e configurações instalados.

Por favor, note que alguns pacotes não instalam os arquivos de configuração ou conteúdo. Em vez disso, esses arquivos são criados por esses pacotes no momento da instalação. Esses arquivos não estarão na lista de arquivos associada ao pacote ou à lista md5sums. No que diz respeito ao sistema de pacotes, esses são arquivos de dados que não são de sua propriedade.

Likewise if that server was to be replaced with a new server, you want to make sure all of the configuration differences (compared to the base install) have been transferred (or ignored if no longer relevant - e.g. a rouge "Port" line being added to sshd_config).

Eu acho que você deve instalar o pacote etckeeper logo depois de instalar o sistema. Este pacote basicamente coloca /etc em um sistema de controle de versão de sua escolha (eu prefiro git). Com isso, você pode ver exatamente o que mudou quando. É fácil clonar esse repositório em um novo sistema e depois fazer comparações com o novo sistema. Assim, você pode ver exatamente o que é diferente, um sistema de origem e destino em um único comando.

    
por 19.01.2014 / 00:16
2

cruft / etckeeper / debsums

Package: cruft
Description-en: program that finds any cruft built up on your system
 cruft is a program to look over your system for anything that shouldn't
 be there, but is; or for anything that should be there, but isn't..
 It bases most of its results on dpkg's database, as well as a list of
 'extra files' that can appear during the lifetime of various packages.
 cruft is still in pre-release; your assistance in improving its accuracy
 and performance is appreciated.

Package: debsums
Description-en: tool for verification of installed package files against MD5 checksums
 debsums can verify the integrity of installed package files against
 MD5 checksums installed by the package, or generated from a .deb
 archive.

Package: etckeeper
Description-en: store /etc in git, mercurial, bzr or darcs
 The etckeeper program is a tool to let /etc be stored in a git, mercurial,
 bzr or darcs repository. It hooks into APT to automatically commit changes
 made to /etc during package upgrades. It tracks file metadata that version
 control systems do not normally support, but that is important for /etc, such
 as the permissions of /etc/shadow. It's quite modular and configurable, while
 also being simple to use if you understand the basics of working with version
 control.
    
por 20.01.2014 / 04:10
1

Ambos os tigres e O rkhunter irá reportar arquivos que não pertencem a nenhum pacote instalado, entre outras coisas.

Você também pode querer dar uma olhada em debsums que verifica arquivos para modificações desde sua instalação através do gerenciador de pacotes.

Esses programas têm páginas de manual muito boas, portanto, leia-as antes de usá-las e você estará bem.

    
por 19.01.2014 / 03:17
0

Para ver se algum arquivo não-de configuração dos pacotes debian foi modificado desde o pacote, você pode usar o debsums.

Ver se pacotes de terceiros foram instalados é mais complicado, você poderia comparar números de verificações e somas de verificação com informações de packages.debian.org, mas não tenho certeza de como seria difícil automatizar isso.

A verificação de modificações no arquivo de configuração é difícil porque os arquivos de configuração podem ser gerenciados de várias maneiras diferentes. Se eles são "conffiles" então o dpkg saberá se eles foram modificados mas muitos arquivos de configuração não são.

Se o servidor for mantido atualizado, então, comparar com uma nova instalação da mesma versão do debian com os mesmos pacotes instalados pode ser uma boa opção. Obviamente, isso não funciona tão bem se você não quiser atualizar o servidor (eu acho que você pode fazer uma imagem do servidor e atualizar isso, mas isso abre uma lata de worms).

    
por 19.10.2015 / 03:09