Aus Raspberry Pi Geek 05/2015

Virenscans zentral steuern und verwalten (Seite 3)

Alle Skripte wurden mit einer Trace-Funktion ausgestattet, die sämtliche Vorgänge genauestens protokolliert (Abbildung 1). Das hilft bei der Fehlersuche, speziell nach Anpassungen in den Skripten. Die Traces finden sich im Unterverzeichnis trace/. Wünschen Sie keinen Trace-Output, so ändern Sie in der Datei ./etc/trace.conf den Parameter traceon in traceoff.

Abbildung 1: Der Trace-Auszug des Skripts »start_clamav_scripts.sh« zeigt detailliert sämtliche Schritte sowie die Auswertung.

Abbildung 1: Der Trace-Auszug des Skripts »start_clamav_scripts.sh« zeigt detailliert sämtliche Schritte sowie die Auswertung.

Aufräumarbeiten im Software-Verzeichnis übernimmt die Funktion ./funct/cleanup, Konfigurationsparameter definiert ./etc/cleanup.conf. Entsprechend der Tagesangabe werden Logfiles und Traces gelöscht, die älter als die definierte Tageszahl sind. Die in ./etc/cleanup.conf festgelegten Parameter beziehen sich auf Dateien in den Unterverzeichnissen log/ und trace/. Die Datei ./etc/main.inc enthält die meisten der in den Skripten benötigten Variablen.

Das Skript clamscan.sh schreibt die Virenreports (Abbildung 2) in das Verzeichnis clamavreport/ auf dem jeweiligen Client. Diesen Report stellt das PHP-Skript virusstatmail.php dem darin eingetragenen Mail-Account zu. Sie sollten sprechende Namen für die Reports definieren, sodass Sie die Meldungen der Clients voneinander unterscheiden können. Das erledigen Sie in den Konfigurationsdateien (etwa der clamscan.conf), Beispiele dazu finden sich in den Dateien auf der Heft-DVD.

Abbildung 2: Einen solchen Virenreport verschickt das PHP-Skript an den eingetragenen Admin.

Abbildung 2: Einen solchen Virenreport verschickt das PHP-Skript an den eingetragenen Admin.

Die Virenscan-Skripte enthalten darüber hinaus eine Popup-Funktion (Abbildung 3). Für die entsprechenden Dialoge kommt Zenity zum Einsatz, das die meisten Distributionen von Haus aus mitbringen. In den Konfigurationsdateien ermöglichen die Optionen popup und nopopup die Steuerung der Dialogfenster auf den Clients.

Die Option popup informiert den Benutzer des Clients über Start, Stopp und das Auffinden von Viren; nopopup erzeugt lediglich bei gefundenem Virus einen Dialog. In diesem Zusammenhang ist die Option Pi wichtig: Da am RasPi meist kein Bildschirm angeschlossen ist, machen Dialogfenster hier wenig Sinn. Deswegen unterdrücken die Skripte diese bei der Angabe von Pi.

Abbildung 3: Dank einer eingebauten Popup-Funktion informiert das Skript auch den Client-Nutzer über eventuelle Virenfunde.

Abbildung 3: Dank einer eingebauten Popup-Funktion informiert das Skript auch den Client-Nutzer über eventuelle Virenfunde.

Skriptstart

Nach Abschluss der Vorbereitungen starten Sie den ersten Virenscan vom RasPi auf der Kommandozeile mit dem Aufruf aus Listing 8. Für einen Tests kopieren Sie die bereits erwähnte Datei eicar.com in das zu überprüfende Verzeichnis eines Clients. Nach dem ersten Skriptstart lohnt sich ein Blick in die Protokolldateien im Verzeichnis log/ sowie in die Trace-Dateien in trace/. Arbeitet das Konstrukt korrekt, erscheint auf dem Client das Zenity-Dialogfenster mit einem entsprechenden Hinweis.

Listing 8

 

$ ./start_clamav_scripts.sh -s clamscan.sh -f clamscan.conf

Abschließend generieren Sie auf dem RasPi entsprechend Ihren Anforderungen eine Crontab für den Start der Skripte unter dem Nutzer clamavsc. Je nach Distribution müssen Sie unter Umständen den Benutzer in der Konfigurationsdatei /etc/cron.allow eintragen.

An dieser Stelle zeigt sich der Vorteil verschiedener Konfigurationsdateien. Sicherlich möchten Sie nicht alle 30 Minuten das komplette Home-Verzeichnis scannen lassen, das der eingehenden E-Mails dagegen schon. Listing 9 zeigt die entsprechende Crontab-Konfiguration. 

Listing 9

 

### Home-Verzeichnisse scannen
00 08 * * 1-5 /opt/clamav/start_clamav_scripts.sh -s clamscan.sh -f clamscan.conf
### E-Mail-Verzeichnisse scannen
00, 30 * * 0-6 /opt/clamav/start_clamav_scripts.sh -s clamscan.sh -f clammailscan.conf

Der Autor

Ingo Walter arbeitete viele Jahre als Solaris- und Linux-Systemadministrator bei Finanzinstituten und ist heute im gleichen Arbeitsgebiet für einen internationalen IT-Dienstleister tätig.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben