So sichern Sie Roundcube unter Ubuntu 16.04

Einführung

Da E-Mails ein so wichtiger Bestandteil der modernen Kommunikation sind, ist es wichtig, die Sicherheit für alle Teile Ihrer E-Mail-Pipeline zu berücksichtigen. Roundcube ist ein Webmail-Client mit starken Sicherheitsfunktionen und umfangreichen Anpassungsoptionen aus seinem Plugin-Repository. In diesem Artikel wird erläutert, wie Sie eine grundlegende, vorhandene Roundcube-Installation weiter sichern können.

Wenn Sie bei der Konfiguration Ihrer https://www.digitalocean.com/community/tutorials/how-to-install-your-own-webmail-client-with-roundcube-on-ubuntu-16-04#imap-settings SSL verwendet haben [IMAP] und https://www.digitalocean.com/community/tutorials/installationsanleitung für Ihren eigenen Webmail-Client mit Roundcube-on-Ubuntu-16-04#stmp-settings[STMP] Wenn Sie die Einstellungen in Roundcubes Ersteinrichtung vorgenommen haben, ist die Verbindung von Roundcube zu Ihrem E-Mail-Server bereits gesichert. Die Verbindung von Ihrem Browser zu Roundcube wird jedoch nicht hergestellt, und Ihre E-Mails selbst werden im Klartext gesendet. Ihr Roundcube-Konto selbst ist ebenfalls nur durch ein Passwort geschützt.

In diesem Lernprogramm sichern Sie diese drei Teile der E-Mail-Pipeline durch:

  • Hinzufügen von SSL zu Apache mit Let’s Encrypt.

  • Hinzufügen von two-factor authentication zu Ihrem Roundcube-Konto mit einem Roundcube Plugin.

  • Verwenden von GPG zum Signieren und Verschlüsseln von E-Mails mit einem Roundcube-Plugin.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

Weitere Informationen zur Multi-Faktor-Authentifizierung finden Sie in der Einführung zu https://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-16 -04 [Einrichten der Multi-Faktor-Authentifizierung für SSH unter Ubuntu 16.04]. Weitere Informationen zu GPG finden Sie unter How To Use GPG to Encrypt and Sign Messages.

Schritt 1 - Hinzufügen von SSL zum sicheren Zugriff auf Roundcube

Wenn Sie Ihre Roundcube-Installation mit dem Domain-Namen Ihres Servers in Ihrem Browser besuchen, werden Sie derzeit über HTTP anstelle von HTTPS verbunden. Um die gesamte Kommunikationskette von Ihrem Browser zu Ihrem E-Mail-Server vollständig abzusichern, sollte für diese Verbindung zu Roundcube SSL / TLS verwendet werden.

Eine einfache Möglichkeit hierfür ist die Verwendung kostenloser SSL-Zertifikate von Let’s Encrypt. Roundcube wird oben auf dem LAMP-Stapel eingerichtet, sodass Sie https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16 folgen können -04 [So sichern Sie Apache mit Let’s Encrypt unter Ubuntu 16.04] für eine detaillierte Anleitung zur Einrichtung. Hier ist eine kurze Zusammenfassung:

Installieren Sie zuerst den Let’s Encrypt Client.

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-apache

Holen Sie sich dann Ihr SSL-Zertifikat und überprüfen Sie, ob die automatische Verlängerung funktioniert. Ersetzen Sie "+" durch Ihre Domain und verwenden Sie zusätzliche " -d +" - Flags für Subdomains oder Aliase.

sudo certbot --apache -d
sudo certbot renew --dry-run

Wenn Sie während der interaktiven Konfiguration (nachdem Sie "+ sudo certbot --apache -d +" eingegeben haben) gefragt werden, ob Sie ein einfaches oder sicheres Setup wünschen, stellen Sie sicher, dass Sie "* secure *" auswählen. Dadurch wird sichergestellt, dass der gesamte HTTP-Datenverkehr an HTTPS umgeleitet wird.

Sie haben jetzt eine sichere Verbindung von Ihrem Computer zu Ihrer Roundcube-Installation, die wiederum eine sichere Verbindung zu Ihrem IMAP / SMTP-E-Mail-Server herstellt. Es gibt noch ein paar weitere Möglichkeiten, um die Sicherheit Ihrer E-Mail-Kommunikation zu verbessern, für die jedoch Plugins erforderlich sind.

Im nächsten Schritt wird mithilfe des Plugins die Sicherheit eines Roundcube-Kontos durch Hinzufügen einer Zwei-Faktor-Authentifizierung erhöht.

Schritt 2 - Installieren des Two-Factor-Authentifizierungs-Plugins

Während das Roundcube-Projekt an der GUI-Funktionalität für Plugins arbeitet, müssen derzeit alle Plugins über die Befehlszeile installiert werden. Hierfür gibt es zwei Möglichkeiten:

  • * Manuelle Installation *, die erste verfügbare Methode. Dazu muss das Plugin heruntergeladen werden (normalerweise eine "+ .zip " -Datei oder ein Git-Repository) und anschließend durch Ändern der Roundcube-Konfigurationsdatei " / var / www / roundcube / config / config.inc.ph +" aktiviert werden .

  • * Halbautomatische Installation *, die modernere Methode. Dies antwortet auf den PHP-Paketmanager Composer, um die Plugins zu installieren, die Sie in der Konfigurationsdatei angegeben haben.

Einige Plugins empfehlen eine Installationsmethode gegenüber der anderen. Das 2FA-Plug-in funktioniert mit beiden Methoden und gibt keine Empfehlung ab. In diesem Fall verwenden wir die halbautomatische Installation, da sie benutzerfreundlich ist.

Composer wird von einer "+ composer.json" -Datei gesteuert, die in "+ $ R_HOME / composer.json" gespeichert ist. So aktivieren Sie Composer durch Erstellen dieser Konfigurationsdatei Roundcube wird mit einer Basiskonfigurationsdatei mit dem Namen "+ composer.json-dist +" geliefert. Wir beginnen also mit einer Kopie davon.

cd /var/www/roundcube
sudo cp composer.json-dist composer.json

In dieser Standarddatei sind bereits einige Kern-Plugins angegeben. Führen Sie als Nächstes Composer aus, um diese zu installieren und die Erstkonfiguration abzuschließen. Stellen Sie sicher, dass Sie Composer aus dem Verzeichnis + / var / www / roundcube + ausführen.

sudo composer install

Um das 2FA-Plugin hinzuzufügen, müssen Sie es der Datei + composer.json hinzufügen.

Die Syntax einer Plugin-Zeile lautet "" / ":" "". Für das 2FA-Plugin lautet die hinzuzufügende Zeile also "" / ":" "".

Öffnen Sie die Datei "+ composer.json" zum Bearbeiten mit "+ nano +" oder Ihrem bevorzugten Texteditor.

sudo nano /var/www/roundcube/composer.json

Suchen Sie nach dem require-Block, der mit " require "beginnt: {. Jede Zeile zwischen den geschweiften Klammern (+ {+ und +} +) ist eine Plugin-Zeile. Alle Plugin-Zeilen im Block sollten mit Ausnahme des allerletzten Eintrags mit einem Komma enden.

Fügen Sie die 2FA-Plug-in-Zeile am Ende des Blocks hinzu und achten Sie darauf, dass Sie der vorhergehenden Zeile ein Komma hinzufügen.

/var/www/roundcube/composer.json

. . .
"require": {
   "php": ">=5.4.0",
   "pear/pear-core-minimal": "~1.10.1",
   "pear/net_socket": "~1.2.1",
   "pear/auth_sasl": "~1.1.0",
   "pear/net_idna2": "~0.2.0",
   "pear/mail_mime": "~1.10.0",
   "pear/net_smtp": "~1.7.1",
   "pear/crypt_gpg": "~1.6.2",
   "pear/net_sieve": "~1.4.0",
   "roundcube/plugin-installer": "~0.1.6",
   "endroid/qr-code": "~1.6.5"

},
. . .

Speichern und schließen Sie die Datei, und führen Sie dann Composer aus, um die Paketinformationen zu aktualisieren und das neue Plugin zu installieren.

sudo composer update

Wenn Composer fragt, ob Sie das Plugin aktivieren möchten, geben Sie "+ Y +" ein, um fortzufahren. Sobald es installiert ist, melden Sie sich bei Roundcube ab und wieder an, um das Plugin zu aktivieren.

Nachdem das Plugin installiert ist, müssen wir es verwenden, um 2FA über die Benutzeroberfläche von Roundcube auf unserem Konto einzurichten.

Schritt 3 - Aktivieren von 2FA in Ihrem Konto

Melden Sie sich zunächst bei Roundcube mit Ihrer Server-IP-Adresse oder Domain in Ihrem Browser an. Klicken Sie auf die Schaltfläche * Einstellungen * in der rechten Ecke und dann auf * 2-Faktor-Authentifizierung * in der linken Navigation.

image: https://assets.digitalocean.com/articles/roundcube-security/QlcwvKy.png [Einstellungsseite für die Roundcube-2-Faktor-Authentifizierung]

Aktivieren Sie im Abschnitt mit den Optionen für die 2-Faktor-Authentifizierung das Kontrollkästchen * Aktivieren * und klicken Sie dann auf * Geheimnis erstellen *.

Klicken Sie anschließend auf * Wiederherstellungscodes anzeigen * und bewahren Sie die vier angezeigten Wiederherstellungscodes an einem sicheren Ort auf. Mit diesen Codes melden Sie sich an, wenn Sie kein Token generieren können (z. B. wenn Sie Ihr Telefon verlieren).

Klicken Sie abschließend auf die Schaltfläche * Speichern *.

Dadurch wird 2FA aktiviert, aber jetzt müssen Sie das Geheimnis zu Ihrer TOTP-kompatiblen App wie Google Authenticator hinzufügen. Klicken Sie auf die Schaltfläche * QR-Code anzeigen *, die nach dem Speichern Ihres Geheimnisses angezeigt wurde, und scannen Sie den Code mit Ihrer App. Wenn der Scan nicht funktioniert, können Sie das Geheimnis auch manuell eingeben.

image: https://assets.digitalocean.com/articles/roundcube-security/vrraKDc.png [Roundcube-2-Faktor-Authentifizierungs-QR-Code]

Nachdem Ihre App Codes generiert hat, stellen Sie sicher, dass sie funktioniert, indem Sie einen Code in das Feld neben der Schaltfläche * Code überprüfen * eingeben und dann auf diese Schaltfläche klicken. Wenn dies funktioniert, wird ein Fenster mit der Aufschrift "* Code OK " angezeigt. Klicken Sie unten auf die Schaltfläche " OK *", um das Fenster zu schließen. Wenn ein Problem auftritt, fügen Sie das Geheimnis erneut zu Ihrer App hinzu.

Der letzte Schritt zum Sichern Ihrer digitalen Kommunikation ist das Verschlüsseln der tatsächlichen Nachrichten, die Sie per E-Mail senden. Wir werden dies im nächsten Schritt mit dem Plugin "Enigma" tun.

Schritt 4 - Aktivieren von verschlüsselter E-Mail mit GPG

Das Plugin Enigma unterstützt das Anzeigen und Senden signierter, verschlüsselter E-Mails. Wenn Sie https://www.digitalocean.com/community/tutorials/how-to-install-your-own-webmail-client-with-roundcube-on-ubuntu-16-04#plugins gefolgt sind, haben Sie das vorherige Roundcube-Installations-Tutorial wiederholt ], dann ist das Enigma-Plugin in Ihrer Installation bereits aktiviert. Andernfalls können Sie das Enigma-Plugin wie in Schritt 2 für das 2FA-Plugin hinzufügen.

Zu Beginn müssen einige Standardverschlüsselungsoptionen aktiviert werden. Melden Sie sich bei Roundcube an und klicken Sie auf die Schaltfläche * Einstellungen * in der oberen rechten Ecke. Klicken Sie dort auf * Einstellungen * und dann auf * Verschlüsselung * unter der Liste * Abschnitt *.

image: https://assets.digitalocean.com/articles/roundcube-security/kNwyhTr.png [Verschlüsselungseinstellungen festlegen]

Es gibt 7 Verschlüsselungseinstellungen in der Liste * Hauptoptionen *. Wenn Sie alle 7 aktivieren, erhalten Sie die meiste Sicherheit, was jedoch mit einer gewissen Beeinträchtigung der Benutzerfreundlichkeit einhergeht.

Hier finden Sie alle Optionen im Menü "Hauptoptionen" und unsere Vorschläge (erforderlich, empfohlen oder optional). Sie sollten jedoch die Einstellungen auswählen, die Ihrem Anwendungsfall entsprechen:

  • * Nachrichtenverschlüsselung und -signierung aktivieren *: Erforderlich. Auf diese Weise können Sie Nachrichten signieren und verschlüsseln.

  • * Überprüfung der Nachrichtensignaturen aktivieren * Empfohlen. Wenn Ihnen jemand eine signierte E-Mail sendet, versucht Roundcube, den Absender anhand seiner E-Mail-Adresse und seines Schlüssels zu überprüfen.

  • * Nachrichtenentschlüsselung aktivieren *: Empfohlen. Wenn Ihnen jemand eine verschlüsselte E-Mail sendet, verwendet Roundcube Ihre GPG-Schlüssel zum Entschlüsseln.

  • * Standardmäßig alle Nachrichten signieren *: Optional. Dies signiert jede E-Mail, die Sie senden, auch wenn die Person, an die Sie sie senden, keinen GPG-Support hat. Wenn dies nicht der Fall ist, wird am unteren Rand der E-Mail ein Punkt mit Zeichen angezeigt. Sie können diese Option auch beim Verfassen einer E-Mail umschalten.

  • * Alle Nachrichten standardmäßig verschlüsseln *: Optional. Dadurch werden alle von Ihnen gesendeten E-Mails verschlüsselt, vorausgesetzt, Sie haben den öffentlichen Schlüssel der Person, die Sie per E-Mail senden. Sie können diese Option auch beim Verfassen einer E-Mail umschalten.

  • * Meinen öffentlichen PGP-Schlüssel standardmäßig anhängen *: Optional. Dadurch wird Ihr öffentlicher GPG-Schlüssel als Anhang in jede E-Mail eingefügt, die Sie senden. Wenn der Empfänger GPG-Unterstützung hat, sieht sein E-Mail-Client den Schlüssel und installiert ihn in seinem Schlüsselbund, damit er Ihnen dann verschlüsselte E-Mails senden kann.

  • * Passwörter für privaten Schlüssel behalten für * legt fest, wie lange Roundcube die Passphrase speichert, die Sie beim Verschlüsseln oder Entschlüsseln von E-Mails eingeben, damit Sie sie nicht jedes Mal eingeben müssen.

Nachdem Sie Ihre Einstellungen ausgewählt haben, klicken Sie auf "Speichern". Klicken Sie anschließend in der Spalte "Einstellungen" auf "Identitäten".

Die Standardeinstellung ist eine einzelne Identität mit der E-Mail-Adresse, mit der Sie sich angemeldet haben. Klicken Sie auf die E-Mail und füllen Sie das Feld * Anzeigename * aus. Sie können optional die anderen Felder ausfüllen, z. B. * Organisation *. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche * Speichern *.

Der letzte Teil der Konfiguration ist das Erstellen eines Schlüssels. Klicken Sie in der linken Navigation auf * PGP Keys *.

Wenn Sie bereits einen GPG-Schlüssel haben, können Sie oben rechts auf * Importieren * klicken und Ihren geheimen Schlüssel importieren. Klicken Sie dann erneut darauf, um Ihren öffentlichen Schlüssel zu importieren.

Wenn Sie keinen GPG-Schlüssel haben oder einen neuen erstellen möchten, klicken Sie auf das Pluszeichen (* + *) unten in der Spalte * PGP-Schlüssel *. Wählen Sie von dort aus die Identität aus, für die Sie den Schlüssel erstellen möchten, und wählen Sie die Schlüsselstärke aus (je größer der Schlüssel, desto schwieriger ist es, die Verschlüsselung aufzubrechen, desto langsamer ist es jedoch, die Verschlüsselung durchzuführen). Schließlich wählen Sie ein sicheres Passwort und klicken Sie auf * Speichern *.

Wenn Sie eine bestätigte signierte E-Mail erhalten, zeigt Roundcube oben eine grüne * bestätigte Signatur von * an:

Wenn Sie eine verschlüsselte E-Mail empfangen und entschlüsseln, zeigt Roundcube eine * Nachricht entschlüsselt * an:

Um die GPG-Verschlüsselung in Ihren Nachrichten zu verwenden, erstellen Sie eine neue E-Mail, indem Sie oben links auf das Symbol * Mail * und dann auf * Compose * klicken. Klicken Sie auf das Symbol * Verschlüsselung *, um die verfügbaren Verschlüsselungsoptionen anzuzeigen. Diese hängen davon ab, was Sie in den Verschlüsselungseinstellungen ausgewählt haben. Wenn Sie unseren Empfehlungen gefolgt sind, sollte * Diese Nachricht digital signieren *, * Diese Nachricht verschlüsseln * und * Meinen öffentlichen Schlüssel anhängen * angezeigt werden. Wenn Sie eine E-Mail senden, überprüfen Sie die gewünschten Verschlüsselungsoptionen.

Fazit

Durch Hinzufügen von SSL, Zwei-Faktor-Authentifizierung und GPG-Verschlüsselung ist Ihre E-Mail-Pipeline erheblich sicherer. Von hier aus können Sie Roundcube weiter erweitern und anpassen, indem Sie das Roundcube Plugin Repository durchsuchen.