Proxyserver Squid mit Contentfilter Dansguardian und Virenfilter ClamAV unter CentOS 5.x

Squid Proxy LogoDansguardian LogoClamAV Logo

Für die Zugriffsverwaltung und inhaltliche Bewertung der angewählten Internetseiten bedienen wir uns dem Proxy Squid und dem Contentfilter Dansguardian. Bei dieser Konstellation arbeiten Squid und Dansguardian als einer Vermittler, der auf der einen Seite Anfragen entgegennimmt, um dann über seine eigene Adresse eine Verbindung zu einem Zielhost herzustellen. So bleibt einerseits die eigentliche Adresse des Client-Rechners dem Zielhost gegenüber komplett verborgen, was eine gewisse Anonymität schafft. Ferner können die Ergebnisse der Clientanfragen zwischengespeichert werden, um so Bandbreite zu sparen, da diese gepufferten Objekte nicht nochmals geladen werden müssen. Darüber hinaus haben wir so die Möglichkeit:

  • unerwünschte Seiten zu blocken (Pornographie)
  • bestimmte Inhalte nur bestimmten Usern zur Verfügung zu stellen (Multimediainhalte des WWW)
  • Seiten auf unerwünschten Inhalt zu überprüfen und ggf. zu blocken (Glücksspiel und politische Propaganda) oder
  • eine Virenprüfung der übermittelten Daten vorzunehmen.

Im ersten Schritt installieren wir den Proxy-Server Squid.

Im nächsten Schritt werden wir nun mit der Installation und Konfiguration von Dansguardian weiter fortfahren. Hierzu stehen uns Stand heute zwei Programmversionen zur Verfügung, auf die in den folgenden Kapiteln einzeln eingegangen wird.

Dansguardian Version 2.10.1.1

Möchte man neben der inhaltlichen Überprüfung, beschrieben im nachfolgenden Kapitel auch eine Virenfilterung des Webtraffics vornehmen, so installiert man sich am besten die aktuelle Version von Dansguardian. Hierzu benutzt man entweder direkt die Sourcen von Dansguardian oder man nutzt die komfortablere Variante eines RPMs aus einem Repository.

Die komfortabelste Variante ist die Nutzung von Djangos Repository. Die Einbindung ist im Dokuwiki unter Einbindes von Djangos Repository for CentOS 5.x beschrieben.

Installation und Konfiguration ist im nachfolgenden Kapitel Dansguardian Version 2.10.1.1 - Installation und Konfiguration detailliert beschrieben.

Dansguardian Version 2.8.0.6

Die einfachere Variante ist die Installation der Version 2.8.0.6 aus dem Dag Apt Repository. Stand Dezember 2009

Diese Version unterstützt nur die Inhaltliche Überprüfung noch noch NICHT die Virenfilterung!

Diese ist im aktuellen neuen Release-Kandidaten enthalten - die Installation ist im nachfolgenden Kapitel beschrieben. Installation und Konfiguration ist im nachfolgenden Kapitel Dansguardian Version 2.8.0.6 - Installation und Konfiguration detailliert beschrieben.

Zur Aktivierung unserer Proxy-Konfiguration haben wir zwei Möglichkeiten. Die scheinbar schnelle und einfache manuelle Variante, oder die vollautomatische zentrale Konfiguration. Mit der Letztgenannten ist man vor allem bei späteren Änderungen und Erweiterungen weitaus flexibler.

manuelle Konfiguartion

Im firefox aktivieren wir nun unter dem Menüpunkt Bearbeiten | Einstellungen bei Erweitert den Reiter Netzwerk. Bei den Einstellungen tragen wir nun die IP-Adresse unserer NSS ein und geben als Port die 8080 an.

automatische Konfiguartion

Apache-Konfig

In der Konfigurationsdatei /etc/httpd/conf/httpd.conf ergänzen wir folgende Angabe:

vim /etc/httpd/conf/httpd.conf

# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
# hinzugefügt am 16.08.2008 wegen Proxy-Pac-File-Unterstützung
AddType application/x-ns-proxy-autoconfig .pac

V-Host Definition

Für unsere Proxy-Konfiguration nutzen wir einen virtuellen Host, den wir wie folgt definieren:

vhost.conf
#
# proxy.nausch.org
#
<VirtualHost *:80>
    ServerAdmin webmaster@nausch.org
    ServerName proxy.nausch.org:80
    ServerAlias proxy.nausch.org
    ServerPath /
    DocumentRoot "/usr/share/proxypac"
    <Directory "/usr/share/proxypac">
        Options FollowSymLinks
        AllowOverride AuthConfig
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from 192.168.100.0/24
    </Directory>
    DirectoryIndex index.html
    ErrorLog logs/proxy_error.log
    CustomLog logs/proxy_access.log combined
</VirtualHost>

Abschließend starten wir dann unseren Webserver einmal durch:

# service httpd restart

proxy.pac file

Gemäß unserer V-Host-Definition legen wir nun das entsprechende Verzeichnis (DocumentRoot) an und setzen die Berechtigung für unseren Apache:

# mkdir /usr/share/proxypac
# chown apache:apache /usr/share/proxypac

Hier erstellen wir nun unser proxy.pac-File

# vim proxy.pac
// proxy pac file
 
function FindProxyForURL(url, host)
{
    // proxy string to return
    var proxy = "PROXY proxy.nausch.org:8080";
 
    // no Proxy
    if (shExpMatch(url, "http://*.nausch.org/*")) { return "DIRECT"; }
    if (shExpMatch(url, "http://*.wetterstation-pliening.info/*")) { return "DIRECT"; }
    if (shExpMatch(url, "http://localhost/*")) { return "DIRECT"; }
    if (shExpMatch(url, "http://127.0.0.1/*")) { return "DIRECT"; }
 
    // go Proxy
    return proxy;
}

Abschließend verlinken wir nun noch unsere proxy.pac nach index.html

# ln -s /usr/share/proxypac/proxy.pac usr/share/proxypac/index.html

Clientseite

Auf Seiten unserer Klienten sit es lediglich bei den Browsereinstellungen die automatische Proxykonfiguration mit der URL http://proxy.nausch.org anzugeben.

Zum Auswerten unseres Dansguardian-Logfiles, bedienen wir uns eines einfachen und effektiven Perl-Programmes DGLog.

Download und Installation

Das Perl-Programm holen wir uns direkt von der Projektseite mittels wget.

# wget http://www.cherokeek12.org/technology/dg/2.0/dglog2.pl

Dieses File kopieren wir an die für uns richtige Stelle und weisen anschließen die Nutzerrechte entsprechend zu.

# mkdir /usr/share/dansguardian
# cp dglog2.pl /usr/share/dansguardian/
# chown apache:apache dglog2.pl
# chmod 750 dglog2.pl

V-Host Definition

Zur Auswertung unsers Dansguardian-Logfiles legen wir nun zum schluß einen geeigneten VHost an.

# vim /etc/httpd/conf.d/vhosts.conf
vhost.conf
#
# dansguardian.nausch.org
#
<VirtualHost *:80>
    ServerAdmin webmaster@nausch.org
    ServerName dansguardian.nausch.org:80
    ServerAlias www.dansguardian.nausch.org
    ServerPath /
    DocumentRoot "/usr/share/dansguardian"
    AddHandler cgi-script .pl
    <Directory "/usr/share/dansguardian">
        Options ExecCGI
        AllowOverride AuthConfig
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        Allow from 192.168.100.0/24
    </Directory>
    DirectoryIndex dglog2.pl
    ErrorLog logs/dansguardian_error.log
    CustomLog logs/dansguardian_access.log combined
</VirtualHost>

Abschließend starten wir dann unseren Webserver einmal durch:

# service httpd restart

Programmaufruf

Zu guter Letzt rufen wir die Auswertung, genauer gesagt die Auswahlmaske für die Selektion der Nutzerdaten im Browser unter der Adresse https://dansguardian.nausch.org/ auf.

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • centos/proxy-_kontentfilter_mit_squid_und_dansguardian.txt
  • Zuletzt geändert: 20.04.2018 09:07.
  • (Externe Bearbeitung)