Vérifier l'intégrité des fichiers sur sa Debian

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search
Debian

Software version
Operating System Debian 6
Website Debian
Last Update 29/08/2012
Others

1 Introduction

Pour l'histoire, j'ai un ex collègue qui est tombé dans une boite magique avec tout pleins de servers owned depuis des années et pas de possibilités immédiates de les remplacer. Sachant que des binaires ont été modifiés, il a dû vérifier l'intégralité des systèmes. Pour cela il a fait un petit script, qui permet de vérifier tout ça.

2 Utilisation

Configuration File debian_integrity_check.sh
#!/bin/bash
 
# Get packages list
dpkg -l | awk '($1=="ii") {print $2"="$3}' > /tmp/pkgs
 
cat > /tmp/apt.conf <<__EOF
// Only needed if arch_of(broken_system) != uname -m
// APT::Architecture "amd64";
 
APT::Get::Download-Only "true";
APT::Get::Reinstall "true";
 
Dir "/"
{
  State::status "/var/lib/dpkg/status";
  Cache "/tmp/new-ar";
};
 
// the filesystem is read-only, hence we need no root permission to
// run apt-get to get file locks
Debug::NoLocking "true";
__EOF
 
# Install packages in a temp folder
mkdir -p /tmp/new-ar/archives/partial
APT_CONFIG=/tmp/apt.conf apt-get --reinstall install $(cat /tmp/pkgs)
 
# Diff temp content with root
debsums --all --changed --generate=all --root=/ --deb-path=/tmp/new-ar/archives $(awk -F='=' '{print $1}' /tmp/pkgs)

Il ne reste plus qu'à mettre les droits d'exécution et le lancer :-)