Im aktuellen Linux Magazin wurde das Tool CVE Checker 3.1 vorgestellt, welches ein Linux Systeme auf alle bekannten Schwachstellen unter Linux seid 2003 hin prüfen kann.
Compilieren
Leider gibt es das Tool jedoch nicht als Debian Paket. Um es dennoch auf meinem Server testen zu können, habe ich daher zuerst auf meiner Compiler Maschine (Debien Squeeze) das Paket herunter geladen und packetiert.
apt-get install dpkg-dev fakeroot lintian checkinstall pkg-config libconfig-dev ssh mysql-server subversion subversion-tools autoconf2.13 mysql-server libmysqlclient-dev sqlite3 libsqlite3-devmkdir /root/installcd /root/installsvn co https://cvechecker.svn.sourceforge.net/svnroot/cvechecker cvecheckercd cvecheckerautoreconf --force --install./configure --enable-sqlite3 --enable-mysqlcheckinstall -D make install
Installieren
Das erstelle Paket habe ich anschließend auf meinem Server (Debian Lenny) installiert:
mkdir -p /usr/local/var/cvechecker/local/mkdir -p /usr/local/var/cvechecker/cache/cd /usr/libwget https://blog.cscholz.io/wp-content/uploads/sites/2/2011/06/cvechecker/amd64/libconfig.so.8wget https://blog.cscholz.io/wp-content/uploads/sites/2/2011/06/cvechecker/amd64/libmysqlclient.so.16cd /tmpwget https://blog.cscholz.io/wp-content/uploads/sites/2/2011/06/cvechecker/amd64/cvechecker_3.1-1_amd64.debdpkg -i cvechecker_3.1-1_amd64.deb
Nun muss das cvechecker als erstes initialisiert werden
cvechecker -i
Anschließend lann die Liste der Exploits herunter geladen werden
pullcves pull
Was nun noch benötigt wird, ist eine Liste aller Dateien auf dem Server, die auf Exploits hin geprüft werden sollen. Es sollten keine Sonderzeichen in den Dateinamen vorkommen, da dies zu Probleme führt – dies sieht man aber dann beim einlesen der Datei 😉
find / -type f -perm -o+x > scanlist.txtecho "/proc/version" >> scanlist.txt
nun wird die Liste mit den Dateien eingelesen
cvechecker -b scanlist.txt
und das System geprüft
cvechecker -r -C
Checksumme der Dateien: https://blog.cscholz.io/wp-content/uploads/sites/2/2011/06/cvechecker/amd64/checksum.md5
Hinweis: amd64 kann in den Downloadpfaden durch i386 ersetzt werden um die 86er Version herunter zu laden.
Automatisieren
#!/bin/bash tempfile=`mktemp` find / -type f -perm -o+x > $tempfile echo "/proc/version" >> $tempfile cvechecker -b $tempfile > /dev/null 2>&1 cvechecker -r > $tempfile > /dev/null 2>&1 if [[ -s $tempfile ]] ; then mail admin@domain.tld -s "CVE Checker" < $tempfile fi ; rm $tempfile
Ein Kommentar
Pingback: Dovecot: Serverfehler: SELECT: Internal error occurred. Refer to server log for more information. | .: blog.cscholz.io :.