Kapitel 14. PGP

In OTRS können ausgehende Emails mit Hilfe von PGP signiert oder verschlüsselt werden. Ebenfalls ist es möglich verschlüsselte Nachrichten zu entschlüsseln. Die Ver- und Entschlüsselung mit PGP wird mit Hilfe des GPL-Werkzeugs GnuPG vorgenommen. Zur Einrichtung sind die folgenden Schritte notwendig:

  1. Erste Aufgabe ist es, das entsprechende GnuPG-Software-Paket zu installieren, welches bei den meisten Linux-Distributionen mitgeliefert wird. Dies sollte mit Hilfe des jeweiligen Paketmanagers leicht durchgeführt werden können.

  2. Im zweiten Schritt muss das soeben installierte GnuPG zur Benutzung für OTRS konfiguriert werden. Dies geschieht auf der Kommandozeilenebene durch einen Aufruf von GnuPG, der die notwendigen Verzeichnisse anlegt und den privaten Schlüssel erzeugt. Der Aufruf muss als otrs-Benutzer (bzw. als der Benutzer, mit dessen Rechten das Ticket-System läuft) durchgeführt werden.

    linux:~# su otrs
    linux:/root$ cd
    linux:~$ pwd
    /opt/otrs
    linux:~$ gpg --gen-key
    gpg (GnuPG) 1.4.2; Copyright (C) 2005 Free Software Foundation, Inc.
    This program comes with ABSOLUTELY NO WARRANTY.
    This is free software, and you are welcome to redistribute it
    under certain conditions. See the file COPYING for details.
    
    gpg: directory `/opt/otrs/.gnupg' created
    gpg: new configuration file `/opt/otrs/.gnupg/gpg.conf' created
    gpg: WARNING: options in `/opt/otrs/.gnupg/gpg.conf' are not yet active during t
    his run
    gpg: keyring `/opt/otrs/.gnupg/secring.gpg' created
    gpg: keyring `/opt/otrs/.gnupg/pubring.gpg' created
    Please select what kind of key you want:
       (1) DSA and Elgamal (default)
       (2) DSA (sign only)
       (5) RSA (sign only)
    Your selection? 1
    DSA keypair will have 1024 bits.
    ELG-E keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048)
    Requested keysize is 2048 bits
    Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
    Key is valid for? (0)
    Key does not expire at all
    Is this correct? (y/N) y
    
    You need a user ID to identify your key; the software constructs the user ID
    from the Real Name, Comment and Email Address in this form:
        "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
    
    Real name: Ticket System
    Email address: support@example.com
    Comment: Private PGP Key for the ticket system with address support@example.com
    You selected this USER-ID:
    "Ticket System (Private PGP Key for the ticket system with address support@examp
    le.com) <support@example.com>"
    
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
    You need a Passphrase to protect your secret key.
    
    Passphrase: secret
    Repeat passphrase: secret
    
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.
    ++++++++++.+++++++++++++++++++++++++....+++++.+++++...+++++++++++++++++++++++++.
    +++++++++++++++++++++++++.+++++.+++++.+++++++++++++++++++++++++>++++++++++>+++++
    .......>+++++<+++++................................+++++
    
    Not enough random bytes available.  Please do some other work to give
    the OS a chance to collect more entropy! (Need 280 more bytes)
    
    ++++++++++.+++++..++++++++++..+++++....++++++++++++++++++++.+++++++++++++++.++++
    ++++++++++++++++++++++++++.++++++++++.+++++++++++++++.++++++++++.+++++++++++++++
    ..+++++>.+++++....>+++++........................................................
    ...........................................................>+++++<+++++.........
    .............+++++^^^
    gpg: /opt/otrs/.gnupg/trustdb.gpg: trustdb created
    gpg: key 7245A970 marked as ultimately trusted
    public and secret key created and signed.
    
    gpg: checking the trustdb
    gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    pub   1024D/7245A970 2006-02-03
          Key fingerprint = 2ED5 BC36 D2B6 B055 7EE1  5833 1D7B F967 7245 A970
    uid                  Ticket System (Private pgp key for ticket system with addre
    ss support@example.com) <support@example.com>
    sub   2048g/52B97069 2006-02-03
    
    linux:~$
    

    Wie man sehen kann, genügt es bei den meisten Fragen die Vorgabe mit <EINGABE> zu bestätigen. Lediglich die Angabe zur ``Person'' des Schlüsselbesitzers ist zu vervollständigen bzw. zum Ende hin ist an der mit (passphrase) gekennzeichneten Stelle die Passphrase für den zu generierenden Schlüssel einzugeben. Hier ist zu beachten, dass die Passphrase den üblichen Anforderungen für ein hinreichend sicheres Passwort genügt.

  3. Im nächsten Schritt muss OTRS auf die Verwendung von PGP vorbereitet werden. Suchen Sie in SysConfig nach ``PGP'' und wähen Sie danach dan die Untergruppe Crypt::PGP aus.

    In der nun angezeigten Maske sollte zum einen " PGP aktiviert werden (die erste Option). Danach sollte überprüft werden, ob der voreingestellte Pfad zum Programm gpg der tatsächlichen Installation entspricht.

    Die nächste Einstellung ( PGP::Options ) muss ggf. modifiziert werden. Es handelt sich um die Parameter, mit denen OTRS das Programm gpg aufruft. Hier ist insbesondere die Option für die Lage des GnuPG-Konfigurationsverzeichnisses des OTRS-Benutzers otrs wichtig. Im Beispiel ist dies: /opt/otrs/.gnupg). Dieses Verzeichnis wurde im Schritt 1 automatisch von GnuPG angelegt.

    über die letzte Option können die Schlüssel-Werte-Paare für die ID(s) und Passphrase(n) der eigenen PGP-Schlüssel dem Ticket System bekannt gemacht werden. Noch einmal genauer: da andere Kommunikationspartner an das Ticket-System (oder besser: an den Mail-Eingang des Systems Emails mit dessen öffentlichen Schlüssel verschlüsselt schicken, kann OTRSmit dem/n in dieser Option angegebenen privaten Schlüssel(n) solchermaßen verschlüsselte Mails entschlüsseln.

    Woher bekommt man die ID des eigenen Schlüssels? Die ID steckt schon in der Ausgabe der Schlüsselgenerierung (siehe Schritt 1). Man kann die ID aber auch als Benutzer otrs jederzeit über die Kommandozeile ermitteln:

    linux:~# su otrs
    linux:/root$ cd
    linux:~$ pwd
    /opt/otrs
    linux:~$ gpg --list-keys
    /opt/otrs/.gnupg/pubring.gpg
    ----------------------------
    pub   1024D/7245A970 2006-02-03
    uid                  Ticket System (Private pgp key for ticket system with
    address support@example.com) <support@example.com>
    sub   2048g/52B97069 2006-02-03
    
    linux:~$
        

    Die ID des Schlüssels befindet sich in der Zeile, die mit sub beginnt und ist eine 8-stellige hexadezimale Kennung (im Beispiel lautet sie "52B97069". Die für die Option geforderte Passphrase ist dieselbe, die beim Schlüsselgenerieren in Schritt 1 verwendet wurde.

    Nach Eingabe all dieser Angaben können sie mit dem Aktualisieren-Button gespeichert werden. OTRS ist jetzt für das Empfangen mit PGP verschlüsselter Emails konfiguriert.

  4. Der letzte Schritt ist der Import des öffentlichen PGP-Schlüssels eines Kunden. Dadurch wird sicher gestellt, dass aus OTRS heraus verschlüsselte Mails an den jeweiligen Kunden gesendet werden können. Es bestehen zwei Möglichkeiten für den Import.

    Zum einem können über das Modul zur Verwaltung der Kunden die öffentlichen PGP-Schlüssel beim anlegen/bearbeiten des jeweiligen Kunden im System hinterlegt werden.

    Die zweite Möglichkeit bietet das System in den PGP-Einstellungen innerhalb des Admin-Bereiches. In dieser Konfigurationsmaske ist im rechten Teil eine Liste der bereits dem System zur Verfügung stehenden öffentlichen Schlüssel zu sehen. Im Regelfall sollte nach der obigen Einrichtung hier schon der öffentliche Schlüssel des Ticket-Systems selbst zu sehen sein. Im linken Teil besteht neben der Suche die Möglichkeit, neue Schlüssel als Schlüsseldatei ins System zu laden. Nach dem Laden eines neuen Schlüssels wird dieser in der Liste auf der rechten Seite angezeigt, und gleichzeitig erhält man oberhalb der Maske eine Statusmeldung, die über das Laden des Schlüssels informiert.

    Sowohl für das Hinzufügen eines Schlüssels über die Kunden- als auch über die PGP-Verwaltung gilt, dass die Dateien mit den Schlüsseln PGP/GnuPG-konforme Schlüssel sein müssen. I.d.R. wird der Schlüssel als ``ASCII armored key''-Datei vorliegen, welches problemlos von OTRS verarbeitet werden kann.