Server Technik

System

Das Hostsystem verwendet Debian 10 Buster. 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: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';
ssl_ecdh_curve secp384r1:prime256v1:secp521r1;

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 Strict-Transport-Security            "max-age=63072000; includeSubDomains; preload;";

Ä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.

Details

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

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. Der Admin des jeweiligen Servers kann Ihnen hierbei weiterhelfen, unzureichende Verschlüsselung für mich ein Ausschlusskriterium; zulässige Chiffren.

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 klassischen Verbindungen ins Internet. Daher müsste für dessen Nutzung mindestens 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

Testsuites

IM Observatory

IM Observatory ist ein Testsuite die automatisiert XMPP Server auf verschiedene Funktionen hin testet.
xmpp.net score

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.

conversations.im

Der Conversations Compliance Tester testet die Kompatibilität zum Conversations Client.

netcup logo