ClamWin: Viren-Definitionen-Updates von lokalem Server verteilen

Ausgehend vom Ausblick aus meinem Beitrag zu ClamAV bzw. ClamWin, möchte ich mir für diesen Beitrag die Möglichkeit, die Verteilung der aktuellen Viren-Datenbanken mit Hilfe eines zentralen Update-Servers zu realisieren, ansehen. Im Netz findet man schon einige Beiträge zu diesem Thema, da sich natürlich schon mehrere Leute mal Gedanken zu diesem Thema gemacht haben. Theoretisch könnte man die Datenbank-Dateien wohl einfach von einem Netzlaufwerk aus einbinden. Das ist mir aber zu blöd und führt höchst wahrscheinlich zu Problemen.

 

Deshalb nutze ich einfach die schon vorhanden Update-Technologie, bei welcher einfach die neuen Datenbank-Dateien von einem Webserver gezogen werden. Diese kann man, wie z. B. die main.cvd, auch einfach über den Browser runterladen, wenn man den Link entsprechend angibt.

Diesen Webserver gilt es nun selbst bereitzustellen. Als Grundlage dafür habe ich einen Ubuntu Server in der LTS-Version aufgesetzt. Zum Testen habe ich diesen ohne irgendwelche Besonderheiten installiert.

 

 

Server-Einrichtung:

Um die Updates verteilen zu können, habe ich dann erstmal einen Webserver aus der Kiste gemacht und dafür Apache installiert :

Damit die Viren-Datenbanken auch automatisch heruntergeladen werden, habe ich dort auch ClamAV und den zugehörigen Daemon installiert:

Ich dachte mir dann, ich mache es mir einfach und habe in der freshclam.conf unter /etc/clamav den Speicherort der Datenbank-Dateien auf den Ordner des Apache geändert:

Zum Testen, ob die Datenbanken dort hin runtergeladen werden, habe ich dann den freshclam-Dienst gestoppt und manuell ein Update angestoßen:

 

Rechteprobleme:

Wie zu erwarten war, meckert freshclam erst einmal wegen den Ordner-Rechten herum, weil es in diesen Ordner nicht schreiben kann. Also habe ich die Rechte wie folgt angepasst:

Dann nochmal versucht und … natürlich funktioniert es nicht. Stattdessen meldet freshclam immer noch den gleichen Fehler bzgl. der Berechtigungen:

Ich habe mich dann noch mehrere Stunden mit diesem Problem aufgehalten und auch einen komplett neuen Ordner zum Test erstellt und diesem die richtigen Rechte gegeben, aber nichts hilft. Freshclam lädt die Dateien, aus welchem Grund auch immer, nur in den bei der Installation voreingestellten Ordner, oder in einen Unterordner in diesem, herunter. Selbst mit einem chmod auf 777 und nach einem Neuaufsetzen des Servers gab es keine Besserung. Auch der umgekeherte Weg, das Rootverzeichnis des Apaches einfach auf den Ordner /var/lib/clamav umzustellen wollte nicht funktionieren.

Anscheinend ist so etwas ein verbreitetes Problem, wie man beim Recherchieren herausfindet:
https://askubuntu.com/questions/191290/freshclam-error
https://bbs.archlinux.org/viewtopic.php?id=181070
https://community.spiceworks.com/topic/113953-clamav-can-t-create-temporary-directory-usr-local-share-clamav-clamav-d5-etc

Was nicht sein soll ist nicht und dieses Rätsel werde ich wohl nicht mehr lösen, weshalb ich dann den html-Ordner unter /var/wwe einfach gelöscht habe und den freshclam-Download-Ordner auf /var/lib/clamav belassen habe und nun mit einem symbolischen Link das html-Verzeichnis auf den Ordner /var/lib/clamav umgeleitet habe:

Und siehe da, es funktioniert:

Zum Schluss noch den Freshclam-Dienst wieder starten, damit die Datenbanken auf dem Server wieder automatisch aktualisiert werden:

 

Datenbank-Kompression:

Noch ein weiteres Problem fiel mir dann auf, als der Server ein Update der daily.cvd durchgeführt hat. Diese wurde umbenannt in daily.cld, was wohl der nicht durchgeführten Kompression geschuldet ist. Diese findet standardmäßig nicht statt, wenn neue Einträge in diese Datenbank integriert werden. Dadurch kann der Client aber die Datenbank gar nicht mehr aktualisieren, da er entweder nach einer Diff-Datei, die nur die neuen Einträge enthält, oder nach der komprimierten cvd-Variante sucht.

Also habe ich die freshclam.conf noch wie folgt abgeändert, damit die Datenbank immer komprimiert wird:

Mal sehen, ob das ganze auf Langzeit funktioniert 😉

 

Edit:

Leider funktioniert das Downloaden der daily.cvd nicht mehr, denn aus irgendeinem Grund komprimiert freshclam die Datenbank nicht, trotz der gemachten Angabe in der Config-Datei. Schade, man findet zwar einige Forenbeiträge etc. zu solchen Problemen, aber keine brauchbaren Lösungen.

 

Inspiriert durch folgende Seiten:
https://www.clamav.net/documents/private-local-mirrors
http://forum.clamwin.com/viewtopic.php?t=3071

Schreibe einen Kommentar