Debsums recovery

Da Fabwiki.

Cosa serve

debsums è un md5sum, specifico per debian, che permette di conoscere gli md5sum di tutti i pacchetti .deb installati sul proprio sistema. Vi consiglio di installarlo immediatamente dopo aver installato il sistema operativo. Una volta installato, vi permette di verificare l' integrità del pacchetto.

Esempio pratico

Temo che qualche mal intenzionato sia entrato nel mio sistema e abbia alterato /bin/bash Non mi resta che eseguire:

 debsums bash 

Il risultato atteso, dovrebbe essere:

/bin/bash                                                                     OK
/usr/share/doc/bash/README.abs-guide                                          OK
/usr/share/doc/bash/inputrc.arrows                                            OK
/usr/share/doc/bash/copyright                                                 OK
/usr/share/doc/bash/FAQ                                                       OK
/usr/share/doc/bash/changelog.Debian.gz                                       OK
/usr/share/doc/bash/CHANGES.gz                                                OK
/usr/share/doc/bash/NEWS.gz                                                   OK
/usr/share/doc/bash/COMPAT.gz                                                 OK
/usr/share/doc/bash/INTRO.gz                                                  OK
/usr/share/doc/bash/POSIX.gz                                                  OK
/usr/share/doc/bash/README.commands.gz                                        OK
/usr/share/doc/bash/README.Debian.gz                                          OK
/usr/share/man/man1/bashbug.1.gz                                              OK
/usr/share/man/man1/bash.1.gz                                                 OK
/usr/share/man/man1/clear_console.1.gz                                        OK
/usr/share/man/man1/rbash.1.gz                                                OK
/usr/share/man/man7/bash-builtins.7.gz                                        OK
/usr/share/locale/en@quot/LC_MESSAGES/bash.mo                                 OK
/usr/share/locale/en@boldquot/LC_MESSAGES/bash.mo                             OK
/usr/share/locale/ru/LC_MESSAGES/bash.mo                                      OK
/usr/share/locale/sv/LC_MESSAGES/bash.mo                                      OK
/usr/share/menu/bash                                                          OK
/usr/bin/bashbug                                                              OK
/usr/bin/clear_console                                                        OK

Perfetto! Il pacchetto bash e relativi files sono integri. Inutile dirvi che in qualsiasi situazione voi siate e abbiate il dubbio che il pacchetto sia corrotto o sia stato alterato dall' ospite indesiderato, potete verificarlo immediatamente nello stesso modo descritto poc' anzi.

debsums

Installatelo con
 apt-get install debsums

A questo punto spostatevi nella directory /var/cache/apt/archives e digitate:

debsums -l
arping
binutils
db4.2-util
db4.3-util
db4.4-util
debian-archive-keyring
debian-keyring
dosfstools
ed
g++
gawk
gnupg
gpgv
initscripts
installation-report
klogd
libberkeleydb-perl
libbz2-1.0
libclass-dbi-mysql-perl
libdb4.2
libdb4.3
libdb4.4
libdb4.5
libdb4.5++
libgdbm3
liblockfile1
libncurses5
libncurses5-dev
libncursesw5
libnet-whois-ripe-perl
libvolume-id0
lynx
mawk
module-init-tools
ncurses-base
ncurses-bin
netbase
php5
rsync
ssh
sysklogd
sysv-rc
sysvinit
sysvinit-utils
udev
update-inetd
whois

Questo significa che tutti i pacchetti sopra citati non hanno un md5sum valido (o meglio, non l' hanno proprio) Come fare in questi casi? Semplicemente cosi':

apt-get --download-only --reinstall install `debsums -l`

In questo modo, vengono scaricati tutti i pacchetti che non hanno md5sum (quelli elencati poc'anzi)

Adesso bisogna dire che vogliamo l' md5sum di tutti i pacchetti precedentemente scaricati con

debsums --generate=keep,nocheck *.deb

e dovremmo vedere

Generating missing md5sums for arping_2.05-2_i386.deb...done.
Generating missing md5sums for binutils_2.18.1~cvs20080103-4_i386.deb...done.
Generating missing md5sums for db4.2-util_4.2.52+dfsg-4_i386.deb...done.
...

E' fatta! Una volta terminato, ripetendo debsums -l non dovremmo piu' ottenere alcun pacchetto.