Martins Hamsterseite


This page in english


Inhalt


Was ist Hamster?

Hamster ist ein Open-Source News- und Mailserver für 32-Bit Windows.
Nähere Informationen findest du auf folgenden Seiten:


Hamster und SSL/TLS

Seit Version 2.0.0.0 unterstützt der Hamster SSL (Secure Socket Layer) und TLS (Transport Layer Security). Diese Protokolle ermöglichen es, TCP-Verbindungen zwischen zwei verschiedenen Rechnern zu verschlüsseln.

Wie man SSL/TLS bei allen älteren Hamster-Versionen mit Skripten verwenden kann, beschreibt die Anleitung Hamster und Stunnel.

Danke an Thomas Liesner für die Übernahme des Codes in die Classic-Version!

Die Implementierung von SSL/TLS verwendet die hervorragenden Verschlüsselungsbibliotheken des OpenSSL-Projekts. Folgende Verfahren werden zur Zeit unterstützt:

Um die SSL-Verschlüsselung im Hamster zu aktivieren, brauchst du die OpenSSL Kryptographiebibliotheken. Du kannst sie entweder selbst auf Deinem Computer kompilieren (eine kurze Anleitung findest du weiter unten) oder als Binärdateien von dieser Seite herunterladen.

Die beiden Dateien libssl32.dll und libeay32.dll solltest du in das Hamster-Hauptverzeichnis veschieben. Wenn du dann den Hamster neu startest, sollte im Protokoll die Meldung "OpenSSL Bibliotheken erfolgreich initialisiert" auftauchen.

Um die SSL-Funktionen zu konfigurieren, mußt Du im Menu "Einstellungen" die erweiterten Einstellungen aktivieren. Jetzt kannst Du unter folgenden Punkten die Feinabstimmung vornehmen:

Die Hamster-SSL-FAQ von Philipp Wendler enthält ausführliche Informationen über die Verwendung von SSL mit Hamster, die entsprechenden Skriptbefehle und den Nutzen von Zertifikaten.


Windows Binaries aus dem OpenSSL-Toolkit

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).

An dieser Stelle möchte ich nochmals alle, denen Sicherheit wichtig ist, dazu ermuntern, OpenSSL auf dem eigenen Rechner zu kompilieren. Denn Binärdateien aus fremder Hand könnten kompromittiert sein, ohne daß dies auffallen würde. Veränderungen am Quelltext sind dagegen leicht nachweisbar. Mit meiner Kurzanleitung zum Kompilieren von OpenSSL ist die Prozedur auch nicht schwierig.
Für diejenigen, die immer noch nicht überzeugt sind, stelle ich hier einige Binaries aus dem OpenSSL Toolkit für die Windows-Plattform bereit. Alle Dateien sind mit meinem PGP-Schlüssel signiert.

  Datei: Signatur:
OpenSSL 0.9.7m DLLs (550 kB) openssl-0.9.7m_dlls.zip openssl-0.9.7m_dlls.zip.asc
openssl.exe 0.9.7m mit Doku (671 kB) openssl-0.9.7m_exe.zip openssl-0.9.7m_exe.zip.asc

 
  Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m:
 
  o FIPS 1.1.1 module linking.
  o Various ciphersuite selection fixes.
 

Vor dem Download bitte unbedingt rechtliche Hinweise zu OpenSSL lesen!


OpenSSL unter Windows kompilieren

Im folgenden beschreibe ich kurz, wie ich das OpenSSL-Toolkit unter Windows kompiliert habe. Selbstverständlich ist dies nicht die einzig mögliche Methode, man kann insbesondere auch den MSVC-Compiler oder GCC unter Cygwin verwenden.

Benötigte Software:

Zuerst muß Perl und MinGW installiert werden. Das Paket MSYS wird nicht benötigt.

Nach dem Entpacken des OpenSSL-Quellcodes ist das meiste schon geschafft: das Kompilieren geht ganz von selbst - man sollte nur bei älteren Rechnern genügend Zeit mitbringen. Am besten verschiebst du dazu die Datei mingw32.bat aus dem ms-Unterordner in das OpenSSL-Hauptverzeichnis und startet das Programm durch einen Doppelklick. Weiterführende Information zur Installation von OpenSSL enthält die Datei Install.w32. Nach dem Kompilieren finden sich die OpenSSL-DLLs im Hauptverzeichnis, die übrigen Programme im Unterverzeichnis out.

Um die Dokumentation zu OpenSSL ins HTML-Format zu konvertieren, kannst du mein Perl-Skript verwenden. Das Skript einfach ins doc Unterverzeichnis legen und ausführen. Im Ordner doc/apps befindet sich die Dokumentation zu openssl.exe, in doc/crypto und doc/ssl werden die Funktionen der Kryptographie-Bibliotheken beschrieben.

Kompilieren mit Visual C++: Gehe so vor wie in Install.w32 beschrieben. Zur Verwendung mit Hamster Classic muß die Datei ssleay32.dll in libssl32.dll umbenannt werden.

Hamster Playground und SSL: Der hervorragende Hamster Playground von Jürgen Haible basiert auf den Indy Komponenten. Leider benötigt Indy modifizierte präparierte OpenSSL-Bibliotheken, für die ich keine Unterstützung anbiete. Nähere Informationen sollten auf der Indy SSL Seite zu finden sein.


Verschiedene Hilfsmittel

Erstellung von SSL/TLS-Zertifikaten

Das folgende Paket erleichtert die Erstellung eines selbstsignierten X.509-Zertifikats, wie es für den Betrieb der lokalen Hamster-Server mit TLS benötigt wird. Hierzu benötigst Du außerdem das Programm openssl.exe (siehe auch Binaries aus dem OpenSSL-Toolkit).
Anwendung: Kopiere die beiden Dateien aus dem Ziparchiv in das Verzeichnis von openssl.exe, führe MakeCert.bat aus und folge den Anweisungen. Der öffentliche Schlüssel (= Zertifikat) und ein dazugehöriger privater Schlüssel werden dann in der Datei certificate.pem gespeichert.
Download: MakeCert.zip (2 KB)

Außerdem findest du hier ein kleines Skript in der Hamster-Skriptsprache, das dazu dient, Zertifikate in "Rohformat" in eine andere Form (mit dem sog. Hash als Dateinamen) umzuwandeln. Dieses Format wird benötigt, wenn ein Verzeichnis als Zertifikatsspeicher verwendet wird (im Hamster unter Einstellungen - Grundeinstellungen - SSL). Zusätzlich wird eine Textdatei erzeugt, die alle Informationen über das Zertifikat in lesbarer Form enthält. Das Skript braucht vor der Verwendung nicht bearbeitet zu werden, alle benötigten Informationen werden direkt abgefragt und gespeichert.
Download: SSL-Cert-Hash.hsc (7 KB)

Protokollaushandlung für "openssl s_client"

Wenn du mit dem Programm openssl s_client eine Verbindung zu einem Server herstellen willst, der NNTP, SMTP, POP3 oder IMAP über TLS auf dem Standardport unterstützt [nach RFC 2487, 2595 bzw. 2595], so wird die SSL/TLS-Verschlüsselung erst auf Verlangen der Clientsoftware gestartet. Leider unterstützt openssl diese Protokollaushandlung bis jetzt noch nicht vollständig. Daher stelle ich hier einen einfachen Wrapper zur Verfügung, der dies übernimmt.
Download: SSL_Tool.zip (186 kB)

Editor für die Paßwortdatei von Hamster

Mit diesem Programm kannst du die verschlüsselten Benutzernamen und Paßwörter von Hamster anzeigen und bearbeiten. Außerdem ist es möglich, die "Verschlüsselung-Basis" zu ändern, ohne alle Paßwörter zu verlieren. Bitte vorher in der Hamsterhilfe den Abschnitt "Menü: Einstellungen / Benutzerverwaltung / Passworte" lesen.
Download: HamPassEdit.zip (219 kB)


Valid HTML 4.01! Valid CSS!