Copyright © 2000 G-N-U GmbH, Essen
Copyright © 2000 OpenIT GmbH, Düsseldorf
Dieses Buch ist die Dokumentation zu GEAM, einer Software zur automatischen Ver- und Entschlüsselung der gesamten E-Mail eines LANs. Diese Dokumentation bezieht sich auf die Version 0.8.3 von GEAM.
Bitte richten Sie Fragen, Fehlerberichte oder Anregungen zu diesem
Handbuch per E-Mail an <bug-geam@gnupg.de>
.
Dieses Handbuch ist urheberrechtlich geschützt. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version.
GEAM ist eine Software, die es ermöglicht, die gesamte E-Mail eines LANs automatisch zu ver- und entschlüsseln. Als Verschlüsselungsverfahren wird das OpenPGP-Protokoll benutzt; eine Erweiterung auf andere Verfahren ist jedoch auch möglich.
Es ist möglich, GEAM in verschiedenen Konfigurationen zu betreiben; nachfolgend werden einige Beispiele gegeben. Zu beachten ist, daß GEAM kein eigenständiger MTA ist und der Hilfe eines vollständigen MTA zum Routen bedarf. Es ist zur Zeit noch nicht möglich, GEAM ohne Verwendung des SMTP-Protokolls zu betreiben. Insbesondere gibt es noch keinen vollständigen Ersatz für /usr/lib/sendmail, welches unter Vermeidung von SMTP Nachrichten direkt an den MTA ausliefert, d.h. Sie können auf dem Rechner, auf dem GEAM installiert ist, einige Mail-Programme nicht benutzen.
Kombinationen der einzelnen Konfigurationen sind auch möglich; insbesondere können durch geeignete Konfiguration Rechner eingespart werden. Es ist möglich, mehrere MTAs sowie GEAM auf demselben Rechner zu betreiben. Der Konfigurationsaufwand ist aber wesentlich höher und kann hier nicht beschrieben werden.
Hier verwenden Sie einen Rechner und einen MTA. Der MTA wird so konfiguriert, daß er nicht mehr auf Port 25, sondern einem beliebigen anderen Port auf Verbindungen wartet (im weiteren nehmen wir einmal 8025 an).
GEAM nimmt in dieser Konfiguration jegliche Mail an und leitet sie direkt an den MTA weiter. Hierzu sind dann ---inner-host-port und ---outer-host-port auf 8025 zu setzen.
Hier verwenden Sie zwei Rechner und einen MTA. Der MTA bedarf keiner besonderen Konfiguration und befindet sich auf Rechner A. GEAM wird auf Rechner B installiert, der die SMTP-Verbindung nach außen durchführt.
GEAM nimmt in dieser Konfiguration jegliche Mail von außen an und leitet sie an den MTA auf Rechner A weiter, wobei sie hier eventuell bereits enschlüsselt ist. Für ausgehende Mail sendet der MTA auf Rechner A die Mail (die dann bereits die richtige Empfängeradresse hat) an GEAM auf Rechner B, welcher die Mail dann verschlüsselt und per SMTP direkt an den Empfänger weiterleitet.
Diese Konfiguration hat den Nachteil, daß ein fehlgeschlagener Verbindungsversuch von GEAM an den Rechner A zurückgemeldet wird, der die Mail dann irgendwann einmal wieder sendet, wobei sie wieder neu verschlüsselt werden muß. Desweiteren ist auf der Eingangsseite eine Filterung unerwünschter Mail nicht möglich.
Hier verwenden Sie zwei Rechner und einen MTA. GEAM befindet sich auf Rechner A und leitet alle Nachrichten an den MTA auf Rechner B weiter, der dann das Routing durchführt und die Nachrichten per SMTP versendet.
GEAM nimmt in dieser Konfiguration jegliche Mail von innen an, führt die Verschlüsselung durch und leitet die verschlüsselten Nachrichten an den MTA weiter. Eingehende Nachrichten von außen werden von dem MTA entgegengenommen und an GEAM weitergeleitet, der sie dann direkt im lokalen Netz zustellt.
Der Vorteil dieser Konfiguration ist die höhere Sicherheit gegen Fehlkonfiguration; der Nachteil besteht darin, daß GEAM die Nachrichten in das interne Netz weiterleiten muß, dies aber oft nicht möglich ist, da auf den lokalen Rechnern im internen Netzwerk normalerweise kein MTA läuft, der die SMTP-Verbindung annimmt.
Hier verwenden Sie drei Rechner und zwei MTA. Ein MTA ist für die Mail im lokalen Netz verantwortlich und routet alle anderen Nachrichten an GEAM auf einem anderen Rechner. GEAM wiederum führt die Verschlüsselung durch und leitet die Nachrichten an den MTA, der für die Außenverbindung zuständig ist, weiter. Eingehende Nachrichten werden entspechend behandelt.
Dies ist eine sehr symmetrische Konfiguration und daher am einfachsten zu verstehen, konfigurieren und zu warten. Ein weiterer Vorteil ist die gute Abschottung des internen Netzwerks, in dem nicht verschlüsselt wird, von dem Außennetzwerk, dessen Nachrichten immer über GEAM geleitet werden.
Die Installation von GEAM bedarf einer Reihe Schritte und verlangt nach der Änderung der Systemkonfiguration. Hier wird im einzelnen beschrieben, wie die Installation abläuft.
Da durch eine fehlerhafte Installation schwer erkennbare Sicherheitslücken entstehen können, sollte die Installation und Konfiguration von GEAM (wie von aller sicherheitsrelevanten Software) unbedingt durch kundiges Fachpersonal vorgenommen werden.
Neben den üblichen Entwicklungswerkzeugen verlangt GEAM die Installation einiger weiterer Tools. Falls Sie diese Tools noch nicht installiert haben, wird der Installationsprozess dies später reklamieren. Um zu testen, ob die notwendigen Tools alle vorhanden sind, sollten Sie am einfachsten direkt mit der Übersetzung von GEAM beginnen, um dann im Fehlerfall die anderen Tools zu installieren.
Pth ist eine portable Userland-Treads-Implementierung. Sie finden sie auf jedem GNU-Spiegel. Benötigt wird die Version 1.2.1 oder höher.
Zur Installation gehen Sie folgendermaßen vor:
hermes:~$ zcat pth-1.2.1.tar.gz | tar xf - hermes:~$ cd pth-1.2.1 hermes:~/pth-1.2.1$ ./configureHier erfolgt jetzt eine etwas längere Überprüfung des Systems.
hermes:~/pth-1.2.1$ makeDie Bibliothek wird erzeugt. Wenn dies fehlerfrei erfolgte, installieren Sie die Bibliothek:
hermes:~/pth-1.2.1$ su -c 'make -s install'Sie sollten jetzt dem dynamischen Linker Ihres Systems noch die Existenz dieser Bibliothek beibringen:
hermes:~/pth-1.2.1$ su -c ldconfigDie Installation von Pth ist damit beendet.
Sie benötigen eine Version von GnuPG ab 1.0.2. Das GnuPG-Handbuch beschreibt die Installation. Lesen Sie bitte dort nach.
Zur Installation gehen Sie folgendermaßen vor:
hermes:~$ zcat geam-1.0.0.tar.gz | tar xf - hermes:~$ cd geam-1.0.0 hermes:~/geam-1.0.0$ ./configureHier erfolgt jetzt eine etwas längere Überprüfung des Systems.
hermes:~/geam-1.0.0$ makeDie eigentliche Übersetzung wird durchgeführt. Danach sollten Sie unbedingt die Tests durchführen:
hermes:~/geam-1.0.0$ make checkWenn die Tests erfolgreich verlaufen sind, können Sie mit der Installation fortfahren:
hermes:~/pth-1.2.1$ su -c 'make -s install'Die Installation von GEAM ist damit beendet.
Nachdem die GEAM-Software nun auf Ihrem Rechner installiert ist, kommt die wichtige Aufgabe der Konfiguration an die Reihe. Bitte machen Sie sich voher unbedingt mit dem Funktionsprinzip von GEAM vertraut.
GEAM verwendet eine Reihe von Konfigurationsdateien, um alle Aspkete der Verschlüsselung zu kontrollieren. Diese Dateien befinden sich im Verzeichnis /etc/geam oder dem Verzeichnis, welches implizit durch die Option ---config bestimmt wurde. Die Namen dieser Dateien können durch Optionen geändert werden und müssen deswegen nicht unbedingt in dem Konfigurationsverzeichnis liegen.
Die Dateien sind im einzelnen:
Allgemeine Optionen und Einstellungen, wie sie auch auf der Kommandozeile mitgegeben werden können. Diese Datei wird lediglich beim Programmstart eingelesen und kann die Namen der anderen Konfigurationsdateien ändern.
Dies ist eine Liste mit den Informationen zu Schlüsseln, die für einzelen Adressaten zum Verschlüsseln verwendet werden sollen.
Dies ist eine Liste von Schlüsseln, die benutzt werden sollen, um eingehende Nachrichten zu entschlüsseln
Dies ist die allgemeine Kontrolldatei, die bestimmt, an welche Adressaten verschlüsselt und für welche Empfänger entschlüsselt werden soll.
Neben diesen Dateien wird noch ein Verzeichnis /etc/geam/gpg als home directory für GnuPG erwartet. Dort befinden sich die Schlüsselringe mit den öffentlichen und geheimen Schlüsseln.
Nähere Informationen zu den einzelnen Dateien finden Sie auch in den Kommentaren der mitgelieferten Beispieldateien.
Im laufenden Betrieb mit bekannten Kommunikationspartnern ist für den Administrator wenig zu tun. Seine einzige Aufgabe besteht dann darin, die Log-Dateien gelegentlich zu kontrollieren. Dies kann aber auch durch automatische Werkzeuge (z.B. AWACS) geschehen.
Wenn allerdings E-Mail an Empfänger gesendet werden soll, die noch nicht konfiguriert sind, sind die Konfigurationsdateien zu erweitern sowie der Schlüssel des neuen Empfängers in den Schlüsselring aufzunehmen.
Sollte der Verdacht bestehen, daß Außenstehende Zugriff auf den Rechner mit der installierten GEAM-Software hatten, so ist zu überprüfen, ob die geheimen Schlüssel kompromittiert wurden. In diesem Fall sollten diese Schlüssel sofort ausgetauscht werden, um größeren Schaden zu vermeiden.
GEAM ist lediglich als Hilfsmittel gedacht, um den E-Mail-Verkehr zwischen zwei lokalen Netzwerken zu verschlüsseln. Damit ist es nicht mehr möglich, außerhalb dieser LANs E-Mail mitzulesen. Die Sicherheit eines LANs hängt allerdings von vielen weiteren Punkten ab, und eine externe E-Mail-Verschlüsselung ist nur ein erster Schritt zu einem sicheren Netz.
Grundsätzlich ist eine Verschlüsselung, die auf der gesamten Strecke zwischen Absender und Empfänger besteht, der „Notlösung“ GEAM vorzuziehen. Der wesentliche Vorteil von GEAM ist seine Transparenz und die einfache Installation, da GEAM lediglich auf einem Rechner zu installieren ist.
Weiterhin bestehen Gefahren bei fehlerhafter Konfiguration der MTA-Software, des LANs oder GEAM selbst. Beispielsweise kann ein fehlerhaft konfigurierter MTA dazu führen, daß Nachrichen, die bereits durch GEAM entschlüsselt wurden, wieder aus dem LAN hinausgelangen. Ein Angreifer könnte sich dies zunutze machen, um abgefangene Nachrichten entschlüsseln zu lassen. Wenn allerdings derartige Schwachstellen vorhanden sind, kann davon ausgegangen werden, daß weitere externe Angriffspunkte im Netz existieren.
Sie sollten auf jeden Fall fachkundigen Rat einholen und eventuell die Konfiguration und Sicherheitsüberprüfung durch eine Fachfirma vornehmen lassen.
Diese Referenzseiten sind identisch mit den entsprechenden Abschnitten der Unix-man page und deswegen auch nur auf englisch vorhanden.
Long options can be put in the configuration file (default: /etc/geam/geamd.conf). Do not write the two dashes, but simply the name of the option and any required arguments. Lines with a hash as the first non-white-space character are ignored. Commands may be put in this file too, but that does not make sense.
geamd recognizes these options:
Use the host named name as a smarthost to forward all messages which either get decrypted or were not generated locally. Default is localhost.
Use the host named name as a smarthost to forward all messages which are intended for the outside. Default is localhost.
Connect to the inner host on port n. Default is 25.
Connect to the outer host on port n. Default is 25.
Increase logging verbosity. This may be changed at runtime by using one of the signals.
Be more quiet.
Set debugging flags. All flags are or-ed and flags may be given in C syntax (e.g. 0x0042).
Enable general debugging info.
Show status info of the encryption program.
Show the SMTP commands.
Do not run as a daemon.
Read options from file and do not try to read them from the default config file which is This option is ignored if used inside the config file.
Use file as the alias file. If it is not an absolute filename, it is relative to the configuration directory. Default is aliases.
Use file as the encrypt file. If it is not an absolute filename, it is relative to the configuration directory. Default is encrypt.
Use file as the decrypt file. If it is not an absolute filename, it is relative to the configuration directory. Default is decrypt.
Use file as the log file. If you use a single dash, log output is written to stderr without timestamps. Default is /var/log/geam/geamd.
Use file as the gpg binary. The default is installation dependent.
Use directory for the gpg ---homedir option. If it is not an absolute path, it is relative to the configuration directory. Default is gpg.
Listen on port n instead of the default port 8025.
After setting up some basic things, change the user ID of the process to name. This will only be done when the process has been started under the effective user ID 0. If this option is not given, it is used implictly with name set to mail.
After setting up some basic things, change the group ID of the process to name. This will only be done when the process has been started under the effective user ID 0. If this option is not given, it is used implictly with name set to mail.
Set the the number of Received:
mail headers
which are used to decide whether the mail is looping.
Default is 30.
The default configuration file.
The default configuration directory which is deducted from the configuration file and used as the base for all relative paths.
The default GnuPG home directory.
The default log file.
Reread the configuration tables. Note that this does not include the configuration file which is only read on startup.
Increase the logging verbosity. Increasing this to level 3 will also enable SMTP debugging.
Decrease the logging verbosity. Decreasing it from level 3 will also disable SMTP debugging.
The correct way to terminate this daemon.
Software, die sich um das Versenden und Empfangen von E-Mail kümmert. Bekannte Programme dieser Art sind: Sendmail, Exim, Postfix.
Siehe auch: Message User Agent (MUA).
Software, die zum Lesen und Schreiben von E-Mail benutzt wird. Bekannte Programme dieser Art sind: Mutt, Pine, GNUS.
Siehe auch: Message Transfer Agent (MTA).
Protokoll, das im Internet zum Transport von E-Mail benutzt wird. Definiert ist es im RFC821.