Good to Know Database

CentOS 5: Proxy-Server mit Contentfilter und Virenerkennung


Die folgende Anleitung soll Ihnen zeigen, wie Sie einen Proxy-Server mit Contentfilter und Virenerkennung einrichten. Dazu wird Squid als Proxy-Server eingesetzt, der Contentfilter DansGuardian wird die aufgerufenen Webseiten nach unerwünschtem Inhalt überprüfen und ClamAV wird die heruntergeladenen Dateien nach Schadcode überprüfen.

Installation und Konfiguration von Squid

Wenn Sie Squid bereits wie im Tutorial CentOS 5: Proxy-Server mit Squid einrichten eingerichtet haben, sollten Sie folgende Einstellungen überprüfen und gegebenenfalls anpassen.

- Squid sollte auf dem TCP-Port 3128 laufen.
- Zugriffe auf den Proxy sollten nur von localhost erlaubt werden, damit die Clients den Contentfilter und die Virenerkennung nicht umgehen können.

Sollten Sie Squid noch nicht installiert haben, installieren Sie das entsprechende RPM-Paket mit dem folgenden Befehl aus dem CentOS-Repository.

[root@centos5 ~]# yum install squid

Nachdem Sie Squid installiert haben, müssen Sie eine Änderung an der Konfigurationsdatei /etc/squid/squid.conf vornehmen.

[root@centos5 ~]# vi /etc/squid/squid.conf

Geben Sie mit der Option visible_hostname den vollständigen Rechnernamen des Proxys an.

visible_hostname centos5.home.lan

Nachdem Sie die nötige Änderung an der Konfigurationsdatei vorgenommen haben, erstellen Sie mit dem folgenden Befehl die Verzeichnisstruktur für den Squid-Cache.

[root@centos5 ~]# squid -z
2009/10/01 23:37:18| Creating Swap Directories

Starten Sie anschließend den Squid-Daemon und aktivieren diesen im Runlevel 3 und 5 damit Squid beim Start des Servers automatisch gestartet wird.

[root@centos5 ~]# service squid start
[root@centos5 ~]# chkconfig --level 35 squid on

Installation und Konfiguration von ClamAV

Den ClamAV-Daemon installieren und konfigurieren Sie wie im Tutorial CentOS 5: ClamAV-Daemon installieren beschrieben.

Installation und Konfiguration von DansGuardian

Bevor Sie mit der eigentlichen Installation von DansGuardian beginnen, sollten Sie einen Systembenutzer anlegen, unter welchem DansGuardian später laufen wird.

[root@centos5 dansguardian-2.10.1.1]# useradd -r -s /sbin/nologin dansguardian

Da es momentan kein RPM-Paket von DansGuardian gibt, welches ClamAV unterstützt, müssen Sie DansGuardian aus den Quellen installieren. Dazu benötigen Sie einige Programme und Bibliotheken, welche Sie wie folgt nachinstallieren können.

[root@centos5 ~]# yum install make gcc gcc-c++ zlib-devel

Jetzt wechseln Sie in das Verzeichnis /usr/src, laden die aktuelle DansGuardian-Version herunter und entpacken diese.

[root@centos5 ~]# cd /usr/src
[root@centos5 src]# wget http://dansguardian.org/downloads/2/Stable/dansguardian-2.10.1.1.tar.gz
[root@centos5 src]# tar xfz dansguardian-2.10.1.1.tar.gz
[root@centos5 src]# cd dansguardian-2.10.1.1

Nachdem Sie in das Verzeichnis mit den Quellen gewechselt haben, rufen Sie das Config-Skript mit den folgenden Parametern auf.

[root@centos5 dansguardian-2.10.1.1]# ./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --enable-clamav=no --enable-clamd --disable-pcre --with-proxyuser=dansguardian --with-proxygroup=dansguardian

Wenn das Config-Skript ohne Fehlermeldungen beendet wurde, übersetzen Sie die Quellen und installieren DansGuardian.

[root@centos5 dansguardian-2.10.1.1]# make
[root@centos5 dansguardian-2.10.1.1]# make install

Die Konfiguration von DansGuardian finden Sie in der Konfigurationsdatei /etc/dansguardian/dansguardian.conf.

[root@centos5 ~]# vi /etc/dansguardian/dansguardian.conf

Damit Ihnen DansGuardian eine deutsche Fehlermeldung anzeigt, wenn der Contentfilter oder der Virenscanner den Zugriff auf eine Webseite verweigern, ändern Sie die Option language wie folgt ab.

language = 'german'

Durch die Option loglevel können Sie einstellen, welche Meldungen in der Logdatei /var/log/dansguardian/access.log geloggt werden sollen. Diese Einstellung sollten Sie erst ändern, wenn Sie DansGuardian erfolgreich konfiguriert haben und die Meldungen nicht für eine Fehlersuche benötigen.

# Logging Settings
#
# 0 = none  1 = just denied  2 = all text based  3 = all requests
loglevel = 2

Unter den Netzwerkeinstellungen können Sie mit der Option filterip festlegen, auf welchen Netzwerkschnittstellen DansGuardian Verbindungen annehmen soll. Wird hier keine IP-Adresse angegeben, lauscht DansGuardian auf allen verfügbaren Netzwerkschnittstellen.

filterip =

Die Option filterport gibt den Port an, unter welchem DansGuardian erreichbar sein soll. Sollten Sie eine Firewall einsetzen, müssen Sie sicherstellen, das dieser Port für Ihre Clients erreichbar ist.

filterport = 8080

Mit den Optionen proxyip und proxyport teilen Sie DansGuardian die Zugriffsdaten für den Squid-Proxy mit.

proxyip = 127.0.0.1
proxyport = 3128

Ändern Sie bei der Option accessdeniedaddress den String YOURSERVER.YOURDOMAIN in Ihren vollständigen Rechnernamen ab.

accessdeniedaddress = 'http://centos5.home.lan/cgi-bin/dansguardian.pl'

Damit DansGuardian Webseiten und Dateien an den ClamAV-Daemon zur Überprüfung weiterleitet, müssen Sie die Raute am Anfang der folgenden Zeile entfernen.

contentscanner = '/etc/dansguardian/contentscanners/clamdscan.conf'

Wenn DansGuardian auf den ClamAV-Daemon zugreifen soll, muss DansGuardian in der gleichen Gruppe ausgeführt werden wie der ClamAV-Daemon. Dazu geben Sie die Gruppe mit der Option daemongroup an.

daemongroup = 'clamav'

In der Konfigurationsdatei /etc/dansguardian/contentscanners/clamdscan.conf müssen Sie noch den Socket des ClamAV-Daemons angeben.

[root@centos5 ~]# vi /etc/dansguardian/contentscanners/clamdscan.conf

Die folgende Zeile muss in der Konfigurationsdatei enthalten und aktiviert sein.

clamdudsfile = '/var/run/clamav/clamd.sock'

Damit DansGuardian als Daemon verwendet werden kann, benötigen Sie ein Init-Skript welches Sie wie folgt erstellen.

[root@centos5 ~]# vi /etc/init.d/dansguardian

Das folgende Skript stammt aus einem DansGuardian RPM-Paket welches im RPMforge-Repository zu finden ist. Kopieren Sie den Code einfach in die Datei /etc/init.d/dansguardian.

#!/bin/bash
#
# Init file for DansGuardian content filter.
#
# Written by Dag Wieers <dag@wieers.com>.
#
# chkconfig: - 92 8
# description: DansGuardian content filter.
#
# processname: dansguardian
# config: /etc/dansguardian/dansguardian.conf
# pidfile: /var/run/dansguardian

source /etc/rc.d/init.d/functions
source /etc/sysconfig/network

### Check that networking is up.
[ "${NETWORKING}" == "no" ] && exit 0

[ -x "/usr/sbin/dansguardian" ] || exit 1
[ -r "/etc/dansguardian/dansguardian.conf" ] || exit 1

RETVAL=0
prog="dansguardian"
desc="Web Content Filter"

start() {
    echo -n $"Starting $desc ($prog): "
    daemon $prog
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}

stop() {
    echo -n $"Shutting down $desc ($prog): "
    killproc $prog
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

restart() {
    stop
    start
}

reload() {
    echo -n $"Reloading $desc ($prog): "
    killproc $prog -HUP
    RETVAL=$?
    echo
    return $RETVAL
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  reload)
    reload
    ;;
  condrestart)
    [ -e /var/lock/subsys/$prog ] && restart
    RETVAL=$?
    ;;
  status)
    status $prog
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|condrestart|status}"
    RETVAL=1
esac

exit $RETVAL

Nachdem das Init-Skript erstellt wurde, ändern Sie die Zugriffsberechtigungen der Datei.

[root@centos5 ~]# chmod 755 /etc/init.d/dansguardian

Anschließend wird der Service mit den folgenden Befehlen erstellt und im Runlevel 3 und 5 aktiviert.

[root@centos5 ~]# chkconfig --add dansguardian
[root@centos5 ~]# chkconfig --level 35 dansguardian on

Bevor Sie den DansGuardian-Daemon starten können, müssen Sie die Zugriffsrechte für das Log-Verzeichnis ändern.

[root@centos5 ~]# chown dansguardian:dansguardian /var/log/dansguardian/

Jetzt können Sie den DansGuardian-Daemon starten.

[root@centos5 ~]# service dansguardian start

Jetzt müssen Sie auf Ihren Clients nur noch den Proxy-Server in den Netzwerk- beziehungsweise Interneteinstellungen eintragen.

Wenn Sie Probleme mit DansGuardian haben, sollten Sie die Logdatei /var/log/dansguardian/access.log überprüfen.

[root@centos5 ~]# tail -f /var/log/dansguardian/access.log


Dieser Eintrag wurde am 21.10.2009 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_765.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer