./tell

Matrix: sichere Kommunikation

Matrix

Matrix: unsere Wahl für eine sichere Kommunikation

Datensicherheit ist heutzutage von immer größer werdender Bedeutung. Wir haben uns deshalb entschieden unsere internen Kommunikationswege so abzusichern, dass nicht nur unsere Daten, sondern auch die unser Kunden und Kooperationspartner bestmöglich geschützt sind. Im Folgenden möchten wir euch näher bringen, weshalb wir uns für Matrix entschieden haben und wie Ihr Matrix nutzen könnt um eure private Kommunikation auch wirklich privat zu halten.

Die Vorteile von Matrix

1. Offener Standard

Matrix ist ein offenes Kommunikationsprotokoll für Echtzeitkommunikation und bietet neben Instant-Messaging (Chat) auch die Möglichkeit IP-Telefonie und Video Konferenzen unabhängig von einem spezifischen Dienstanbieter zu nutzen. Der Matrix Server kann auf eigener Infrastruktur gehostet werden.

Als Offener Standard wird Matrix mittlerweile von diversen Firmen, aber auch immer mehr öffentlichen Einrichtungen und sogar Regierungen (z.B. Luxemburg und Frankreich) für die Kommunikation genutzt.

Den Protokollstandard könnt Ihr unter https://spec.matrix.org/legacy/ selber einsehen.

2. Ende-zu-Ende-Verschlüsselung

Matrix basiert auf starker Ende-zu-Ende Verschlüsselung, welche sicherstellt, dass nur die an der Kommunikation beteiligten Personen zugriff auf die Chats und ausgetauschten Dateien haben. Dies ist der für uns relevanteste Vorteil und gleichzeitig der Hauptgrund, weshalb wir Matrix für die Firmen
interne Kommunikation nutzen.

3. Dezentralität

Matrix basiert auf einer dezentralen Struktur. Dies ermöglicht es eigene Server zu betreiben und so eine Unabhängigkeit von (dritten) Dienstanbietern sicherzustellen.

4. Interoperabilität

Ein für uns zwar kaum relevanter, aber dennoch zu nennender Vorteil ist die Interoperabilität von Matrix. Dank sogenannter Bridges können Verbindungen zu anderen Kommunikationsdiensten und Protokollen hergestellt werden. Dies bietet Euch die Möglichkeit, über euren Matrix-Client auch mit Partnern zu kommunizieren, welche selbst keinen Matrix-Client verwenden, sondern beispielsweise über WhatsApp oder Signal interagieren. Dies schränkt natürlich die Nutzung der oben aufgeführten Vorteile von Matrix für die entsprechende Korrespondenz ein.

Einrichtung eines Matrix-Clients

1. Lade Dir einen Matrix-Client herunter

Es gibt eine Vielzahl von verschiedenen Clients, mit verschiedenen Funktionen und Vorteilen. Eine Liste der verfügbaren Clients findest Du hier: https://matrix.org/ecosystem/clients/

Wir verwenden Element als Client sowohl nativ unter Linux als auch auf Mobilgeräten unter Android oder iOS.

2. Account anlegen

Nach dem Start des Clients wirst du aufgefordert werden einen Account anzulegen. Folge hierzu einfach den Anweisungen vom Client.

3. Mit einem Server verbinden

Als nächstes musst Du dich mit einem bestehenden Server verbinden oder einen eigenen Server erstellen (hierzu später mehr). Es gibt öffentliche Server und private. Um einem privaten Server beizutreten benötigst du jedoch eine Einladung.

Nach dieser kurzen Einrichtung kannst Du auch schon mit anderen Personen auf den Servern, welchen du beigetreten bist kommunizieren.

Ein kleiner Tipp: Du kannst die Einstellungen der Verschlüsselung und des Datenschutzes in deinem Profil anpassen. Sieh hier doch bei Gelegenheit mal nach, ob alles zu deiner Zufriedenheit eingestellt ist.

Einrichtung eines Matrix-Servers

Die Einrichtung eines Matrix-Servers erfordert etwas mehr technische Erfahrung im Umgang mit (Linux)Servern und deren Administration. Natürlich könnt Ihr Euren Matrix Server auch auf einem gehosteten Server installieren.

Gerade für kleine Unternehmen sind die Anforderungen an den Server eher gering: Wir kommen mit ca. 6GB Massenspeicher und 1GB RAM aus.

Voraussetzung für den Betrieb ist ein DNS-Eintrag, idealerweise mit einer festen IP.

Wir betreiben unseren Server unter Debian Linux. Die Installation ist relativ simpel:

Vor Beginn der Installation sollte der Server entsprechend seines DNS-Eintrages konfiguriert sein. Das hilft einen Teil der Konfiguration des Servers zu automatisieren.

1. Signaturschlüssel des Matrix-Repositories hinzufügen und aktualisieren:

wget https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
apt-key add matrix-org-archive-keyring.gpg
apt update

2. Synapse Matrix Serverpaket installieren:

apt install matrix-synapse

3. Konfiguration

Die Konfiguration des Serverdienstes erfolgt primär durch die Datei

*/etc/matrix-synapse/homeserver.yaml*.

Als minimale Einstellungen sollte das freie Erstellen von neuen Accounts deaktiviert werden und ein Shared Secret für das Erstellen administrativer Accounts festgelegt werden. Letzteres kann wie folgt aus Zufallsdaten des Systems erzeugt werden:

cat /dev/random | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

Das wird dann zusammen mit den anderen Einstellungen in die Konfigurationsdatei eingetragen.

registration_shared_secret: <erzeugtes Token>
enable_registration: false

Die Dokumentation zu Synapse findet ihr unter

https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html

Im Anschluss wird der Dienst neu gestartet:

service matrix-synapse restart

Zur Verwaltung des Servers und Accounts gibt es praktische Kommandozeilentools.
z.B. kann die Einrichtung eines ersten Users wie folgt erledigt werden:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://127.0.0.1:8008

Für größere Nutzergruppen, bietet es sich an, einen Datenbankserver wie PostgreSQL zu verwenden. Für weniger große Untermehmen ist das per default verwendte SQLite völlig ausreichend.

In vielen Fällen ist auch die Einrichtung eines Reverse-Proxies sinnvoll:

https://matrix-org.github.io/synapse/latest/reverse_proxy.html

Zurück