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

\chapter{Das Antispam\_razor-Paket}

    Dieses Paket ist als Zusatzpaket zum Antispam-Paket zu verstehen.

    {\textbf{Hinweis:}} Es gilt zu beachten, dass die im Paket verwendete 'Vipul's
        Razor software' unter den Bedingungen der Artistic-Lizenz ver"offentlicht
        wurde. Weitergehende Informationen "uber die Software und auch deren
        Nutzungsbedingungen sind auf der folgenden Webseite nachzulesen:
        \url{http://razor.sourceforge.net/}


\section{Die Einleitung}

    Vipul's Razor ist ein verteiltes, gemeinschaftliches, Spam-Erkennungs-
    und Filternetzwerk. Durch Mitwirkung von Anwendern stellt Razor einen
    verteilten und kontinuierlich aktualisierten Spam-Katalog zur Verf"ugung,
    den E-Mail-Programme f"ur die Spam-Filterung verwenden k"onnen. Die
    Erkennung wird durch statistische und zuf"allige Signaturen, die das
    effektive Erkennen von sich ver"andernden Spam-Inhalten erm"oglichen,
    realisiert. Meldungen von Anwendern werden nach deren Reputation und
    basierend auf "ubereinstimmende Meldung und Widerrufe beurteilt. Das
    Ergebnis dieser Auswertungen flie"st in die Vertrauensbewertung, und
    in die Generierung individueller Signaturen f"ur die Anwender ein.


\section{Die Funktionen}

    Das Antispam\_razor-Paket besteht aus folgender Komponente:

    \begin{itemize}
        \item razor-agent - ist ein Perl-Programm welches Spam-Bewertung durchf"uhrt.\\
        (\url{http://razor.sourceforge.net/})
    \end{itemize}


\section{Die Voraussetzungen}

    Dieses Paket ben"otigt zur korrekten Funktion installierte Mail- und
    Antispam-Paket.


\section{Die Installation}

    Das Antispam\_razor-Paket wird "uber das Setup-Men"u installiert. Wird
    eine "altere Paketversion vorgefunden, so wird diese deinstalliert bevor
    die neuen Programmdateien installiert werden. Nach dem Installieren der
    Programmdateien wird direkt die Konfiguration des Antispam- und
    Antispam\_razor-Paket aktualisiert und der Antispam-Prozess neu gestartet.


\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm wird "uber 'Mail Services' -> 'Goto mail modules'
    angesprochen und ist wie folgt aufgebaut:

    \begin{itemize}
        \item Antispam-Razor administration
        \begin{itemize}
            \item View documentation: Anzeigen der Dokumentation
            \item Edit configuration: Bearbeiten der Konfiguration
            \item Advanced configuration file handling: Konfigurationen verwalten
            \item Force Spam reporting: Spam an den Razor Nominierungsserver senden
            \item View log file: Anzeigen der Logdatei
            \item Return: Untermen"u verlassen
        \end{itemize}
        \item Return: Untermen"u verlassen
    \end{itemize}

    Die Men"upunkte d"urften selbsterkl"arend sein, da sie keinerlei weitere
    Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter
    eingegangen.


\section{Die "Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt 'Edit configuration' ge"andert
    werden.  Standardm"a"sig wird der Editor aufgerufen, der in der Environment-
    Konfiguration "uber die Variable 'EDITOR' festgelegt wurde. Nachdem der
    Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden
    soll. Wird dies best"atigt, werden "uber ein Skript die Anpassungen umgehend
    wirksam gemacht.


\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind
    folgende Parameter vorhanden; wer sie von Hand editieren will findet
    sie unter /etc/config.d/antispam\_razor.


\section{Die Parameter}

\begin{description}
    \config{START\_RAZOR}{START\_RAZOR}{STARTRAZOR}
        F"ur die Aktivierung des Antispam\_razor-Programms muss dieser
        Parameter lediglich auf den Wert 'yes' gestellt werden. Die
        Einstellung 'no' deaktiviert das Antispam\_razor-Programm.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{START\_RAZOR='no'}

    \config{RAZOR\_REPORT\_SPAM}{RAZOR\_REPORT\_SPAM}{RAZORREPORTSPAM}
        Falls man selbst Spam-Nachrichten an den Razor Nominierungsserver
        melden will, muss dieser Parameter auf den Wert 'yes' und
        zus"atzlich die Parameter \jump{RAZORREPORTUSER}{RAZOR\_REPORT\_USER}
        und \jump{RAZORREPORTPASS}{RAZOR\_REPORT\_PASS} entsprechend
        angepasst werden. Danach wird automatisiert eine Registrierung
        am Razor Nominierungsserver durchgef"uhrt.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{RAZOR\_REPORT\_SPAM='no'}

    \config{RAZOR\_REPORT\_LEARN\_FROM\_SPAM}{RAZOR\_REPORT\_LEARN\_FROM\_SPAM}{RAZORREPORTLEARNFROMSPAM}
        Falls die bis dato nicht erkannten Spam-Nachrichten auch zum
        Training des SpamAssassin-Filters genutzt werden sollen, so
        muss dieser Parameter auf den Wert 'yes' gesetzt werden. Wird
        der Wert 'no' gesetzt, so wird der Spam-Filter nicht trainiert.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{RAZOR\_REPORT\_LEARN\_FROM\_SPAM='no'}

    \config{RAZOR\_REPORT\_USER}{RAZOR\_REPORT\_USER}{RAZORREPORTUSER}
        Wurde der Parameter \jump{RAZORREPORTSPAM}{RAZOR\_REPORT\_SPAM='yes'}
        gesetzt, so muss "uber diesen Parameter der Anwendername angegeben
        werden, mit dem sich das Reportprogramm beim Razor Nominierungsserver
        authentifizieren sollen. Dies erlaubt es dem Razor Nominierungsserver
        zu verfolgen wie viele Spamnachrichten ein Anwender gemeldet bzw.
        widerrufen hat.
        Je mehr Spamnachrichten ein Anwender korrekt meldet bzw.
        widerruft, desto h"oher ist sein Ansehen und um so mehr Einfluss
        hat ein einzelner Anwender auf die Razor-Datenbank. Dies hei"st
        jedoch auch, dass das Ansehen eines Anwenders sinkt, je mehr
        Spamnachrichten f"alschlicherweise gemeldet bzw. widerrufen
        werden.
        Die Anwender werden dazu angehalten, ihre E-Mail-Adresse zur
        Authentifizierung zu verwenden.

        G"ultige Werte: Anwendername ("ublicherweise eine E-Mail-Adresse)

        Beispiel: \texttt{RAZOR\_REPORT\_USER='user@yournet.com'}

    \config{RAZOR\_REPORT\_PASS}{RAZOR\_REPORT\_PASS}{RAZORREPORTPASS}
        Wurde der Parameter \jump{RAZORREPORTSPAM}{RAZOR\_REPORT\_SPAM='yes'}
        gesetzt, so muss "uber diesen Parameter das Kennwort angegeben werden,
        mit dem sich die Programme beim Razor Nominierungsserver authentifizieren
        sollen. Standardm"a"sig wird dieser Parameter bei der Erstinstallation
        mit einem Zufallskennwort vorbelegt, welches nat"urlich auch angepasst
        werden kann.

        G"ultige Werte: Kennwort

        Standardeinstellung: \texttt{RAZOR\_REPORT\_PASS=$'<Zufallskennwort>'$}
\end{description}

    Die folgenden Parameter geben die Anzahl und Namen der Mailboxen an, deren
    Inhalt an den Razor Nominierungsserver gemeldet werden sollen.\\\\
    \achtung{Hier sollten auf 'keinen' Fall Mailbox-Dateien angegeben werden
    in denen bereits automatisiert erkannte Spam abgelegt wurde. Schlie"slich
    sollen nur bisher 'nicht' erkannte Spamnachrichten an den Server geschickt
    werden. Auch wird nach Ablauf eines Reportlaufs der Inhalt dieses Ordners
    automatisiert gel"oscht, um das wiederholte Melden von gleichen Nachrichten
    zu minimieren, was dazu f"uhrt dass die Mailbox nicht f"ur das Trainieren
    des Bayes-Filters im antispam-Paket genutzt werden kann.}

\begin{description}
     \config{RAZOR\_REPORT\_MAILBOX\_FILE\_N}{RAZOR\_REPORT\_MAILBOX\_FILE\_N}{RAZORREPORTMAILBOXFILEN}
        Dieser Parameter gibt die Anzahl der Mailboxen an, deren Inhalt an
        den Razor Nominierungsserver gemeldet werden soll.\\

        G"ultige Werte: Zahl

        Beispiel: \texttt{RAZOR\_REPORT\_MAILBOX\_FILE\_N='1'}

    \config{RAZOR\_REPORT\_MAILBOX\_FILE\_x\_ACTIVE}{RAZOR\_REPORT\_MAILBOX\_FILE\_x\_ACTIVE}{RAZORREPORTMAILBOXFILExACTIVE}
        Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird der zugeh"orige
        Datensatz aktiviert, 'no' deaktiviert ihn.

        G"ultige Werte: yes oder no

        Beispiel: \texttt{RAZOR\_REPORT\_MAILBOX\_FILE\_x\_ACTIVE='no'}

    \config{RAZOR\_REPORT\_MAILBOX\_FILE\_x\_NAME}{RAZOR\_REPORT\_MAILBOX\_FILE\_x\_NAME}{RAZORREPORTMAILBOXFILExNAME}
        Dieser Parameter legt den Namen und Pfad der Mailbox fest dessen
        Inhalt an den Razor Nominierungsserver gemeldet werden sollen.

        G"ultige Werte: Postfachname inkl. Pfad

        Beispiel: \texttt{RAZOR\_REPORT\_MAILBOX\_FILE\_1\_NAME='/home/imappublic/Spam-Razor-Mail'}

    \config{RAZOR\_REPORT\_CRON\_SCHEDULE}{RAZOR\_REPORT\_CRON\_SCHEDULE}{RAZORREPORTCRONSCHEDULE}
        Hier wird festgelegt zu welchem Zeitpunkt bzw. in welchem
        Intervall der Inhalt der angegebenen Spam-Mailbox-Datei an
        den Razor Nominierungsserver "ubermittelt werden soll.
        Die f"unf Teilparameter haben dabei folgende Bedeutung:\\

        1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.\\

        D.h. bei Verwendung der Standardeinstellung wird jeden Tag
        um 04:10h der Vorgang angesto"sen. Wer N"aheres "uber die
        verwendete Befehlssyntax erfahren m"ochte, sollte "uber eine
        Internet-Suchmaschine nach 'man' und 'crontab' suchen.

        G"ultige Werte: Crontab-spezifischer Parametereintrag

        Standardeinstellung: \texttt{RAZOR\_REPORT\_CRON\_SCHEDULE='10 4 * * *'}
\end{description}

\section{Die Firewall-Konfiguration erweitern}
        Wird das antispam\_razor-Paket hinter einer Firewall betrieben, so muss sicher
        gestellt werden, dass ausgehende Verbindungen "uber Port 2703/tcp zugelassen
        sind. "Uber diesen Port kommuniziert der Prozess mit den Razor Nominierungsservern.  

\section{Spam halbautomatisch melden}

        Will man dazu beitragen, dass die Erkennungsrate von Spam verbessert wird,
        so kann man die Reportfunktion durch das Setzen der \jump{RAZORREPORTSPAM}{RAZOR\_REPORT\_SPAM='yes'}
        und \jump{RAZORREPORTUSER}{RAZOR\_REPORT\_USER} aktivieren.
        Zus"atzlich legt man z.B. "Uber seinen Mail-Client einen "offentlichen IMAP-Ordner
        'Spam-Razor-Mail' an und tr"agt den vollst"andigen Pfad zu diesem Mailordner in den
        Parameter \jump{RAZORREPORTMAILBOXFILExNAME}{RAZOR\_REPORT\_MAILBOX\_FILE\_x\_NAME} ein.
        \\
        Nun kann man jede nicht erkannte Spam-Nachricht manuell in diesen "offentlichen
        Mailordner verschieben, sodass diese dann automatisch, in den "uber den Parameter
        \jump{RAZORREPORTCRONSCHEDULE}{RAZOR\_REPORT\_CRON\_SCHEDULE} eingestellten
        Intervallen, an den Razor Nominierungsserver gemeldet werden.
