%
% Achtung: Dateien muessen mit latin1-Encoding gespeichert werden!
% Attention: Files must be saved using latin1 encoding!
%

\chapter{Das Squid-Paket}
\emph{Ab Version 2.0.0 - Stand 16.12.2018}

\section{Einleitung}

Squid ist ein caching HTTP-Proxy, d.h. er fungiert als
Zwischeninstanz, die alle HTTP-Anforderungen entgegennimmt und
gegebenenfalls weiterleitet. Er speichert h"aufig angefragte Inhalte
auf der Festplatte zwischen und kann so das Surfen ungemein
beschleunigen. Auch sind noch viele weitere Einstellungen m"oglich, mit
denen der Webzugriff beschr"ankt werden kann (zeitabh"angig,
domainabh"angig und viele Kriterien mehr), die aber von eisfair im
Moment noch nicht unterst"utzt werden.

\subsection{Anforderungen an den PC:}

Um Squid nutzen zu k"onnen muss der PC eine Mindestgr"o"se haben

\sloppy
\begin{itemize}
\item Speicher (unter 32 MB RAM nicht emfehlenswert)
\item grosse und schnelle Festplatte (f"ur den squid mindestens 100 MB reservieren)

\end{itemize}


\section{Funktionen}

Das Squid-Paket stellt folgende Funktionalit"at zur Verf"ugung:

\sloppy
\begin{itemize}
  \item Squid-Proxy. Siehe \link{http://www.squid-cache.org}{http://www.squid-cache.org}.
  \item squidGuard. Siehe \link{http://www.squidguard.org}{http://www.squidguard.org}.
\end{itemize}


\section{Voraussetzungen}

Dieses Paket ben"otigt in der Grundfunktion eine Reihe von weiteren
Paketen (lib-Pakete).
Es ist auch davon abh"angig, dass eine aktuelle Version des
Basis-Systems installiert ist.
Squid mit aktiviertem squidGuard l"a"st sich nur auf einem Rechner betreiben,
auf dem auch ein HTTP-Server (apache Paket) l"auft.
F"ur einige Formen der Authentifizierung werden zus"atzlich andere Pakete
ben"otigt (smb samba Paket; ncsa apache Paket).


\section{Installation}

Die Installation mit dem Men"u sollte ohne Anfragen und Probleme
ablaufen.
Der Squid ist danach lauff"ahig, wenn die Variable START\_SQUID
auf 'yes' ge"andert wird.
Man sollte allerdings die Konfigurationsdatei weiter bearbeiten,
denn die Voreinstellungen sind nicht unbedingt der speziellen
Situation vor Ort angepasst.

Das Squid Paket wird "uber das Setup-Men"u im Untermen"u ''Package administration'' installiert.

\section{Die Men"us des squid Paketes}

\subsection{Das squid Hauptmen"u}

Das squid Hauptmen"u ist "uber den Men"upunkt ''Service administration'' des Hauptmen"us im
zentralen Setup-Programm zu erreichen.
Es ist wie folgt aufgebaut:

\begin{itemize}
\item Edit Configuration\\
      Damit kann die Konfigurationsdatei des squid Paketes bearbeitet werden..
\item Show status of squid\\
      Den Status von Squid (und ggf. squidGuard) anzegen.
\item Stop squid\\
      Squid (und ggf. squidGuard) stoppen.
\item Start squid\\
      Squid (und ggf. squidGuard) starten.
\item Advanced configuration file handling\\
      Untermen"u zur erweiterte Funktionen f"ur die Konfigurationsdatei.
\item Show squid package documentation\\
      Anzeige der Paket-Dokumentation (diese Datei).
\item Show squid package changes\\
      Anzeige der "Anderungshistorie.
\item Show squid cache access log file\\
      Anzeige des Logfiles mit den Zugriffen.
\item Show squid cache log file\\
      Anzeige der Start- und Endemeldungen des Squid.
\item Initialize squid cache\\
      Manuelles Anlegen des Cache Verzeichnisses. Nur in besonderen F"allen notwendig.
\item squidGuard administration\\
      Untermen"u zur Administration des squidGuard.
\item Exit\\
      Sofortiges Beenden des Gesamtmen"us.
\end{itemize}

Die meisten Men"upunkte d"urften ohne weitere Erl"auterung verst"andlich sein,
da sie keinerlei weitere Eingaben erwarten.
Zu ''Edit Configuration'' siehe Abschnitt ''"Anderung der Konfiguration''.

\subsection{Die squid Untermen"us}

Der Aufbau der Untermen"us ist wie folgt:


Advanced configuration file handling.

\begin{itemize}
\item Restore configuration file from default directory
\item Restore configuration file from backup directory
\item Backup configuration file to backup directory
\item Show difference between current and default configuration
\item Show difference between current and a backup configuration
\item Show difference between default and a backup configuration
\item Show difference between two backup configurations
\item Exit\\
      Sofortiges Beenden des Gesamtmen"us.
\end{itemize}

Diese Men"upunkte sind im allgemeinen Teil der Dokumentation zu eisfair beschrieben.


squidGuard administration

\begin{itemize}
\item Show squidGuard log\\
      Anzeige des Logfiles des squidGuard.
\item Build squidGuard databases\\
      Manuelles Erzeugen des squidGuard Datenbanken.
\item Update squidGuard databases\\
      Automatisierter Update der squidGuard Datenbanken
      unter Nutzung des "uber SQUID\_GUARD\_BLACKLIST\_ACTIVE eingestellten URLs.
\item Exit\\
      Sofortiges Beenden des Gesamtmen"us.
\end{itemize}

\section{"Anderung der Konfiguration}

Die Konfiguration kann "uber den Men"upunkt ''Edit Configuration'' ge"andert werden.
Standardm"assig wird dabei der Editor joe genutzt (siehe aber Variable EDITOR in der base configuration).

Nachdem der Editor beendet wurde wird die Konfiguration mit dem Programm eischk automatisch auf syntaktische
und teilweise auch auf semantische Fehler gepr"uft. Werden Fehler festgestellt, so werden diese
gemeldet und der Benutzer zur Korrektur aufgefordert. Wird eine solche Korrektur nicht durchgef"uhrt, so
kann es zu unvorhersehbaren Fehlfunktionen bei den Diensten kommen.

Es wird zus"atzlich gefragt, ob die Konfiguration angewendet (aktiviert) werden soll. Wird dieses
verneint, so unterbleibt die Aktivierung. \achtung{Beim n"achsten Boot-Vorgang kann es in diesem
Fall zu unvorhersehbaren Fehlern kommen.}

Wird die Aktivierung best"atigt, werden "uber ein Skript die durchgef"uhrten "Anderungen wirksam gemacht.


\section{Die Konfigurationsdatei}

Die Konfigurationsdatei (/etc/config.d/squid) enth"alt in einer Reihe von Abschnitten die
Parameter, die den Squid selbst und SquidGuard konfigurieren.

\subsection{General settings for squid}

\begin{description}

\config{START\_SQUID}
{START\_SQUID}
{STARTSQUID}
{"Uber START\_SQUID wird mit den Werten yes bzw. no gesteuert,
ob der HTTP-Proxy Squid beim Boot des Rechners automatisch
gestartet werden soll.
(Default ist no).

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_MANUAL\_CONFIGURATION}
{SQUID\_MANUAL\_CONFIGURATION}
{SQUIDMANUALCONFIGURATION}
{Hier kann gesteuert werden, ob die Konfiguration des Squid
und aller seiner Komponenten manuell (von Hand) vorgenommen
werden soll.
(Default ist no).

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_CACHE\_MGR}
{SQUID\_CACHE\_MGR}
{SQUIDCACHEMGR}
{Mailadresse des lokalen Cache Managers.
(Default ist webmaster).

G"ultige Werte: \emph{Mailadresse}}

\end{description}

\subsection{Connection Settings for squid}

\begin{description}

\config{SQUID\_IP\_ETH\_N}
{SQUID\_IP\_ETH\_N}
{SQUIDIPETHN}
{Netzwerkkarte, dessen IP-Adresse, Netzwerk-Adresse und
Netmask genutzt werden soll. Siehe Basiskonfiguration.
Die Angabe 0 f"uhrt dazu, dass der Squid auf allen lokalen
IP-Adressen 'lauscht'.

G"ultige Werte: \emph{1 bis IP\_ETH\_N (siehe Datei base)}}

\config{SQUID\_PORT}
{SQUID\_PORT}
{SQUIDPORT}
{Gibt den Port an, auf dem der Squid ansprechbar sein soll.

Default: \emph{3128}}
\config{SQUID\_PORT\_OPTIONS}
{SQUID\_PORT\_OPTIONS}
{SQUIDPORTOPTIONS}
{Angaben f"ur die http\_port option.
In /etc/squid/squid.conf finden sich weitere Angaben.}

\config{SQUID\_ADDITIONAL\_SAFE\_PORTS}
{SQUID\_ADDITIONAL\_SAFE\_PORTS}
{SQUIDADDITIONALSAFEPORTS}
{Zus"atzliche acl Safe\_ports Portangaben.\\
Beispiel:
SQUID\_ADDITIONAL\_SAFE\_PORTS='445 22 3001'\\
Die Ports 445,22 und 3001 werden der Liste der sog. 'safe ports'
hinzugef"ugt.
In /etc/squid/squid.conf finden sich unter den Begriffen 'acl aclname port'
und 'http\_access deny' entsprechende Beschreibungen.
}

\config{SQUID\_ACL\_HOME\_SRC}
{SQUID\_ACL\_HOME\_SRC}
{SQUIDACLHOMESRC}
{Angabe f"ur die Konfiguration der Acccess Control List home src.
Diese Liste regelt, welche Clients den Squid benutzen
d"urfen. Im Standardfall wird diese Liste aus den "uber
SQUID\_IP\_ETH\_N referenzierten Werte der Basiskonfiguration
erzeugt. Dazu muss SQUID\_ACL\_HOME\_SRC='' gesetzt sein.
In umfangreicheren, intern geteilten Netzwerken ist ggf.
eine gesonderte Angabe notwendig.\\
Beispiel:\\
192.168.1.0/255.255.255.0 192.168.2.0/255.255.255.0\\
erlaubt Clients aus den Netzen\\
192.168.1.0 and 192.168.2.0.\\
die Benutzung des Squid.\\
Bitte /etc/squid/squid.conf f"ur eine umfassende Erl"auterung
nutzen.}

\end{description}

\subsection{Language Settings for squid error messages}

\begin{description}
\config{SQUID\_DEFAULT\_LANGUAGE}
{SQUID\_DEFAULT\_LANGUAGE}
{SQUIDDEFAULTLANGUAGE}
{Auswahl der Sprache, in der Fehlermeldungen des Squid
ausgegeben werden, wenn die Sprache nicht aus den Angaben
des Web-Client entnommen werden kann oder die im Web-Client
gew"ahlte Sprache nicht verf"ugbar ist.
(Default ist en\_US).

G"ultige Werte: \emph{de\_DE,en\_US,en\_GB,fr\_FR}}

\end{description}

\subsection{Privacy Settings for squid}

\begin{description}

\config{SQUID\_FILL\_FORWARDED\_FOR}
{SQUID\_FILL\_FORWARDED\_FOR}
{SQUIDFILLFORWARDEDFOR}
{Gibt an, ob die IP-Adresse oder der Name des Systems
in den weitergeleiteten HTTP-Requests eingesetzt wird.

G"ultige Werte: \emph{yes,no}}

\end{description}

\subsection{SNMP Settings for squid}

\begin{description}

\config{SQUID\_ALLOW\_SNMP}
{SQUID\_ALLOW\_SNMP}
{SQUIDALLOWSNMP}
{Bei 'no' werden keine SNMP Meldungen angenommen.
Bei 'yes' werden solche Meldungen auf Port 3401 angenommen.

Achtung:
Der Default ist SQUID\_ALLOW\_SNMP='no'.
Vor Version 1.5.0 wurde eine Konfiguration, die
SQUID\_ALLOW\_SNMP='yes' entspricht generiert.

G"ultige Werte: \emph{yes,no}}

\end{description}

\subsection{ICP Settings for squid}

\begin{description}
\config{SQUID\_ALLOW\_ICP}
{SQUID\_ALLOW\_ICP}
{SQUIDALLOWICP}
{Gibt an, ob ICP Messages auf Port 3130 angenommen werden.

G"ultige Werte: \emph{yes,no}}

\end{description}

\subsection{Cache Settings for squid}

\begin{description}

\config{SQUID\_RAM\_SIZE}
{SQUID\_RAM\_SIZE}
{SQUIDRAMSIZE}
{Mit diesem Wert kann man dem Squid eine bestimmte Menge
Hauptspeicher in MB zuteilen. Allerdings wird die eingestellte
Menge im Normalfall um den Faktor 2 "uberschritten. Wenn man
also 8 einstellt, wird der normale Speicherbedarf des Squid
etwa 24 Megabyte betragen. Mit dieser Einstellung (und einem PC
mit mindestens 32 MB RAM) kann man an einer DSL-Leitung ohne
Probleme 5-10 Clients bedienen.

G"ultige Werte: \emph{Zahl}}

\config{SQUID\_CACHE\_SIZE}
{SQUID\_CACHE\_SIZE}
{SQUIDCACHESIZE}
{Gibt die Menge an Festplattenspeicher in MB an, die
Squid f"ur das Zwischenspeichern von h"aufig angeforderten Daten
maximal belegen darf.

G"ultige Werte: \emph{Zahl}}

\config{SQUID\_CACHE\_DIR}
{SQUID\_CACHE\_DIR}
{SQUIDCACHEDIR}
{Gibt den Pfad zu dem Verzeichniss an, in das der Squid seine
tempor"aren Dateien (den Cache) anlegen darf. Die
Voreinstellung sollte man nach M"oglichkeit belassen.

G"ultige Werte: \emph{Verzeichnis}}

\config{SQUID\_MAX\_OBJECT\_SIZE}
{SQUID\_MAX\_OBJECT\_SIZE}
{SQUIDMAXOBJECTSIZE}
{Gibt die maximale Gr"o"se von Objekten an die
auf der Platte gespeichert werden. Die Angabe ist in KiloByte.

Default: \emph{4096}}

\end{description}

\subsection{Log Settings for squid}

\begin{description}

\config{SQUID\_LOG\_ACCESS}
{SQUID\_LOG\_ACCESS}
{SQUIDLOGACCESS}
{In diese Datei werden die Anfragen der Clients geloggt.
Hier sollte die Voreinstellung genutzt werden.

SQUID\_LOG\_ACCESS='none' deaktiviert das Logging.\\
SQUID\_LOG\_ACCESS='syslog' schaltet das Logging "uber
den Syslog Daemon ein. Hierzu bitte die SYSLOGD Parameter der
Base-Konfiguration beachten.

G"ultige Werte: \emph{Dateiname,none,syslog}}

\config{SQUID\_LOGFORMAT}
{SQUID\_LOGFORMAT}
{SQUIDLOGFORMAT}
{
Format des Access-Logs.
Die Datei /etc/squid/squid.conf enth"alt eine detaillierte Beschreibung
der einzelnen Formate. Das Format 'eissquid' ist wie das Format
'squid', nur die Angabe des Zeitstemples ist im Format (tl)
anstelle der Angabe 'time since epoche'.

G"ultige Werte: \emph{squid,squidmime,common,combined,eissquid,referrer,useragent}

Default: \emph{squid}}

\config{SQUID\_LOG\_CACHE}
{SQUID\_LOG\_CACHE}
{SQUIDLOGCACHE}
{In diese Datei werden Angaben "uber den Cache geloggt.
Auch diese Voreinstellung sollte man belassen.

SQUID\_LOG\_CACHE='none' deaktiviert das Logging.

G"ultige Werte: \emph{Dateiname,none}}

\config{SQUID\_MESSAGE\_TIME}
{SQUID\_MESSAGE\_TIME}
{SQUIDMESSAGETIME}
{Angabe, welches Zeitformat in den Fehlermeldungen des Squid genutzt werden soll.

G"ultige Werte: \emph{UTC,local}}

\end{description}

\subsection{Log Rotate Settings for Squid}

\begin{description}

\config{SQUID\_LOG\_ROTATE}
{SQUID\_LOG\_ROTATE}
{SQUIDLOGROTATE}
{Gibt an, ob die Logdateien des Squid "uber die
Funktionalit"at logrotate verkleinert und archiviert
werden sollen.

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_MAX\_LOGSIZE}
{SQUID\_MAX\_LOGSIZE}
{SQUIDMAXLOGSIZE}
{Gr"o"se, aber der die Logdateien mittels logrotate
verkleinert und archiviert werden sollen.\\
Es sind folgende Anagben m"oglich:\\
   xxx  Angabe in Bytes\\
   xxxk Angabe in Kilo-Bytes\\
   xxxM Angabe in Mega-Bytes}

\end{description}

\subsection{Authentication Settings for squid}

\begin{description}

\config{SQUID\_AUTH}
{SQUID\_AUTH}
{SQUIDAUTH}
{"Uber den Wert dieser Variablen (yes oder no) wird geregelt,
ob der Zugriff "uber den Squid-Proxy durch ein Authentifizierungs verfahren
 (Benutzer- und Passwortabfrage) geregelt werden soll.

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_SCHEME}
{SQUID\_SCHEME}
{SQUIDSCHEME}
{Authentifizierungs-Schema, welches genutzt werden soll.\\
ncsa : NCSA-Authentication\\
Es wird eine spezielle Passwort-Datei genutzt.
Diese muss mittels des Programms
/usr/local/apache2/bin/htpasswd oder /usr/bin/htpasswd (Teil des Apache Paketes)
angelegt werden und die Benutzer/Passworte dort abgelegt.
Damit k"onnen spezielle User unabh"angig von den Unix-Usern
berechtigt werden den Squid-Proxy zu nutzen.\\
pam  : PAM-Authentication\\
Die Standard-Unix Authentifizierung wird genutzt.
Nur echte Unix-User sind berechtigt den Squid-Proxy
zu nutzen.\\
smb  : SMB-Authentication\\
Die Authentifizierung geschieht "uber einen SMB-Server,
also einen Windows-NT Server oder einen SAMBA-Server.
Zur Nutzung dieser Authentifizierung muss das Paket
Samba installiert sein, und ein sog. Domain Controller
verf"ugbar sein.

G"ultige Werte: \emph{ncsa,pam,smb}}

\config{SQUID\_AUTH\_PFILE}
{SQUID\_AUTH\_PFILE}
{SQUIDAUTHPFILE}
{nur bei SQUID\_SCHEME='ncsa'.
Dateiname der Passwort-Datei, die f"ur NCSA-Authentication genutzt werden soll.
Diese Datei muss mit dem Befehl /usr/local/apache2/bin/htpasswd bzw.
/usr/bin/htpasswd angelegt werden. Ein Aufruf des Befehls
htpasswd mit dem Parameter -{}-help gibt Auskunft "uber den Befehl.
Die erzeugte Datei muss den Benutzer squid und der Gruppe squid zugeordnet sein.
Dies kann "uber ''chown squid:squid /var/squid/squidpasswd'' erreicht werden.
Siehe auch SQUID\_INSTALL\_CHPASSWD.
}

\config{SQUID\_CACHEMGR\_PASSWD}
{SQUID\_CACHEMGR\_PASSWD}
{SQUIDCACHEMGRPASSWD}
{Passwort f"ur die Nutzung des Programms cachemgr.cgi.
Das Passwort 'disable' verhindert jeglichen Zugriff
auf das Programm cachemgr.cgi.}

\config{SQUID\_CREDENTIALS\_TTL}
{SQUID\_CREDENTIALS\_TTL}
{SQUIDCREDENTIALSTTL}
{"Uber diese Angabe kann gesteuert werden, wie lange squid die
Kombination Username:Passwort f"ur g"ultig h"alt, mit anderen
Worten, "uber diesen Parameter wird gesteuert, wie oft squid
das externe Programm zur "uberpr"ufung Authentifizierung aufruft.
Hier sind Angaben der Form '10 seconds', '1 minute', '5 minutes'
oder '1 hour' g"ultig. Default ist '2 hours'.

}

\end{description}

\subsection{Cache Peer Settings for squid}

\begin{description}

\config{SQUID\_CACHE\_PEER}
{SQUID\_CACHE\_PEER}
{SQUIDCACHEPEER}
{Angabe eines andere Caches in einer Cache Hierarchie
In /etc/squid/squid.conf befinden sich detaillierte Angabe
und eine Reihe von Beispielen.}

\config{SQUID\_CACHE\_PEER\_N}
{SQUID\_CACHE\_PEER\_N}
{SQUIDCACHEPEERN}
{Zus"atzliche cache\_peer Angaben. Hier kann
die Anzahl der zus"atzlichen Angaben festgelegt
werden.

G"ultige Werte: \emph{Zahl}}

\config{SQUID\_CACHE\_PEER\_1}
{SQUID\_CACHE\_PEER\_1}
{SQUIDCACHEPEER1}
{Erste zus"atzliche Angabe.}

\config{SQUID\_CACHE\_PEER\_2}
{SQUID\_CACHE\_PEER\_2}
{SQUIDCACHEPEER2}
{Zweite zus"atzliche Angabe.}

\end{description}

\subsection{CGI Programm Settings for squid}

\begin{description}

\config{SQUID\_INSTALL\_CHPASSWD}
{SQUID\_INSTALL\_CHPASSWD}
{SQUIDINSTALLCHPASSWD}
{"Uber die Angaben 'yes' bzw. 'no' wird gesteuert,
ob das Programm chpasswd.cgi installiert wird.
chpasswd.cgi erlaubt die "Anderung von Passw"ortern
bei Nutzung von NCSA-Authentication.

ACHTUNG:
Es werden keine Passw"orter unterst"utzt, die 'nur' mit MD5 encryption
codiert sind. Es sollte bcrypt encryption gew"ahlt werden.

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_INSTALL\_CACHEMGR}
{SQUID\_INSTALL\_CACHEMGR}
{SQUIDINSTALLCACHEMGR}
{"Uber die Angaben 'yes' bzw. 'no' wird gesteuert,
ob das Programm cachemgr.cgi installiert wird.
"Uber cachemgr.cgi lassen sich eine gro"se Anzahl
Informationen "uber den Squid auslesen.\\
Aufruf via:\\
\link{http://<your eisserver>/cgi-bin/cachemgr.cgi}{http://<your eisserver>/cgi-bin/cachemgr.cgi}\\
Eingaben:\\
~~~'Cache Host'    Name des eisservers\\
~~~'Cache Port'    siehe SQUID\_PORT\\
~~~'Manager name'  Namensteil von SQUID\_CACHE\_MGR\\
~~~'Password'      siehe SQUID\_CACHEMGR\_PASSWD\\

  SQUID\_INSTALL\_CHPASSWD='yes' und SQUID\_INSTALL\_CACHEMGR='yes
  werden ignoriert, wenn das Paket Apache nicht installiert ist.

  SQUID\_INSTALL\_CHPASSWD='yes' erfordert SQUID\_AUTH='yes'
  und SQUID\_SCHEME='ncsa'

G"ultige Werte: \emph{yes,no}}

\end{description}

\subsection{Generation of Proxy Autoconfiguration File}

\begin{description}

\config{SQUID\_GEN\_PACFILE}
{SQUID\_GEN\_PACFILE}
{SQUIDGENPACFILE}
{Generierung einer proxy autoconfiguration Datei.
"Uber die Angabe 'yes' oder 'no' wird gesteuert,
ob eine sog. .pac-Datei mit dem Namen squid.pac
generiert werden soll.
Bei 'yes' wird diese Datei im Verzeichnis
/var/www/htdocs erzeugt. Bei 'no' wird eine
ggf. existierende Datei nicht ver"andert.
So ist es m"oglich sich diese Datei zun"achst
generieren zu lassen, dann SQUID\_GEN\_PACFILE
auf 'no' umzustellen und die Datei den entsprechenden
Bed"urfnissen anzupassen. \\
Ggf. muss noch folgende Zeile \\
    application/x-ns-proxy-autoconfig pac\\
in der Datei /usr/local/apache/conf/mime.types
bzw. /etc/apache2/mime.types
erg"anzt werden. \\
Die Konfiguration des Webbrowser der Clients
muss ebenfalls ge"andert werden, wenn die
.pac-Datei wirksam werden soll.

G"ultige Werte: \emph{yes,no}}

\end{description}

\subsection {squidGuard}

squidGuard bietet eine Zugriffskontrolle f"ur das Internet.
"Uber die M"oglichkeiten und insbesondere die Grenzen
einer solchen Zugriffskontrolle informiert die Home-Page
von squidGuard (\link{http://www.squidguard.org/}{http://www.squidguard.org/}).

squidGuard ben"otigt die Pakete apache und perl.

\begin{description}

\config{SQUID\_INSTALL\_SQUIDGUARD}
{SQUID\_INSTALL\_SQUIDGUARD}
{SQUIDINSTALLSQUIDGUARD}
{"Uber die Angaben 'yes' bzw. 'no' wird gesteuert,
ob das Programm squidGuard installiert wird.

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_GUARD\_HTTP\_PORT}
{SQUID\_GUARD\_HTTP\_PORT}
{SQUIDGUARDHTTPPORT}
{Port, der f"ur interne HTTP Verbindungen genutzt wird.
z.B. Meldungen und Images von squidGuard.

Default: \emph{80}}

\config{SQUID\_GUARD\_NOTBLOCKED\_USER}
{SQUID\_GUARD\_NOTBLOCKED\_USER}
{SQUIDGUARDNOTBLOCKEDUSER}
{
In SQUID\_GUARD\_NOTBLOCKED\_USER kann eine Liste von Benutzern
(z.B. 'master admin') angegeben werden, deren Seitenaufrufe
nicht von squidGuard "uberpr"uft und daher auch ggf. nicht
blockiert werden.
SQUID\_GUARD\_NOTBLOCKED\_USER kann nur funktionieren, wenn
eine entsprechende Authentifizierung SQUID\_AUTH='yes'
eingeschaltet ist.
}

\config{SQUID\_GUARD\_BLACKLIST\_ACTIVE}
{SQUID\_GUARD\_BLACKLIST\_ACTIVE}
{SQUIDGUARDBLACKLISTACTIVE}
{
Angabe der Blacklist aus der folgenden Liste, die genutzt
werden soll.

Default: \emph{1}}

\config{SQUID\_GUARD\_BLACKLIST\_N}
{SQUID\_GUARD\_BLACKLIST\_N}
{SQUIDGUARDBLACKLISTN}
{
SQUID\_GUARD\_BLACKLIST\_N definiert einen URL,
FILENAME und TYPE m"ussen entsprechend gesetzt werden.

  SQUID\_GUARD\_BLACKLIST\_\#\_URL:\\
  ~~URL, der f"ur den Download genutzt werden soll.\\
  SQUID\_GUARD\_BLACKLIST\_\#\_FILENAME:\\
  ~~Name der Datei, die heruntergeladen werden soll.\\
  ~~Wenn leer, so wird der Name aus dem URL ermittelt.\\
  SQUID\_GUARD\_BLACKLIST\_\#\_TYPE:\\
  ~~Typ der Blacklist.\\
  ~~'diff' die Blacklist. enth"alt sog. .diff-Dateien.\\
  ~~Mittels dieser .diff-Dateien k"onnen die vorbereiteten Datenbanken\\
  ~~via Update ge"andert werden.\\
  ~~'full' Blacklist ist ein kompletter Update.\\
  SQUID\_GUARD\_BLACKLIST\_\#\_OPTION=''\\
  ~~Option 'strip1' oder ''.\\
  ~~Diese Option dient dazu unkonventionelle Blacklists zu behandeln.\\
  ~~Ist die Option 'strip1' gesetzt, so wird die Blacklist-Datei direkt\\
  ~~im Verzeichnis /usr/local/squidGuard/db/blacklists entpackt.\\
  ~~Der erste Pfad aller Dateinamen wird entfernt.\\

  Die Konfigurationsdatei enth"alt f"unf Beispiele f"ur Blacklist-URLS.
  Diese f"unf Beispiele wurden getestet.

  ACHTUNG: SQUID\_GUARD\_BLACKLIST\_5\_URL\\
  ist eine kommerziell verwaltete Blacklist.\\
  Bitte \link{http://urlblacklist.com/}{http://urlblacklist.com/} besuchen, um die Blacklist
  ggf. zu bestellen.
}

\config{SQUID\_GUARD\_CRON}
{SQUID\_GUARD\_CRON}
{SQUIDGUARDCRON}
{
    Verwende cron f"ur den Blacklist-Update 'yes' oder 'no'.

Default: \emph{no}

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_GUARD\_CRON\_SCHEDULE}
{SQUID\_GUARD\_CRON\_SCHEDULE}
{SQUIDGUARDCRONSCHEDULE}
{
Cron Konfigurationszeile.

Default: \emph{15 0 * * *}\\
Blacklist-Update jeden Tag um 00:15.}

\config{SQUID\_GUARD\_BUILD\_DB}
{SQUID\_GUARD\_BUILD\_DB}
{SQUIDGUARDBUILDDB}
{"Uber 'yes' bzw. 'no' wird festgelegt, ob aus
den Domainslists und Urllists des squidGuard
sog. Datenbanken erstellt werden sollen.
Diese vorbereiteten Datenbanken lassen die
squidGuard Prozesse erheblich schneller starten.

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_GUARD\_TR\_LOG}
{SQUID\_GUARD\_TR\_LOG}
{SQUIDGUARDTRLOG}
{Legt fest, ob f"ur die sog. Translation,
d.h. f"ur die F"alle, in denen der Zugriff
auf Seiten im Internet verboten wurden,
Eintr"age in Logfiles geschrieben werden
'yes' oder nicht 'no'.\\
F"ur jede Klasse wird ein Extralogfile angelegt.
F"ur die Klasse drugs hei"st das Logfile
/usr/local/squidGuard/log/tr\_drugs.log.
Die Logfiles werden zur"uckgesetzt, wenn
squidGuard gestartet wird.

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_GUARD\_ANONYMOUS\_LOGGING}
{SQUID\_GUARD\_ANONYMOUS\_LOGGING}
{SQUIDGUARDANONYMOUSLOGGING}
{
Wenn SQUID\_GUARD\_ANONYMOUS\_LOGGING auf 'yes' gesetzt wird,
so werden die Benutzernamen von Benutzern, die eine gesperrte
Seite aufrufen nicht mehr geloggt.
Steht SQUID\_GUARD\_ANONYMOUS\_LOGGING auf 'no', so werden die
entsprechenden Benutzernamen im Logfile mitgeschrieben.

Default: \emph{yes}}

\config{SQUID\_GUARD\_REDIRECT\_CHILDREN}
{SQUID\_GUARD\_REDIRECT\_CHILDREN}
{SQUIDGUARDREDIRECTCHILDREN}
{Anzahl der sog. redirect children.
Der Default 4 sollte im Normalfall ausreichend sein.

G"ultige Werte: \emph{Zahl}}

\config{SQUID\_GUARD\_CLASS}
{SQUID\_GUARD\_CLASS}
{SQUIDGUARDCLASS}
{squidGuard kennt eine Reihe von sog. Klassen,
die blockiert werden k"onnen.\\
Die Angabe 'all' blockiert alle Klassen.
Es kann auch eine Liste von Klassen angegeben
werden.
Wird z.B. SQUID\_GUARD\_CLASS mit 'drugs porn'
besetzt, so werden Zugriffe der Klasse
'drugs' (Drogen) und 'porn' (Pornographie) blockiert.\\
In der Klasse 'individual' k"onnen individuelle
Angaben gemacht werden.\\
Dazu m"ussen in den Dateien domains, expressions
bzw. urls entsprechende Zeilen eingetragen werden.
Zum Format und Inhalt dieser Dateien siehe
\link{http://www.squidguard.org/}{http://www.squidguard.org/}.
Nach "Anderung einer der Dateien muss der
Squid neu gestartet werden.

Einige Blacklists benutzen Unterverzeichnisse.
Die zugeh"origen Klassen werden in der Form dir\_subdir benannt,
also z.B. recreation\_travel f"ur das Verzeichniss recreation/travel.
Es ist m"oglich die Klasse 'recreation' zu nutzen, um alle Unter-
verzeichnisse mit ihren entsprechenden Klassen zu aktivieren.

Klassenangaben mit einem f"uhrenden Minuszeichen (z.B. -hobby)
f"uhren dazu, dass diese Klassen (bzw. Verzeicnisse/Unterverzeichnisse)
nicht genutzt werden.
Beispiel: 'all -hobby' aktiviert alle Klassen au"ser Hobby.

Default: \emph{all}}

\config{SQUID\_GUARD\_SPECS}
{SQUID\_GUARD\_SPECS}
{SQUIDGUARDSPECS}
{squidGuard kennt folgende Spezifikationstypen:
 domains urls expressions.
In den zugeh"origen Dateien gleichen
Namens stehen die entsprechenden Angaben.
Wird SQUID\_GUARD\_SPECS='all' gesetzt,
so werden alle Dateien genutzt.
Eine Angabe SQUID\_GUARD\_SPECS='domains'
f"uhrt dazu, dass nur die Datei domains
der jeweiligen Klasse genutzt wird.

Default: \emph{all}}

\config{SQUID\_GUARD\_AUTOCONFIG}
{SQUID\_GUARD\_AUTOCONFIG}
{SQUIDGUARDAUTOCONFIG}
{"Uber 'yes' bzw. 'no' wird gesteuert,
ob die Konfigurationsdatei mit dem
Namen /usr/local/squidGuard/squidGuard.conf
generiert wird. Bei Angabe von 'yes'
wird die Datei unter Zuhilfenahme der
Angaben bei SQUID\_GUARD\_CLASS und
SQUID\_GUARD\_SPECS generiert.
Bei Angabe von 'no' wird erwartet, dass
eine korrekte Konfigurationsdatei existiert.\\
Bitte diese Angabe nur "andern, wenn
Sie "uber entsprechende Kenntnisse verf"ugen.

G"ultige Werte: \emph{yes,no}}

\config{SQUID\_GUARD\_CGIAUTOCONFIG}
{SQUID\_GUARD\_CGIAUTOCONFIG}
{SQUIDGUARDCGIAUTOCONFIG}
{"Uber 'yes' bzw. 'no' wird gesteuert,
ob das entsprechende CGI-Skript
squidGuard-simple.cgi in das Verzeichnis
/var/www/cgi-bin kopiert und vorher
entsprechend angepasst wird.
"Uber dieses CGI-Skript wird die Fehlerseite erzeugt,
 wenn die Originalseite blockiert wird.
Bitte diese Angabe nur "andern, wenn
Sie "uber entsprechende Kenntnisse verf"ugen.

G"ultige Werte: \emph{yes,no}}

\end{description}

\section{Einstellungen beim "Ubersetzen der Paketes}

Mit folgenden Einstellungen wurden die einzelnen Programme "ubersetzt:

\begin{description}
  \item[squid]
  \begin{verbatim}

          --sysconfdir=/etc/squid
          --datarootdir=/usr/share/squid
          --libexecdir=/usr/lib/squid
          --prefix=/usr
          --enable-delay-pools
          --enable-snmp
          --enable-ssl
          --disable-loadable-modules
          --enable-linux-netfilter
          --disable-arch-native
          --with-large-files
          --enable-auth-basic
  \end{verbatim}
  \item[chpasswd.cgi]
  \begin{verbatim}

          --sysconfdir=/etc/squid
          --prefix=/etc/squid
          --enable-cgidir=/var/www/cgi-bin
  \end{verbatim}
  \item[squidGuard]
  \begin{verbatim}

          --with-sg-config=/usr/squidGuard/squidGuard.conf
          --with-sg-logdir=/usr/squidGuard/log
          --with-sg-dbhome=/usr/squidGuard/db
  \end{verbatim}

\end{description}

