- Veröffentlicht am
- • How2-Tipps
SOGo mit Let’s Encrypt absichern – HTTPS leicht gemacht
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
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.