Home > it > Squid + ClamAV via ICAP unter Debian

Squid + ClamAV via ICAP unter Debian

Der folgende Beitrag beschreibt die Installation eines Web Proxy inklusive Virenscan. Benutzt wurde hierzu wiederum nur freie Software. Als Proxy Squid, als Virenscanner ClamAV mit freshclam als Signaturupdater und c_icap zur Verbindung der beiden Prozesse. Das ganze lässt sich zwar auch über einen ClamAV Redirector lösen, ist jedoch um einiges langsamer.

Man findet im Internet ziemlich wenig über die Anbindung von Squid an ClamAV. Die Informationen verweisen auf Komplettpakete wie z.B. Dansguardian. Über c_icap findet man wiederum fast ausschließlich russische Foren, welche etwaige Probleme behandeln.

Ich verwende ein Debian etch 4.0 System, welches mittels der netinst CD hochgezogen wurde. Es sind ausschließlich die Pakete des “Standard-Systems” installiert. Weder Desktop Umgebung noch etwaige Server Applikationen sind vorhanden. Die Umgebung läuft in einer VMware, was aber in unserem Fall keinen Unterschied zu einem eigenständigen physikalischen System bringt.

uname -a
Linux etchy 2.6.18-4-486 #1 Mon Mar 26 16:39:10 UTC 2007 i686 GNU/Linux

Zuerst brauchen wir natürlich SSH Zugang

 apt-get install openssh-server

Nun installieren wir Squid

apt-get install squid
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
squid-common
Vorgeschlagene Pakete:
squidclient squid-cgi logcheck-database resolvconf smbclient
Die folgenden NEUEN Pakete werden installiert:
squid squid-common
0 aktualisiert, 2 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
Es müssen 1093kB Archive geholt werden.
Nach dem Auspacken werden 6607kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? j
Hole:1 http://ftp.de.debian.org etch/main squid-common 2.6.5-6 [438kB]
Hole:2 http://ftp.de.debian.org etch/main squid 2.6.5-6 [654kB]
Es wurden 1093kB in 4s geholt (225kB/s)
Vorkonfiguration der Pakete ...
Wähle vormals abgewähltes Paket squid-common.
(Lese Datenbank ... 20009 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke squid-common (aus .../squid-common_2.6.5-6_all.deb) ...
Wähle vormals abgewähltes Paket squid.
Entpacke squid (aus .../squid_2.6.5-6_i386.deb) ...
Richte squid-common ein (2.6.5-6) ...
Richte squid ein (2.6.5-6) ...
Creating squid spool directory structure
2007/08/07 19:02:45| Creating Swap Directories
Restarting Squid HTTP proxy: squid.

etchy:~#

Squid muss nun konfiguriert werden, anbei eine minimale Beispielkonfiguration. Man muss nur “acl trusted” durch das eigene Netzwerk ersetzen. Anschließend wird Squid neu geladen

/etc/init.d/squid reload

Nun kann man den Proxy auch schon testen, IP und Port im Browser eintragen und es sollte schon funktionieren.

Installation des Virenscanners ClamAV

apt-get install clamav

Alle empfohlenen Abhängigkeiten werden mitinstalliert.

Installation der ICAP Schnittstelle c_icap

Hier gibt es immer die aktuelle Version: http://sourceforge.net/projects/c-icap
Entweder direkt mit wget herunterladen oder mittels WinSCP übertragen.

wget http://belnet.dl.sourceforge.net/sourceforge/c-icap/c_icap-180407.tar.gz

Entpacken & Installieren

tar xfz c_icap-VERSION.tar.gz
cd c_icap-VERSION
./configure --enable-static --with-clamav --prefix=/usr/local/icap
make
make install

Konfiguration von c_icap
/usr/local/icap/etc/c-icap.conf
man ändert “User wwwrun” zu “User proxy” und fügt am Ende der Config folgende Zeilen ein:

acl localsquid_respmod src 127.0.0.1 type respmod
acl localsquid src 127.0.0.1
acl externalnet src 0.0.0.0/0.0.0.0
icap_access allow localsquid_respmod
icap_access allow localsquid
icap_access deny externalnet

Wenn Squid auf einem anderen Server läuft, muss hier die IP Adresse angepasst werden.

Nun wird überprüft ob alles erfolgreich war

 

Konfiguration Squid & c_ICAP

Damit Squid seine Daten zum Virenscanner schickt, muss man ihm das vorher natürlich beibringen.

————— Fortsetzung folgt ——————

Folgende Meldungen können auftreten:

beim configure von c_icap

configure: error: no acceptable C compiler found in $PATH

Es muss ein C Compiler inkl. Abhängigkeiten installiert werden:

apt-get install gcc
inklusiv Abhängigkeiten

checking for C compiler default output file name… configure: error: C compiler cannot create executables
G++ inkl. Abhängigkeiten installieren

apt-get install g++
-bash: make: command not found

make inkl. Abhängigkeiten installieren

apt-get install make

bei make von c_icap

srv_clamav.c:27:20: error: clamav.h: No such file or directory
srv_clamav.c:121: error: invalid use of undefined type 'struct cl_limits'

clam Antivirus library development files müssen installiert werden

apt-get install libclamav-dev

bei make install von c_icap

chgrp nobody /usr/local/icap/var/log/
chgrp: ungültige Gruppe nobody

Gruppe nobody anlegen und make install erneut ausführen

groupadd nobody
make install
Categories: it Tags:
  1. June 20th, 2008 at 16:44 | #1

    Moin moin,

    jetzt hatte ich mich so gefreut was nicht russisches zu finden, und genau da wo ich nicht weiter weiß hört es auf :-)

    Hat es denn funktioniert?

    Tschüß

    Volker

  2. June 21st, 2008 at 12:35 | #2

    Moin Moin,

    versuchs doch mal hier: http://www.perl-online.com/blog/archives/937

    MfG
    Jürgen

  1. No trackbacks yet.

Spam protection by WP Captcha-Free