Server Technik

general overview of the configuration and settings used

System

Das Hostsystem verwendet Debian 11 Bullseye. Alle Komponenten werden regelmäßig aktualisiert, um den Service nicht zu stark zu behindern, versuche ich keine Unterbrechungen in Stoßzeiten vorzunehmen. Lässt sich dies allerdings nicht verhindern, werde ich versuchen die Downtime so gering wie möglich zu halten.

DNS

Die gesamte DNS-Zone von magicbroccoli.de ist mit DNSSEC signiert und lässt sich überprüfen.

nginx

Alle Dienste die per HTTPS erreichbar sind, werden durch einen nginx Server terminiert. Dieser ist konfiguriert ausschließlich TLS verschlüsselte Verbindungen zuzulassen. Unverschlüsselte Verbindungen werden direkt zu einer verschlüsselten Verbindung aufgewertet. Ist dies nicht möglich, wird die Verbindung verweigert.
Zur Verfügung stehen TLS1.2 sowie 1.3 mit einer definierten Auswahl an Ciphers. Außerdem ist der Server in der Lage HTTP 1.1 sowie HTTP 2.0 Verbindungen zur Verfügung zu stellen.

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA512:ECDHE-ECDSA-CHACHA20-POLY1305::ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA';

Zusätzlich zu einer recht restriktiven TLS Konfiguration werden standardmäßig einige HTTP Header mitgesendet um die Sicherheit der Webpages zu gewährleisten.

add_header Referrer-Policy                      "no-referrer"        always;
add_header X-Content-Type-Options               "nosniff"            always;
add_header X-Download-Options                   "noopen"             always;
add_header X-Frame-Options                      "SAMEORIGIN"         always;
add_header X-Permitted-Cross-Domain-Policies    "none"               always;
add_header X-Robots-Tag                         "none"               always;
add_header X-XSS-Protection                     "1; mode=block"      always;
add_header Permission-Policy                    "interest-cohort=()" always;

# HSTS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload;" always;

Ähnlich zum XMPP Server, ist es möglich über externe Testsuites die Konfiguration auf Lücken bzw. Schwächen hin zu überprüfen.
Besonders bekannt hierfür ist Qualys SSL Labs dort sind meine Ergebnisse nachprüfbar. Die Ergebnisse werden dort leider nicht dauerhaft gespeichert.
( Der Test dauert ca. 1 Minute, daher kann der Test von jedem jederzeit wiederholt werden. )

Ejabberd

Bei der XMPP Serversoftware handelt es ich um einen ejabberd Version 20.12.03.

Serverdetails

  • HTTP-Upload Limit: 50MB
  • HTTP-Upload Quota: -
  • HTTP-Upload Lebensdauer: 30d
  • Nachrichten Archiv Lebensdauer: 90d
  • Serverstandort: Deutschland

Verschlüsselung

Es werden ausschließlich verschlüsselte Verbindungen zugelassen, zusätzlich dazu werden ausschließlich Chiffren angeboten, die Perfect Forward Secrecy unterstützen. Hierdurch kann es vorkommen das einige Server nicht erreichbar sind.

Zertifikate

Dieser XMPP Server ist dahingehend konfiguriert ausschließlich gültige Zertifikate zu akzeptieren. Verbindungen von einem Server mit selbst signierten Zertifikate werden nicht unterstützt.

Passwörter

Alle Passwörter werden gehashed in einer Datenbank gespeichert, die nicht von außen erreichbar ist. Als Authentifizierungsverfahren wird SCRAM-SHA-1 verwendet.
Das DIGEST-MD5 Verfahren ist explizit deaktiviert.

Features

Der Server unterstützt eine Vielfalt an XMPP-Erweiterungen (XEPs). Jeder Client unterstützt dabei eine andere Teilmenge dieser Features. Speziell gebe ich Acht darauf, Conversations in möglichst großem Umfang zu unterstützen.

Auszug aus den spezielleren Server-Features
XEP-0156: Alternative XMPP Connection Methods
TOR Hidden Service

Für Fans von Tor biete ich nun einen Hidden Service an. Mit diesem ist es möglich Client-to-Server Verbindungen zum XMPP-Server durch onion routing aufzubauen. Die Adressen lauten:

Hinweis:
Die Funktion http_upload verwendet bei Nutzung, auch mit konfigurierter .onion-Adresse, den normalen DNS und eine klassische Verbindung ins Internet. Daher muss für die Nutzung noch ein normaler Zugang zum Internet bestehen.

Registrieren

Wenn Sie diese Dinge überzeugt haben XMPP zu probieren, ist es hier direkt möglich sich zu registrieren.

Registrieren
TLS Imirhil

TLS Imirhil ist eine Website die ähnlich wie das IM Observatory automatisiert die TLS Konfiguration des Servers testet. magicbroccoli.de hat dort für HTTP und für XMPP ein A+ Rating.

Badges

magicbroccoli.de badge

netcup logo