Synapse X Installationsanleitung

Matrix ist ein offener Standard für dezentrale und Ende-zu-Ende-verschlüsselte Kommunikation. Es handelt sich um eine Sammlung von Servern und Diensten, die über eine standardisierte API miteinander kommunizieren und sich in Echtzeit synchronisieren. Einer der Hauptvorteile von Matrix ist seine dezentrale Natur. Wenn ein Homeserver ausfällt, können die anderen Server die Kommunikation ohne Probleme fortsetzen. Matrix Synapse ist eine serverbasierte Integration des Matrix-Protokolls für sichere Kommunikation. Es handelt sich um einen Softwareserver, der die Dienste der Kommunikation und Synchronisierung von Daten über das Matrix-Netzwerk bereitstellt. Er ist einfach zu installieren und zu konfigurieren.

Dieser Artikel bietet eine detaillierte Anleitung zur Installation und Konfiguration von Synapse, dem standardmäßigen Python-basierten Matrix-Server, zusammen mit zusätzlichen Komponenten wie Coturn für Audio- und Videoanrufe und der Integration mit Nginx als Reverse Proxy.

Voraussetzungen

Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

  • Ein Server mit Debian 12 als Betriebssystem.
  • Ein Fully Qualified Domain Name (FQDN) für Matrix, Element und Coturn, der auf Ihren Server zeigt.
  • Grundlegende Kenntnisse in der Linux-Befehlszeile.

Es ist ratsam, ein Wildcard-Zertifikat und eine Subdomain zu haben, um die Einrichtung zu vereinfachen.

Sicherheitsvorkehrungen

Da Matrix ein dezentrales System darstellt, spielt die Server-Server-Kommunikation (Federation) eine entscheidende Rolle. Für einen sicheren Messenger gehören auch verschlüsselte Kommunikationswege. Es ist wichtig, ein SSL-Zertifikat für Ihren Matrix-Server einzurichten, um die Sicherheit Ihrer Daten zu gewährleisten. Wenn Sie kein SSL-Zertifikat für Ihren Matrix-Server einrichten, greifen Sie über HTTP auf ihn zu und gefährden damit die Sicherheit Ihrer Daten.

Lesen Sie auch: Synapse X: Tutorial für Anfänger

Firewall-Konfiguration

Zuerst muss die Firewall so konfiguriert werden, dass sie die Ports für HTTP (80), HTTPS (443) und Synapse öffnet. Die Firewall wird mit Ausnahme der TCP-Ports 80, 443 (nginx) und 22 (SSH, bitte ggf. anpassen) aufgenommen, welche wir vorab ebenfalls sichern.

Installation von Synapse

Schritt 1: Hinzufügen des Matrix.org Repository

Ist das Repository eingebunden, kann die Installation von Synapse gestartet werden.

Schritt 2: Konfiguration des Servernamens

Während der Installation erhält man die Aufforderung, den Server-Namen einzugeben. Dies ist der Name, welcher im dezentralem Matrix-Netz verwendet wird.

Beispiele:

  • Servername: chat.example.de Daraus entstehen Adressen wie z. B. johannes:chat.example.de
  • Servername: example.de Somit lauten die Adressen z. B. johannes:example.de

Während der Installation wirst du nach dem Servernamen gefragt, der Teil deiner Matrix ID ist. Gib an seiner Stelle deinen Matrix-Domänennamen ein. Du wirst auch gefragt, ob du anonymisierte Statistiken über deinen Homeserver an Matrix senden möchtest.

Lesen Sie auch: Umfassende Synapse Anleitung

Schritt 3: Anlegen eines neuen Matrix-Benutzers

Die Erstellung eines Matrix-Benutzers kann die Verbindung zu einem Matrix-Server über einen Matrix-Client erleichtern.

Danach fragt das System nach dem „localpart“. Dies ist quasi der Benutzername auf der Instanz (dazu später mehr). Im Anschluss wird dann ein Passwort und eine Bestätigung gefordert.

Schritt 4: Datenbankkonfiguration

Standardmäßig wird SQLite als Datenbank verwendet. Legen Sie einen Datenbankbenutzer und eine Datenbank für Matrix Synapse an. Übernehmen wir nun die Datenbankinformationen in die Matrix-Konfiguration. Ersetze das Feld your-password durch das PostgreSQL-Benutzerpasswort, das du in Schritt 3 erstellt hast.

Schritt 5: Reverse Proxy mit Nginx

Bei Matrix Synapse wird Nginx in der Regel als Reverse Proxy verwendet. Beginnen wir mit der Installation und Einrichtung von nginx. Wir richten nun verschiedene vhost, also Serverkonfigurationsdateien, ein und modifizieren die Standard vhost-Datei. Somit ist durch die leere „default.conf“ Datei auch bei späteren Aktualisierungen des Webservers sichergestellt, dass diese Standardkonfiguration den Matrix-Serverbetrieb nicht beeinflußt.

Mit dem Reverse Proxy soll die Kommunikation zwischen den Clients und dem Server über Port 443 und zwischen den Servern im Synapse Netwerk (Port 8448) abgesichert werden.

Lesen Sie auch: Synaptische Auswirkungen von Strychnin

Schritt 6: SSL-Zertifikat mit Let's Encrypt

Zu einem sicheren Messenger gehören auch verschlüsselte Kommunikationswege. Zertifikate von Lets Encrypt lassen sich mithilfe von Certbot beantragen, erstellen und später verlängern. Das Verifizierungsverfahren läuft über Ngnix. Entfernen Sie Ihre bisher verwendeten Self-Signed-Zertifikate aus nginx und aktivieren die neuen, vollwertigen und bereits gültigen TLS-Zertifikate von Let’s Encrypt. Das Generieren kann - in Abhängigkeit von der Systemleistung - einige Minuten dauern.

Via Cronjob kann die Erneuerung der Zertifikate dann automatisiert werden.

Schritt 7: Konfiguration der Homeserver.yaml

Wir benötigen ein sogenanntes Secret (Registrierungsschlüssel), welches in der Konfigurationsdatei (server_name.yaml) hinterlegt wird. Kopieren Sie sich dieses Secret um es unter „registration_shared_secret: J45ga…xyz“ in die Konfiguration zu übernehmen.

Es gibt noch sehr viel mehr Einstellungsmöglichkeiten in der Konfigurationsdatei, doch für unseren Start sind wir vorerst am Ende angelangt.

Füge die folgenden Zeilen in den Editor ein.

Schritt 8: TURN/STUN-Server für Audio- und Videoanrufe

Matrix unterstützt auch Audio- und Videoanrufe. Damit dies auch netzwerkübergreifend funktioniert, wird in den meisten Fällen ein STUN/TURN-Server benötigt. STUN (Session Traversal Utilities for NAT) sorgt einfach ausgedrückt dafür, dass ein Client aus dem LAN seine öffentliche IP-Adresse ermitteln kann. TURN (Traversal Using Relays around NAT) sorgt wiederum dafür, dass Clients ohne eine direkte Verbindung Daten austauschen können. Wie sie einen stun/coturn-Server einrichten, das beschreiben wir hier. Ersetzen Sie Ihre coturn-Domain, ggf.

Um Sprach- und Videoanrufe zu ermöglichen, musst du einen Traversal Using Relays around the NAT (TURN) Server installieren. Zu diesem Zweck installieren wir das Paket Coturn. Wir werden die Datei durchgehen und die Einstellungen aktivieren, die wir brauchen.

Schritt 9: Zugriff auf Matrix Synapse

Starten Sie nun den Client (weitere Informatinen zu Element) und melden sich dort an und fangen an, sich frei durch die „Matrix“ zu bewegen. die Ihnen die Administration des Matrix-Servers erleichtern werden.

Klicke auf den Link Bearbeiten unter Homeserver. Wenn der Client deinen Homeserver richtig erkennt, werden die Begrenzung und der Text grün, andernfalls wird er rot angezeigt. Klicke auf die Schaltfläche Anmelden, um dich einzuloggen. Wähle die Option Sicherheitsphrase eingeben, um eine Sicherheitsphrase zu erstellen, die bei jeder Anmeldung verlangt wird. Gib eine Sicherheitsphrase ein und klicke auf “ Weiter „, um fortzufahren. Du erhältst eine Reihe von Sicherheitsschlüsseln, die du verwenden kannst, wenn du deine Sicherheitsphrase vergessen hast. Du wirst nach dem Passwort für dein Konto gefragt.

Wichtige Konfigurationsparameter

  • registration_shared_secret: Der Registrierungsschlüssel, der in der Konfigurationsdatei (server_name.yaml) hinterlegt wird.
  • include_content: Relevanter Datenschutzaspekt - sofern include_content auf true gesetzt wäre, würden Inhalte von Nachrichten über die Google-/Apple-Push-Services geleitet. Vorausgesetzt, dass Sie das nicht möchten, stellen wir diese Option auf false.
  • trusted_key_servers: Konfigurationsoption für vertrauenswürdige Key-Server.

Zusätzliche Konfigurationen

Sinnvoll ist es die Möglichkeit der Registrierung durch User zu deaktivieren. Verhindert/erlaubt, dass sich "fremde" Benutzer bei Ihnen selbstständig registrieren können.

SAML-Unterstützung

Synapse unterstützt mit Version 1.1.0 SAML. # use to configure your SAML IdP with. # point this to the IdP's metadata.

Matrix Federation Tester

Wenn die Föderation für den Synapse Server aktiviert ist, kann mit dem Matrix Federation Tester die eigene Instanz auf die laufende Version geprüft werden. Als Server nicht matrix.example.org eingeben, sondern den öffentlichen Namen, wo auch die Benutzernamen drauf laufen, z.B.

Aktuelle Entwicklungen

Zum Zeitpunkt dieser Anleitung werden aktiv neue Element Anwendungen (Element X) und ein neues Syncverfahren entwickelt um Matrix performanter und weniger ressourcenhungrig zu machen. Ende 2024 wurden grundlegende Funktionen direkt in Synapse implementiert. Der Proxy wird nicht länger weiterentwickelt und sollte deinstalliert werden (nicht vergessen die .well-known zurück zu ändern).

Schlussfolgerung

Matrix Synapse ist eine leistungsstarke und flexible Plattform für sichere, dezentrale Kommunikation. Mit dieser Anleitung sollten Sie in der Lage sein, einen eigenen Matrix-Server auf Debian 12 zu installieren und zu konfigurieren. Denken Sie daran, die Konfigurationsdatei sorgfältig zu prüfen und anzupassen, um die Sicherheit und Leistung Ihres Servers zu optimieren.

tags: #wie #installiere #ich #synapse #x