b.i.t.®
 beratungsgesellschaft für informations-technologie mbh


Installation/Integration auf einem Gentoo-GNU/Linux-System

Voraussetzungen

Für diese Beschreibung wird ein Gentoo-GNU/Linux-System mit folgender Software vorausgesetzt:

  • Als MTA wird Postfix benutzt.
  • Als IMAP-Server wird Cyrus benutzt.
  • GnuPG muss installiert sein (nur für die Schlüsselgenerierung).
  • GCC muss mit GCJ-Unterstützung installiert sein.

Installation von pgp-decrypt

Das Programm pgp-decrypt wird in das Verzeichnis /usr/local/bin kopiert.

Integration von pgp-decrypt

Das Shell-Skript deliver-cyrus wird in das Verzeichnis /usr/local/bin kopiert. Das Skript deliver-cyrus ruft pgp-decrypt auf und führt eine Fehlerbehandlung durch. Sie können das Skript entsprechend Ihren Bedürfnissen anpassen.

/usr/local/bin/deliver-cyrus:
#! /bin/bash

set -e -u

BASE="$(basename "${0}" .sh)"
FALLBACK='fallback@example.org'

test ${#} -eq 3 || {
  echo "usage: ${BASE} sender mailbox recipient" >&2; exit 1;
}

SENDER="${1}"
MAILBOX="${2}"
RECIPIENT="${3}"

DELIVER="/usr/lib/cyrus/deliver"

DIR=""

trap 'test -z "${DIR}" || rm -r "${DIR}"' EXIT

DIR="$(mktemp -d "/tmp/${BASE}.${$}.XXXXXX")"

FILE="${DIR}/message"

DECR="${DIR}/decrypted"

cat >>"${FILE}"
if /usr/local/bin/pgp-decrypt <"${FILE}" >"${DECR}"
then
  FILE="${DECR}"
fi

"${DELIVER}" -r "${SENDER}" -m "${MAILBOX}" "${RECIPIENT}" < "${FILE}" || {
  RC="${?}"
  if test "${RC}" = 65
  then
    "${DELIVER}" -r "${SENDER}" "${FALLBACK}" < "${FILE}"
  else
    exit "${RC}"
  fi
}

Postfix muss so konfiguriert werden, dass deliver-cyrus aufgerufen wird. Zum Beispiel sollte die Postfix-Konfigurationsdatei master.cf dann folgende Zeilen enthalten:

/etc/postfix/master.cf:
deliver   unix  -       n       n       -       -       pipe
    flags=R user=cyrus argv=/usr/local/bin/deliver-cyrus ${sender} ${extension} ${user}

Installation des privaten Schlüssels eines Mitarbeiters

Liegt der private Schlüssel eines Mitarbeiter zum Entschlüsseln z.B. in der Datei encrypt.pgp, so kann dieser durch einen User mit root-Rechten auf dem ServerX mit folgendem Befehl installiert werden:

ssh root@ServerX "su - cyrus -s /bin/sh -c 'gpg --import'" < encrypt.pgp

Der Schlüssel darf nicht durch ein Passwort geschützt sein.

Generierung von Schlüsseln

Schlüssel können entsprechend den Anleitungen, die im Internet zu finden sind, generiert werden (zum Beispiel unter Windows mit dem Programm GPF4WIN).

Meist wird in diesen Anleitungen nur die Generierung eines Schlüsselpaars beschrieben, welches zum Verschlüsseln und Signieren dient. Wir empfehlen eine einmalig etwas aufwendigere Vorgehensweise: Es wird ein Master-Schlüssel erzeugt, den nur der Mitarbeiter kennt. Danach werden weitere Schlüssel für das Verschlüsseln von Firmen-Mails (1) und dem Signieren (2) und mit dem Master-Schlüssel signiert. Nur der private Schlüssel für Firmen-Mails (1) wird auf dem Firmen-Server installiert. Der private Schlüssel zum Signieren (2) und ggf. weitere Schlüssel zum Verschlüsseln privater E-Mails bleiben geheim. So kann auch kein Administrator im Namen eines Mitarbeiters signieren oder private E-Mails entschlüsseln. Ein weiterer Vorteil ist: Für die einzelnen Schlüssel können unterschiedliche Gültigkeitszeiträume definiert und einzelne Schlüssel einfacher ausgetauscht werden. Ein ausführliche Anleitung zu dieser Vorgehensweise finden Sie unter dem Stichwort Subkeys auf dem Wiki von Debian (auf Englisch).

weiter


Copyright © 2003-2018 b.i.t.® beratungsgesellschaft für informations-technologie mbh