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
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
[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
[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
[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
#
# 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
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
#
# 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
[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 ]
© 2004-2021 by Georg Kainzbauer