System

Das Hostsystem verwendet Debian Debian 9.5 Stretch. Alle Komponenten werden regelmäßig aktualisiert. Teilweise nehme ich Rücksicht darauf, dass es zu keinen reboot in Stoßzeiten kommt. Wenn sich dies allerdings nicht verhindern lässt, wird es zu einer möglichst kleinen Downtime für wichtige Updates kommen.

DNS

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

nginx

Alle Dienste die per HTTPS erreichbar sind, werden durch einen nginx Server veröffentlicht. 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_prefer_server_ciphers	on;
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_ecdh_curve	secp384r1:secp521r1;

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

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload;";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Referrer-Policy "no-referrer-when-downgrade";
add_header Content-Security-Policy "frame-ancestors 'self'";

Ä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 gespeichet.
( Der Test dauert ca. 1 Minute, daher kann der Test von jedem jederzeit wiederholt werden. )

Ejabberd

Bei der XMPP Serversoftware handelt es ich um ein Ejabberd 18.06-1~bpo9+1.

Verschlüsselung

Es werden generell ausschließlich verschlüsselte Verbindungen zugelassen, zusätzlich dazu werden ausschließlich Verschlüsselungsverfahren 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üsselng für mich ein Ausschlusskriterium; zulässige Verschlüsselungsverfahren.

Zertifikate

Dieser XMPP Server ist dahingehend konfiguriert ausschließlich gültige und korrekt ausgestellte Zertifikate zuzulassen. Selbstsignierte Zertifikate werden nicht unterstützt.

Passwörter

Alle Passwöter 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, welches ältere Clients und Bots häufiger verwenden.

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 (Android) in möglichst großem Umfang zu unterstützen.

Auszug aus den speziellern 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 Adresse lautet: dyy2lc2at2hqfir6.onion.

Hinweise:

  • Es ist nicht möglich, ein gültiges TLS-Zertifikat für eine .onion-Adresse anzubieten.
  • 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

IM Observer

IM Oberserver ist ein Testsuite die automatisiert XMPP Server auf verschiedene Faktoren hin testet. Die Ergebnisse für meinen Server sind wie folgt. IM observatory score

Mit dem Tool von tls.imirhil.fr lässt sich ähnlich zum IM Observer ein Server prüfen. MagicBroccoli XMPP hat dort ein Rating von A+ CryptCheck Score.


Last Edit 02.08.18