open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

SOGo mit Let’s Encrypt absichern – HTTPS leicht gemacht

Autor
SOGo mit Let’s Encrypt absichern – HTTPS leicht gemacht

Ein sicherer Zugriff auf E-Mail, Kalender und Kontakte ist für jede Organisation Pflicht. Besonders bei webbasierten Lösungen wie SOGo spielt HTTPS-Verschlüsselung eine zentrale Rolle, um vertrauliche Daten vor unbefugtem Zugriff zu schützen.

Mit Let’s Encrypt steht eine kostenlose und automatisierte Lösung zur Verfügung, um SSL/TLS-Zertifikate schnell und unkompliziert einzurichten. In diesem Artikel zeigen wir dir, wie du SOGo mit Let’s Encrypt absicherst, die Erneuerung automatisierst und gängige Stolperfallen vermeidest.

1. Warum HTTPS für SOGo unverzichtbar ist

SOGo bietet E-Mail-, Kalender- und Kontaktfunktionen über den Browser und mobile Endgeräte. Ohne HTTPS werden Anmeldedaten, Mails und Kalenderdaten im Klartext übertragen – ein gefundenes Fressen für Angreifer.

Mit einer HTTPS-Verbindung:

  • werden alle Daten zwischen Client und Server verschlüsselt,
  • schützt du Benutzerpasswörter vor Abgriff,
  • erfüllst du die Anforderungen der DSGVO,
  • und vermeidest Browserwarnungen („Verbindung nicht sicher“).

Let’s Encrypt ist dabei die einfachste Möglichkeit, ein gültiges Zertifikat kostenlos und automatisiert zu erhalten.

2. Voraussetzungen

Bevor du loslegst, stelle sicher, dass:

  • dein SOGo-Server über eine öffentliche Domain erreichbar ist (z. B. mail.deinunternehmen.de),
  • Port 80 (HTTP) und 443 (HTTPS) freigegeben sind,
  • du Root- oder Sudo-Rechte hast,
  • Nginx oder Apache als Reverse Proxy für SOGo läuft.

3. Let’s Encrypt installieren (Certbot)

Let’s Encrypt arbeitet mit dem Tool Certbot, das die Zertifikate automatisch beantragt, installiert und erneuert.

Installation unter Debian/Ubuntu:

sudo apt update
sudo apt install certbot python3-certbot-nginx -y

Oder für Apache:

sudo apt install certbot python3-certbot-apache -y

4. Nginx-Konfiguration für SOGo

Wenn du Nginx als Proxy nutzt, findest du die Konfiguration unter:

/etc/nginx/sites-available/sogo.conf

Beispiel:

server {
    listen 80;
    server_name mail.deinunternehmen.de;

    location / {
        proxy_pass http://127.0.0.1:20000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Nun Zertifikat anfordern:

sudo certbot --nginx -d mail.deinunternehmen.de

Certbot erkennt automatisch die Domain, konfiguriert HTTPS und fügt die Zertifikatsdateien ein.

Anschließend wird dein Server automatisch auf Port 443 mit SSL lauschen.

5. Apache-Konfiguration (Alternative)

Für Apache sieht das ähnlich aus:

/etc/apache2/sites-available/sogo.conf

Beispiel:

<VirtualHost *:80>
    ServerName mail.deinunternehmen.de
    ProxyPass / http://127.0.0.1:20000/
    ProxyPassReverse / http://127.0.0.1:20000/
</VirtualHost>

Zertifikat aktivieren:

sudo certbot --apache -d mail.deinunternehmen.de

Certbot fügt automatisch die SSL-Zeilen hinzu und aktiviert HTTPS.

6. Automatische Zertifikatserneuerung

Let’s Encrypt-Zertifikate sind 90 Tage gültig, werden aber über einen Cronjob automatisch verlängert. Prüfe den Status:

sudo certbot renew --dry-run

Wenn alles korrekt ist, läuft die Erneuerung künftig automatisch – meist über einen Systemd-Timer (/lib/systemd/system/certbot.timer).

7. Optional: Zertifikate manuell in SOGo einbinden

Falls du keinen Proxy nutzt, kannst du SOGo direkt mit Zertifikaten betreiben. Bearbeite in /etc/sogo/sogo.conf folgende Einträge:

{
  "WOWatchDogRequestTimeout": 60,
  "WOPort": 20000,
  "SOGoProfileURL": "postgresql://sogo:passwort@127.0.0.1:5432/sogo/sogo_user_profile",
  "SOGoMailDomain": "deinunternehmen.de",
  "WOServer": "https://mail.deinunternehmen.de:20000",
  "WOCookieDomain": "mail.deinunternehmen.de",
  "WOWorkersCount": 3,
  "SOGoSSL": YES,
  "SOGoSSLCAFile": "/etc/letsencrypt/live/mail.deinunternehmen.de/fullchain.pem",
  "SOGoSSLCertificate": "/etc/letsencrypt/live/mail.deinunternehmen.de/cert.pem",
  "SOGoSSLKeyFile": "/etc/letsencrypt/live/mail.deinunternehmen.de/privkey.pem"
}

Danach:

sudo systemctl restart sogo

8. Troubleshooting: Häufige Fehler

Problem Ursache Lösung
„Challenge failed“ Port 80 blockiert oder Weiterleitung aktiv Port 80 öffnen, keine Umleitung auf HTTPS erzwingen
Zertifikat abgelaufen Cronjob oder Timer deaktiviert sudo certbot renew manuell ausführen
Zugriff verweigert Falsche Berechtigungen auf Zertifikatsdateien Rechte prüfen: chmod 640 /etc/letsencrypt/live/...
Browserwarnung Falsche Domain im Zertifikat Domain mit certbot certificates prüfen und ggf. neu ausstellen

9. HTTPS in wenigen Minuten

Mit Let’s Encrypt wird die Absicherung von SOGo zum Kinderspiel:

  • Keine Lizenzkosten,
  • einfache Einrichtung,
  • automatische Verlängerung,
  • und 100 % Verschlüsselung deiner Webmail-Umgebung.

Für Administratoren bedeutet das: Sicherheit auf Knopfdruck, ohne Aufwand und ohne zusätzliche Kosten.

Einmal eingerichtet, läuft SOGo dauerhaft sicher über HTTPS – so wie es 2025 selbstverständlich sein sollte.