www.lpi.org

SquidVir

Möchten Sie über neue Versionen und wichtige Änderungen von SquidVir informiert werden? Dann abonnieren Sie die Mailing Liste.

Kurzbeschreibung

SquidVir ist ein Plug-In für den Open-Source Proxy-Server -Squid. Das Programm benutzt die Redirector-Schnittstelle um die aufgerufenen URLs nach bestimmten Dateitypen zu untersuchen. Wird ein gefährlicher Dateityp erkannt, prüft der angegebene VirenScanner diese und gibt nur saubere Dateien an den Web-Browser weiter.

Das Plug-In benutzt einen beliebigen VirenScanner (ich benutze F-Prot, da dieser für privaten Einsatz kostenlos ist) um heruntergeladene Dateien zu überprüfen.

Enthält die Datei einen Virus der vom VirenScanner erkannt wird, wird sie sofort gelöscht. Nur wenn die Datei keinen Virus enthält, kann Sie heruntergeladen werden.

Vorraussetzungen

Um SquidVir verwenden zu können, wird folgende Software benötigt.

  • Squid, getestet mit 2.4 -Squid
  • Perl, getestet mit 5.6 -Perl
  • die Perl Module -Config::General, -Locale::gettext und -CGI, alle im -CPAN erhältlich.
  • Apache, getestet mit 1.3 -Apache, oder ein anderer WebServer der eine CGI-Schnittstelle bietet und Perl-Skripte aufrufen kann
  • einen beliebigen VirenScanner -F-Prot, -NAI, uva

Wenn der VirenScanner eine infizierte Datei geprüft hat, muss er einen Fehlercode zurückliefern. Alle VirenScanner für Linux/UNIX sollten in der Lage sein, dies zu erfüllen.

Funktionalität

Um zu verstehen warum manche Seiten nicht vom VirenScanner geprüft werden und andere wiederum zu Fehlern führen können, ist es notwendig zu wissen, wie SquidVir funktioniert.

Der ProxyServer Squid verfügt über eine Redirector Schnittstelle (Beschreibung in den -FAQ von Squid). Jede URL die ein Client anfordert wird über die Redirector-Schnittstelle an ein gewünschtes Programm übergeben. Dieses Programm liefert wiederum eine URL zurück, die Squid dann für die weiteren Schritte verwendet.

Das Redirector-Programm darf die URL verändern. SquidVir prüft, ob die angegebene URL auf einen der in der Konfigurationsdatei angegebenen Dateitypen passt. Ist dies der Fall, liefert das Programm eine URL zurück, die ein CGI-Skript aufruft. Wurde kein angegebener Dateityp erkannt, liefert das Programm die ursprüngliche URL ohne Verändungen zurück.

Wurde ein verdächtiger Dateityp gefunden, wird das CGI-Skript aufgerufen. Dieses erhält als Parameter die ursprüngliche URL. Das CGI-Skript lädt stellverstretend für den Client die Datei herunter, prüft sie mit einem VirenScanner und gibt sie nur dann weiter, wenn der VirenScanner die Datei als virenfrei bezeichnet hat.

Vorteile

Da der VirenScanner in den ProxyServer eingebunden wird, ist ein Anwender nicht in der Lage, den VirenScanner zu umgehen. Der VirenScanner läuft auf einem LINUX (oder UNIX) Server und läuft daher nicht Gefahr selbst Opfer eines Viruses zu werden (zumindest Stand heute ;-) ).

Da der ProxyServer und der VirenScanner nicht auf der selben Maschine laufen müssen, sinkt die Perfomance des ProxyServers nur unwesentlich.

Nachteile

Das Programm liefert keinen 100%igen Schutz. Da ein externer VirenScanner eingebunden wird, ist das Ergebnis natürlich nur so gut wie der verwendete VirenScanner.

Über die Redirector-Schnittstelle werden nur Anforderungen des Browsers übermittelt. Viele Download-Seiten schicken aber die gewünschte Datei mit Hilfe von dynamisch generierten Webseiten. Diese werden oft nicht korrekt erkannt und das Herunterladen ist ohne VirenScan möglich.

Probleme gibt es auch mit Programmen die aus dem Internet Dateien herunterladen. Zum Beispiel VirenScanner die sich selbst aktualisieren und dazu ZIP-Dateien herunterladen. Wurde der VirenScanner zur Verwendung des Proxys konfiguriert, erhält er nicht die gewünschte ZIP-Datei sondern die entsprechende WebSeite von SquidVir. Tragen Sie dann die entsprechenden Update-Server in die Whitelist der Konfigurationsdatei ein. Prüfen Sie das Logfile von SquidVir falls Sie die entsprechenden Server Namen nicht kennen sollten.


© 2006 Christian Bolz, letzte Änderung 19.10.04 durch chris, Feedback