Riot.IM Messenger: Kurzanleitung für Benutzer mit Videos (Stand 04/2020)

Zuerst ein Hinweis für englischsprechende Besucher:

English language documents:

I wrote an more detailed english version for my https://EURAFRI.com Business Networking Project! If you need more details than shown here please visit https://eurafri.com/info-whatsinside/ and choose the Riot area.

If you want to run your own free and Open Source Matrix/Synapse Server, which is the server side part of the Riot Messenger, find a 30-Minute ready-to-go tutorial here https://kmj.at/how-to-setup-your-matrix-synapse-messaging-homeserver-may-2019-english/ Create your own homeserver, connected to the Matrix!

Riot Messenger, die neue Art der Kommunikation!

  • Freie Open Source Anwendung
  • verfügbar für Windows, Linux, Mac, Android und IOS
  • Unterstützt End-to-End Verschlüsselung ohne Mitleser, auch bei Gruppenchat!
  • Chat, Voice und Video. Voice verschlüsselt, wenn der Raum verschlüsselt ist!
  • Der Referenz Client für den Matrix Server.
  • Jeder kann seinen eigenen Matrix Server betreiben oder sich auf einem öffentliche Server einen Account lösen.
  • Jeder Benutzer kann mit allen Benutzern, auch von anderen Servern, kommunizieren (Federation).

Auswahl eines öffentlichen Homeservers (Ihr Zuhause)

Außer dem matrix.org Server des Projektes können Sie jeden öffentlichen Server z.B. aus dieser Liste als Ihren Server wählen:

privacytools.io wird in dieser Anleitung referenziert, es ist aber egal für welchen Server Sie sich entscheiden.

Erfreuliche News

Es ist sehr erfreulich, dass immer mehr Menschen auf Ihre Privatsphäre und Daten achten. Langsam bildet sich auch bei breiteren Bevölkerungsschichten ein Bewusstsein für mehr Kontrolle über die eigenen Daten aus. Riot.im als Anwendung für den Benutzer in Verbindung mit dem Open Source Matrix Synapse Server (Matrix.org) ist mehr als ein Messenger, es ist ein Tool für dezentralisierte Zusammenarbeit, Internettelefonie, Videotelefonie und Messaging. Durch den dezentralen Aufbau wird nur eine minimale Menge an Metadaten erzeugt und bei aktivierter End-to-End Verschlüsselung ist Mitlesen auch am Server unmöglich. Da so viele Menschen in die Matrix wechseln und dieser Beitrag extrem oft abgerufen wird, erfolgte nun ein Update der Anleitung.

Dezentraler Aufbau heißt, dass alle Matrix Server, ähnlich wie bei E-Mail untereinander kommunizieren können. Der Benutzer verbindet sich zu seinem Homeserver und damit wird seine IP für Betreiber anderer Server, bzw. Kommunikationspartner, auch nicht sichtbar.

Anleitungen

Matrix Server (nur für alle, die selbst einen Server betreiben möchten)

Unter https://kmj.at/how-to-setup-your-matrix-synapse-messaging-homeserver-may-2019-english/ findet sich eine Anleitung zur Einrichtung eines eigenen Servers. Alle die einen eigenen Server für sich, Freunde oder die Firma an die Matrix anschließen wollen, finden sich hier alle Informationen für das sehr einfache Setup.

Riot.im (für alle Benutzer, Step-by-Step Anleitung)

Riot.im ist die App zum Einstieg in die Matrix für alle die einfach und sicher kommunizieren wollen!. Das wirklich genial daran ist, dass es die Riot App für IOS (Apple), Android, Windows, MAC und Linux gibt und man mit allen Geräten gleichzeitig online sein kann. Alle Geräte sind immer synchron und es ist egal, wo man gerade liest oder kommuniziert.

Diese Anleitung zeigt, wie man einen Account anlegt und den ersten Chat startet.

1) Registrierung des Accounts

Jeder Benutzer in der Matrix benötigt einen Account auf einem Homeserver. Ähnlich wie bei E-Mail haben die Adressen 2 Teile. Zum Beispiel ist meine Adresse:

  • @karl:matrix.ctseuro.com

Diese Adresse besteht auf dem @, welche die Adresse eröffnet. Danach folgt der Name des Benutzers am Homeserver, in meinem Fall karl. Die Trennung des Namens und der Servers erfolgt durch einen :. Danach folgt der Servername, auf dem der Benutzer einen Account hat, in meinem Fall am Server matrix.ctseuro.com.

Wir registrieren für diese Anleitung einen Account bei privacytools.io, welchen wir aus obiger Liste ausgewählt haben. Um den Account zu registrieren gehen wir auf:

klicken dort auf Konto erstellen und geben in der folgenden Maske

Benutzernamen und Passwort ein. Als Open Source Messenger sammelt Riot, anders als zentrale Datensilos keine Telefonnummern, oder E-Mail Adressen. Damit ist auch die Eingabe einer E-Mail Adresse nicht notwendig. Auf mobilen Endgeräten fragt Riot höflich um den Zugriff auf Kontakt, Mikorofon und Kamera. Den Zugriff auf die Kontakte sollte man generell ablehnen und Mikrofon und Kamera benötigt man nur, wenn man über Riot auch telefoniert, bzw. Videochats führt.

ACHTUNG Ohne E-Mail Adresse kann das Passwort natürlich auch nicht über diese zurückgesetzt werden. Ändern kann man es in den Einstellungen, aber wer sein Passwort vergisst hat den Account für immer verloren! Also Passwort gut merken. Es empfiehlt sich ein Passwort Safe ala Keepass.

Danach auf Registrieren klicken und die Frage nach der fehlenden E-Mail mit fortfahren beantworten.

Danach befinden wir uns bereits in der Webversion des Riot Messengers. Diese wollen wir aber, da wir überall mit End-to-End Verschlüsselung arbeiten wollen, nicht verwenden. Details dazu später. Über Einstellungen -> Abmelden melden wir uns ab. Abmelden ist extrem wichtig!

Beim Abmelden werden wir gefragt, ob wir die Schlüsselsicherung verwenden wollen. Dazu muss ich etwas ausholen, dieser Punkt ist aber sehr wichtig.

Ich versuche es nicht ganz so technisch, einfach verständlich zu erklären. Jedes Gerät eines Benutzers hat einen Schlüssel, zusätzlich haben Räume Schlüssel. Jeder Chat is ein Raum. D.h. 1:1 Chat ist ein Raum mit den beiden Benutzern, ein Gruppenchat ist ein Raum mit mehr als zwei Benutzern. Diese Schlüssel werden auf dem Endgerät gespeichert und wären einem anderen Gerät am selben Account nicht zugänglich. Zusätzlich löscht das Programm beim Abmelden aus Sicherheitsgründen alle Schlüssel. Um nun sicherzustellen, dass diese Schlüssel nicht verloren gehen – dann wären ältere Chats mangels fehlender Schlüssel nicht mehr lesbar – wurde die Möglichkeit eines Schlüsselbackups am Server eingerichtet.

Es ist ganz wichtig ein wirklich langes und sicheres Passwort zu verwenden und sich dieses und den Wiederherstellungsschlüssel sehr gut zu merken! (Keepass!) Es kann niemand helfen! Wer vergisst, hat verloren!

Ein Klick auf Beginne die Schlüsselsicherung zu nutzen bringt die Passwortabfrage. Hier wird das sichere Passwort eingegeben und auf Nächstes geklickt.

Nun ist es ganz wichtig den Wiederherstellungsschlüssel sicher zu verwahren!

Nicht fortfahren, bevor alles gut gesichert verwahrt ist! In die Zwischenablage kopieren und verwenden, bzw. herunterladen. Danach OK!

Und bei Erfolg noch einmal OK!

Nun, da die Schüssel gesichert sind, noch einmal Einstellungen und Abmelden, danach sollte die Abmeldung erfolgen.

2) Installation und Start der Riot APP

Der Riot Messenger ist für alle Betriebssysteme verfügbar und es können mehrere Geräte gleichzeitig verwendet werden. Z.B. am PC und am Handy, oder Tablet. Wir verwenden in dieser Anleitung die PC Version, jedoch funktionieren Android und IOS analog dazu.

Das Programm laden wir von https://riot.im und installieren es am System.

Danach den Riot Messenger starten und auf Anmelden klicken oder tippen.

Nun ist es notwendig den Homeserver umzustellen. Als Default ist matrix.org vorgegeben, d.h. wir klicken auf Ändern und geben den Homeserver: - https://chat.privacytools.io

und unsere zuvor registrierten Benutzerdaten ein.

Die vollständige Matrix Adresse ist @meinwunschname:privacytools.io

Der Server gibt einen Raum vor. Hier einfach auf den Raumnamen klicken, dann auf das Zahnrad und den Raum verlassen und die Einstellungsseite mit dem X schließen.

Die persönlichen Einstellungen finden sich beim eigenen Namen unter Einstellungen. Pro Raum gibt es das Zahnrad für die Raumeinstellungen. Es gibt sehr viele Möglichkeiten Benachrichtigungen und anderes Wichtiges einzustellen.

Hinweis: MeinRiot läuft aus verschiedenen selbst eingestellten Gründen in Englisch, aber natürlich spricht Riot per Default, auf einem deutschsprachigen System Deutsch.

3) Schlüsselsicherung verbinden

Nun ist es ganz wichtig die zuerst erstellte Schlüsselsicherung zu aktivieren. Auf Connect this device, bzw, Verdinden Schlüsselsicherung klicken.

Passwort eingeben

Und fertig. Mit X wegklicken.

chritt 2 und 3 müssen pro Gerät, für welches dieser Account verwendet wird, wiederholt werden.

4) Der erste Chat

Wir starten mit einem 1:1 Chat und schreiben mich an. Dazu klicken wir auf das + neben Personen und geben meine Adresse @karl:matrix.ctseuro.com ein.

Mit Chat beginnen leiten wir den Chat ein. Danach muss gewartet werden, ob die Einladung zum Chat von der anderen Seite akzeptiert wird.

Wenn der Eingeladene den Raum betritt wird eine Statusmeldung ausgegeben:

WICHTIG: Der Chat ist aktuell noch nicht verschlüsselt!

Über das Zahnrad in die Raumeinstellungen gehen, dort auf Sicherheit und Datenschutz und den Verschlüsselungsregler auf EIN stellen:

und OK, danach mit X wegklicken:

Das Einschalten der Verschlüsselung wird als Statusmeldung eingetragen.

Sicher einer der gewöhnungsbedürftigsten Punkte beim Umstieg ist die Verschlüsselung. Um es für Benutzer ohne Kenntnisse über Verschlüsselung und Kryptografie verständlich zu machen:

  • Nachdem die Verschlüsselung aktiviert wird, erscheinen bei anderen Benutzern orange Warndreiecke. Nun müssen die Schlüssel (einer oder mehrere pro Benutzer) verifiziert werden. Danach erscheint beim Schreiben ein grünes Schloss.
  • Bei Gruppenräumen kann es sinnvoller sein, die Warnmeldung mit „Trotzdem senden“ zu quittieren und nicht alle Benutzer des Raumes zu verifizieren.

Um die Geräte eines Benutzers zu verifizieren, klickt man auf den Benutzer und lässt sich die Geräteliste anzeigen. Mit Verifizieren kann man die Geräte verifizieren. Am besten mit Legacy Verifizierung verwenden (für veraltete Clients), das geht am schnellsten.

Dieser Vorgang muss für alle Geräte durchgeführt werden, andernfalls muss die Warnmeldung mit „Trotzdem senden“ quittiert werden, um Text zu senden.

HINWEIS

Bitte keine Suppportanfragen oder ähnliches an meine persönliche Adresse richten.

Es gibt einen öffentlichen Raum, den Sie über die Raumliste, oder durch Eingabe von

  • /join #kmj:matrix.ctseuro.com

betreten können. Hier helfe ich ab und zu mit Tipps aus.

Verschiedenes

Aufbau Mobile:

Musterbild zeigt die Android App, die Symbole sind aber auf allen Systemen gleich.

Im Hauptbereich sieht man:

  • Favoriten (über die Raumeinstellungen)
  • Personen (1:1 Kommunikation)
  • Räume (Gruppenkommunikation)
  • Niedrige Priorität (Nur Sortierung, sonst, keine Auswirkung)

In der Auswahlleiste unten:

  • Zurück zum Home Schirm
  • Favoriten anzeigen
  • Personen anzeigen
  • Räume anzeigen
  • Communities anzeigen

Communities:

Du kannst Communities (bestehen aus Personen und Räumen) erstellen, beitreten, oder eingeladen werden. Communities machen die Kommunikation, bzw. die Organisation von Projekten einfacher, da man in einer Ansicht alle Personen und Räume sieht. In der PC App und am Tablet werden die Communitysymbole für eine einfachere Navigation auch links angezeigt.

Räume:

Riot besteht aus Räumen, auch 1:1 Chats sind Räume, jedoch mit nur 2 Personen. Gruppenräume sind für mehrere Personen offen. Der Eröffner des Raumes ist Administrator und kann über das Zahnrad, bzw. über das Menü des Raum verwalten. Nur bei 1:1 Räumen sind beide Gesprächspartner Raumadministrator. Räume können manuell den Favoriten, bzw. der niedrigen Priorität zugeordnet werden. Damit bleibt die Übersicht gewahrt.

Räume haben vielfältige Einstellungsmöglichkeiten für Berechtigungen, Bild, Beschreibung und vieles mehr. Alle Einstellungen finden sich im Zahnrad, bzw. über die Raumeinstellungen. Die wichtigste Einstellung ist, egal ob 1:1 oder Gruppe, die Verschlüsselung zu aktivieren. Damit ist alles sicher End-to-End verschlüsselt.

Adressen in der Matrix:

Ähnlich wie bei E-Mails werden die Adressen in der Matrix aufgebaut und bestehen auch aus Benutzer und Domain. Eine persönliche Adresse sieht so aus:

  • @benutzername:server.com

Anders als bei E-Mails ist die erste Stelle speziell:

@ - steht für eine Person
# - steht für einen Gruppenraum
+ - steht für eine Community

Danach folgt der Benutzername und durch : getrennt der Server auf der der Benutzer registriert ist. Da sich aktuell sehr viele am öffentlichen Matrix Server registrieren sehen viele Adressen so aus:

@meinname:matrix.org

Wenn jemand auf einem anderen Server registriert ist, wie z.B. ich, dann sieht die Adresse z.B. so aus:

@karl:matrix.ctseuro.com

Mit dieser Adresse kann man einen 1:1 Chat mit dieser Person starten. Wenn Sie die Adresse eines Raumes kennen, können Sie durch Eingabe von:

- /join #kmj:matrix.ctseuro.com

einen Raum betreten.

Sprachnachrichten

Multi Account auf Android und LineageOS

  • Riot.IM für Account 1 installieren
  • miniVector (Riot Version ohne Telefonie) für Account 2 installieren

Security Hinweis

  • Riot Versionen der Version 1.5.4 sollten raschest upgedated werden

How to Setup your Matrix Synapse Messaging Homeserver (Apr 2020/English)

Feel free to link to this page if you like this blog post, but do not copy/paste the text somewhere else without asking. If you want to post the text in full or partial on your site or blog you must add in bold inside a h1 tag:

This is the server side part, find client intro here:

This is the server side part. If you need a tutorial for the client side using Riot messenger I wrote an very detailed english version for my https://EURAFRI.com Business Networking Project! If you need more details than shown here please visit https://eurafri.com/info-whatsinside/ and choose the Riot area. In German you can find infos here: https://kmj.at/riot-im-messenger-kurzanleitung-fuer-benutze-updated/

FreeBSD PostgresQL Update 2019-10-30:

Be careful with updating, see updating section below. FreeBSD pkg wants PostgreSQL 11.5 now for py36-psycopg2 and turnserver. You can end up with deinstalled PostgreSQL 9.5 Server and create a problem. Read section below carefully!

Security Fix 2020-04-03:

The Twisted fix was already mentioned in the 1.12.0 release note, but due to a sqlite module load error, even one does not use it, updates was delayed till 1.12.1 comes out. Please upgrade Twisted to >=20.3.0 while env is activated using:

pip install 'Twisted>=20.3.0'

Just to be clear

This is how I have done it. Whatever you do, you do it for yourself. I am in no way responsible for anything. Everything you do is on your own risk!

Public Matrix Room

There is a public room #kmj:matrix.ctseuro.com where I answer questions from time to time in English or German. Please join if you have questions.

A guide to setup a Matrix Synapse Homeserver

End-to-end encrypted messenger and collaboration server using Python 3.7. We will add Turnserver for voice based communicatioa, add a firewall and more. If we are done you run your own homeserver which is able to communicate with all other matrix servers on the Internet via federation. Prefered Client on Linux, Mac, Windows, Android and IOS is https://riot.im .

At the time of writing this age we use FreeBSD 12.1. Newer FreeBSD Versions are very similar to setup.

prepare everything

For bare bone setup write the ISO to some USB stick, for virtual setup using Proxmox or VMWare, place the ISO on your host and create a virtual machine booting with the ISO file.

The required resources are:

  • RAM 4-6 GB for up to 100 users
  • 2-3 Cores
  • 80GB Harddisk
  • network card
  • static IP address with DNS entry pointing to it

Assume we create the homeserver matrix.ourdomain.com on IP 1.2.3.4. Each Matrix Synapse server is called homeserver. We have pointed an DNS A record matrix.ourdomain.com to IP 1.2.3.4. Check with nslookup matrix.ourdomain.com, or ping matrix.ourdomain.com that the name resolves.

NOTE: you must change ourdomain.com to your domain name and 1.2.3.4 to your IP!

Setup FreeBSD

Boot the ISO file and do a minimum setup of FreeBSD as described on FreeBSD.org. Enable sshd to be able to login. This sets the hostname, creates your user account, formats the harddisk and creates the partitions. Do not install ports or other stuff, except sshd. Finally reboot and login with the user you created. Detailed FreeBSD setup instructions is out of the scope of this document.

Setup additional software

use su to become root and enter y if asked to fetch and install pkg system.

  • pkg install ca_root_nss gcc mc bash curl wget
  • pkg install libffi libxslt jpeg
  • pkg install py37-virtualenv
  • pkg install py37-psycopg2
  • pkg clean -a

Create Environment

  • mkdir -p /home/synapse/env
  • virtualenv-3.7 -p python3.7 /home/synapse/env

Always use sh for working with virtualenv.

sh
. /home/synapse/env/bin/activate
(env) #

The env # must be shown and do not forget to add the . at the beginning of the line. If it is not shown you have made some error! Go back and recheck if this happens!

Setup basic Synapse inside virtualenv

While still showing (env) # do:

- pip install --upgrade pip
- pip install --upgrade setuptools

This should show:

 . /home/synapse/env/bin/activate
(env) # pip install --upgrade pip
Requirement already up-to-date: pip in /usr/home/synapse/env/lib/python3.7/site-packages (19.1.1)
(env) # pip install --upgrade setuptools
Requirement already up-to-date: setuptools in /usr/home/synapse/env/lib/python3.7/site-packages (41.0.1)

If this is fine, continue with:

  • pip install matrix-synapse[all]

This will take some time, download different things and should finally end without error.

Setup PostgreSQL Database

changed from 9.5 to 11.5 on 20191030

  • leave virtualenv with typing: deactivate
  • you should only see # without env now
  • pkg install postgresql11-server
  • sysrc postgresql_enable=yes
  • service postgresql initdb
  • service postgresql start

now we have a running PostgreSQL database engine.

Setup the Firewall, DNS, NTP and Mail.

Before we continue we should setup our firewall to avoid attacks while runnign our setup.

Create /etc/rc.firewall.KMJ with the following content:

#!/bin/sh -
#
# Setup system for ipfw(4) firewall service.
#

# Suck in the configuration variables.
if [ -z "${source_rc_confs_defined}" ]; then
        if [ -r /etc/defaults/rc.conf ]; then
                . /etc/defaults/rc.conf
                source_rc_confs
        elif [ -r /etc/rc.conf ]; then
                . /etc/rc.conf
        fi
fi

############

setup_loopback() {
        ############
        # Only in rare cases do you want to change these rules
        #
        ${fwcmd} add 100 pass all from any to any via lo0
        ${fwcmd} add 200 deny all from any to 127.0.0.0/8
        ${fwcmd} add 300 deny ip from 127.0.0.0/8 to any
        ${fwcmd} add 400 deny all from any to ::1
        ${fwcmd} add 500 deny all from ::1 to any
}

. /etc/rc.subr
. /etc/network.subr

############
# Set quiet mode if requested
#
case ${firewall_quiet} in
[Yy][Ee][Ss])
        fwcmd="/sbin/ipfw -q"
        ;;
*)
        fwcmd="/sbin/ipfw"
        ;;
esac

############
# Flush out the list before we begin.
#
${fwcmd} -f flush
setup_loopback

############
#
# We do not allow IPv6 Traffic
${fwcmd} add deny  ip6 from any to any

# Allow TCP through if setup succeeded
${fwcmd} add pass tcp from any to any established

# Allow IP fragments to pass through
${fwcmd} add pass all from any to any frag

# Allow setup of incoming connections
         
${fwcmd} add pass tcp from ${MGMTIP} to me 22 setup     # SSH

${fwcmd} add pass tcp from any to me 8448 setup         # MATRIX
${fwcmd} add pass tcp from any to me 3478 setup         # TURN
${fwcmd} add pass udp from any to me 3478 keep-state    # TURN
${fwcmd} add pass tcp from any to me 5349 setup         # TURN TLS
${fwcmd} add pass udp from any to me 5349 keep-state    # TURN TLS

${fwcmd} add pass tcp from any to me 80 setup           # letsencrypt only
${fwcmd} add pass tcp from any to me 443 setup          # https rev proxy fuer matrix

# Allow setup of outgoing TCP connections only
${fwcmd} add pass tcp from me to any setup

# Disallow setup of all other TCP connections
${fwcmd} add deny tcp from any to any setup

# Allow DNS queries out in the world
${fwcmd} add pass udp from me to any 53 keep-state

# Allow NTP queries out in the world
${fwcmd} add pass udp from me to any 123 keep-state

# Deny the Rest
${fwcmd} add deny all from any to any

Assuming you have an IPv4 connectivity only we block all IPv6 traffic. Furthermore it is not recommended to open SSH to the public. I assume you are a good administrator and restrict ssh access to the static IP of your notebook or desktop system. Otherwise you should setup OpenVPN to access your server. Do not use any as MGMTIP. If you open critial services to the public you will regret it later. They will brute force you and one day somebody will break into your system. Be smart and work like a professional!

Now add or change the settings in /etc/rc.conf. We already add settings we need later. You network configuration is not shown here and should not be touched. Do not change

  • hostname=
  • ifconfig_
  • defaultrouter=

parameters.

keymap="de.kbd" # do not change your keymap. we use german
clear_tmp_enable="YES"
syslogd_flags="-ss"
dumpdev="NO"

MGMTIP="5.6.8.9" # change to static IP of your notebook or desktop system
 
firewall_enable="YES"           # Set to YES to enable firewall functionality
firewall_script="/etc/rc.firewall.KMJ" # Which script to run to set up the firewall
firewall_type="KMJ"         # Firewall type (see /etc/rc.firewall)
firewall_quiet="NO"             # Set to YES to suppress rule display
firewall_logging="YES"          # Set to YES to enable events logging
firewall_logif="NO"             # Set to YES to create logging-pseudo interface

#######################
 
local_unbound_enable="YES"
sshd_enable="YES"
ntpd_enable="YES"

apache24_enable="YES"
postgresql_enable="YES"

synapse_enable="YES"
turnserver_enable="YES"

###############################

now change /etc/resolv.conf so it reads:

search ourdomain.com
nameserver 127.0.0.1
options edns0

The final setting requires that our server is able to send out e-mails.

  • cd /etc/mail
  • make
  • make install
  • edit /etc/mail/aliases and uncomment the root: entry.
  • change it to root: you@yourmaildomain.com
  • run newaliases

Using this settings we run a local cache DNS and resolve locally. Furthermore we run a time syncing via NTP daemon. To make sure everything is done OK, we should reboot now.

  • shutdown -r now

Check our Setup

  • login after reboot
  • do a ps -xaj and check that local-ubound, syslogd, ntpd and postgresql deamons are running
  • do a mail -s “test” root, enter some text+ and press CTRL+d to send. You should receive your root mail. Check /var/log/maillog if not,

Setup Turnserver

To handle voice calls behind NAT you should setup Turnserver as kind of proxy. Setup is pretty easy.

  • pkg install turnserver
  • create /usr/local/etc/turnserver.conf like below, but change your IP, domain and secret!
realm=matrix.ourdomain.com
listening-ip=1.2.3.4
#lt-cred-mech
use-auth-secret
static-auth-secret=1cd6c96c1f8d4f1008042d76d646691e3b0512e830d7f486d6ad6b702bfc234e
no-tcp-relay
user-quota=12 # 4 streams per video call, so 12 streams = 3 simultaneous relayed calls per user.
total-quota=1200

cert=/usr/local/etc/matrix-synapse/certs/matrix.ourdomain.com/cert.pem
pkey=/usr/local/etc/matrix-synapse/certs/matrix.ourdomain.com/privkey.pem

do not start turnserver now!

Setup Apache Reversed-Proxy and SSL Cert

We want Apache to handle the connections to https Port 443 from the clients. Federation is done via port 8448. So we need to setup an Apache Reversed-Proxy and get a free SSL Cert from Letsencrypt.

  • pkg install apache24 cronolog
  • we already added apache24_enable=“YES” to /etc/rc.conf earlier
  • save /usr/local/etc/apache24/httpd.conf and replace its content with
  • replace ourdomain.com with your domain
ServerRoot "/usr/local"

ServerSignature Off

Listen 80

LoadModule authn_file_module libexec/apache24/mod_authn_file.so
LoadModule authn_core_module libexec/apache24/mod_authn_core.so
LoadModule authz_host_module libexec/apache24/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache24/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache24/mod_authz_user.so
LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule access_compat_module libexec/apache24/mod_access_compat.so
LoadModule auth_basic_module libexec/apache24/mod_auth_basic.so
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
LoadModule reqtimeout_module libexec/apache24/mod_reqtimeout.so
LoadModule filter_module libexec/apache24/mod_filter.so
LoadModule mime_module libexec/apache24/mod_mime.so
LoadModule log_config_module libexec/apache24/mod_log_config.so
LoadModule env_module libexec/apache24/mod_env.so
LoadModule headers_module libexec/apache24/mod_headers.so
LoadModule setenvif_module libexec/apache24/mod_setenvif.so
LoadModule version_module libexec/apache24/mod_version.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so
LoadModule unixd_module libexec/apache24/mod_unixd.so
LoadModule autoindex_module libexec/apache24/mod_autoindex.so
<IfModule !mpm_prefork_module>
        #LoadModule cgid_module libexec/apache24/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
        #LoadModule cgi_module libexec/apache24/mod_cgi.so
</IfModule>
LoadModule dir_module libexec/apache24/mod_dir.so
LoadModule userdir_module libexec/apache24/mod_userdir.so
LoadModule alias_module libexec/apache24/mod_alias.so
LoadModule rewrite_module libexec/apache24/mod_rewrite.so

LoadModule proxy_module libexec/apache24/mod_proxy.so
LoadModule proxy_connect_module libexec/apache24/mod_proxy_connect.so
LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
IncludeOptional etc/apache24/modules.d/[0-9][0-9][0-9]_*.conf
<IfModule unixd_module>
    User www
    Group www
</IfModule>

ServerAdmin hostmaster@ourdomain.com
ServerName matrix.ourdomain.com:80

DirectoryIndex index.html

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/usr/local/www/apache24/data"
<Directory "/usr/local/www/apache24/data">
    Options -Indexes +FollowSymLinks -ExecCGI -MultiViews
    AllowOverride None
    Require all granted
</Directory>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog  "|/usr/local/sbin/cronolog /var/log/www/%Y/%m/%d/errors.log"
LogLevel warn

LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i port:%p\"" combined
CustomLog "|/usr/local/sbin/cronolog /var/log/www/%Y/%m/%d/access.log" combined

<IfModule mime_module>
    #
    TypesConfig etc/apache24/mime.types
    #AddType application/x-gzip .tgz
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>

Include etc/apache24/extra/httpd-ssl.conf

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin

Include etc/apache24/Includes/*.conf

then save /usr/local/etc/apache24/extra/httpd-ssl.conf and replace it with the following content. Again replace IP and ourdomain.com with yours.

lISTEN 443

SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA
SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA

SSLHonorCipherOrder on

SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3

SSLPassPhraseDialog  builtin

SSLSessionCache        "shmcb:/var/run/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost _default_:443>

ServerName matrix.ourdomain.com:443
ServerAdmin hostmaster@ourdomain.com

DocumentRoot "/usr/local/www/apache24/data-ssl"
SSLEngine on

SSLCertificateFile /usr/home/letsencrypt/cts/conf-ip1/certs/matrix.ourdomain.com/cert.pem
SSLCertificateKeyFile /usr/home/letsencrypt/cts/conf-ip1/certs/matrix.ourdomain.com/privkey.pem
SSLCertificateChainFile //usr/home/letsencrypt/cts/conf-ip1/certs/matrix.ourdomain.com/fullchain.pem

UserDir disabled
DirectoryIndex index.html index.htm


<Directory /usr/local/www/apache24/data-ssl>
    Options -Indexes -FollowSymLinks -ExecCGI -MultiViews
    AllowOverride None
    require all granted
</Directory>

################################################################################
# Matrix Synapse
################################################################################
# do NOT change 127.0.0.1 to your IP !!!!!!
ProxyPass /_matrix http://127.0.0.1:8008/_matrix
ProxyPassReverse /_matrix http://127.0.0.1:8008/_matrix

################################################################################

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i port:%p\"" combined
CustomLog "|/usr/local/sbin/cronolog /var/log/www/%Y/%m/%d/access.log" combined

</VirtualHost>

Now create the SSL directory:

  • mkdir /usr/local/www/apache24/data-ssl
  • touch /usr/local/www/apache24/data-ssl/index.html
  • echo “Server is offline” > /usr/local/www/apache24/data-ssl/index.html

NOTE

To be able to receive our cert from Letsenrypt, temporary change

  • Include etc/apache24/extra/httpd-ssl.conf

to

  • #Include etc/apache24/extra/httpd-ssl.conf

in httpd.conf. This must be changed back after we received the initial cert.

Now create the Letsencrypt stuff

  • mkdir -p /home/letsencrypt/cts
  • mkdir -p /usr/local/etc/matrix-synapse/certs
  • create /home/letsencrypt/cts/Run_Certs.sh with the following content
#!/bin/sh

cd /home/letsencrypt/cts
chmod 750 dehydrated
/home/letsencrypt/cts/dehydrated  -c  --config /home/letsencrypt/cts/conf-ip1/config.sh \
                                      --hook /home/letsencrypt/cts/conf-ip1/hook.sh

/usr/sbin/service apache24 restart

########################################################################

HOST=`hostname`
echo "copy cert for synapse / matrix server on ${HOST}"

/bin/cp -r /usr/home/letsencrypt/cts/conf-ip1/certs/${HOST} /usr/local/etc/matrix-synapse/certs
/usr/sbin/chown -R root:nobody /usr/local/etc/matrix-synapse/certs
/bin/chmod -R 755 /usr/local/etc/matrix-synapse/certs

/usr/sbin/service synapse restart

/bin/ps -xaj | /usr/bin/grep synapse
########################################################################
  • chown root:wheel /home/letsencrypt/cts/Run_Certs.sh
  • chmod 750 /home/letsencrypt/cts/Run_Certs.sh

  • create /home/letsencrypt/cts/dehydrated with the following commands:

  • cd /home/letsencrypt/cts/

  • wget https://github.com/lukas2511/dehydrated/raw/master/dehydrated

  • chown root:wheel /home/letsencrypt/cts/dehydrated

  • chmod 750 /home/letsencrypt/cts/dehydrated

We now need to create some additional stuff for our Letsencrypt script. Remember to change IP and ourdomain.com to yours!

  • mkdir -p /home/letsencrypt/cts/conf-ip1
  • mkdir -p /usr/home/letsencrypt/cts/www/wellknown/acme-challenge
  • touch /usr/home/letsencrypt/cts/www/wellknown/acme-challenge/index.html
  • ln -s /usr/home/letsencrypt/cts/www/wellknown /usr/local/www/apache24/data/.well-known
  • echo “matrix.ourdomain.com” > /home/letsencrypt/cts/conf-ip1/domains.txt

  • create /home/letsencrypt/cts/conf-ip1/config.sh with the following content:

#!/usr/bin/env /usr/local/bin/bash
# FreeBSD special:
alias openssl='/usr/bin/openssl'
# Path to license agreement (default: https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf)
#LICENSE="https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf"
# Which challenge should be used? Currently http-01 and dns-01 are supported
CHALLENGETYPE="http-01"
#WELLKNOWN="${BASEDIR}/.acme-challenges"
WELLKNOWN="/home/letsencrypt/cts/www/wellknown/acme-challenge"
  • chown root:wheel /home/letsencrypt/cts/conf-ip1/config.sh
  • chmod 750 /home/letsencrypt/cts/conf-ip1/config.sh

  • create /home/letsencrypt/cts/conf-ip1/hook.sh with the following command:

cd /home/letsencrypt/cts/conf-ip1/
wget https://github.com/lukas2511/dehydrated/raw/master/docs/examples/hook.sh
  • chown root:wheel /home/letsencrypt/cts/conf-ip1/hook.sh
  • chmod 750 /home/letsencrypt/cts/conf-ip1/hook.sh

to receive our first cert we should start Apache and accept the terms in advance.

  • service apache24 start

  • cd /home/letsencrypt/cts

  • chmod 750 dehydrated

  • /home/letsencrypt/cts/dehydrated –register –accept-terms –config /home/letsencrypt/cts/conf-ip1/config.sh

  • ./Run_Certs.sh

if all goes well you should have placed your certs in

  • /home/letsencrypt/cts/conf-ip1/certs

and

  • /usr/local/etc/matrix-synapse/certs

Add the following to /etc/crontab:

#######################################################################
# Run letsencrypt renewals every thuesday @ 9:01
#######################################################################

5       9       *       *       2       root    /home/letsencrypt/cts/Run_Certs.sh

Now where we have the correct cert, change back

  • #Include etc/apache24/extra/httpd-ssl.conf

to

  • Include etc/apache24/extra/httpd-ssl.conf

in /usr/local/etc/apache24/httpd.conf and

  • service apache24 restart

Point your browser to https://matrix.ourdomain.com and check if you get a secure connection. Logs are in /var/log/www.

We have done most of our way. Lets finalize everything.

Finish PostgreSQL Setup

su to user postgres and create synape user and database.su - postgres

su - postgres
createdb postgres
createuser --pwprompt synapse_user
# check with
psql
\l
\du
\?
CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C'  template=template0  OWNER synapse_user;
\l
\q
exit

Finish Matrix Synapse setup

Add a synapse user, so we do not need to run the homeserver as root.

  • adduser synapse
adduser synapse
Username: synapse
Full name: synapse
Uid (Leave empty for default): 
Login group [synapse]: 
Login group is synapse. Invite synapse into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh bash rbash nologin) [sh]: nologin
Home directory [/home/synapse]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]: 
Username   : synapse
Password   : <random>
Full Name  : synapse
Uid        : 1002
Class      : 
Groups     : synapse 
Home       : /nonexistent
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes

Now lets create a base config for our homeserver. Again, do not forget to change ourdomain.com to yours!

- sh
- . /home/synapse/env/bin/activate
- cd /usr/local/etc/matrix-synapse
- python -m synapse.app.homeserver --server-name matrix.ourdomain.com --config-path homeserver.yaml --generate-config --report-stats=no

We need to load a template which is not in the standard setup:

tls_certificate_path: "/usr/local/etc/matrix-synapse/certs/matrix.ourdomain.com/cert.pem"
tls_certificate_path: "/usr/local/etc/matrix-synapse/certs/matrix.ourdomain.com/fullchain.pem"
tls_private_key_path: "/usr/local/etc/matrix-synapse/certs/matrix.ourdomain.com/privkey.pem"

# PEM dh parameters for ephemeral keys
tls_dh_params_path: "/usr/local/etc/matrix-synapse/tls.dh"

# Don't bind to the https port
no_tls: False

tls_fingerprints: []

## Server ##
server_name: "matrix.ourdomain.com"
pid_file: /var/run/matrix-synapse/homeserver.pid
# We don't want the web client
web_client: False

public_baseurl: "https://matrix.ourdomain.com:8448/"

soft_file_limit: 0

listeners:
  -
    port: 8448

    bind_addresses:
      - '1.2.3.4'

    type: http

    tls: true
    x_forwarded: false

    resources:
      -
        names:
          - client     # The client-server APIs, both v1 and v2

        compress: true

      - names: [federation]  # Federation APIs
        compress: false

  - port: 8008
    tls: false
    bind_addresses: ['127.0.0.1']
    type: http

    x_forwarded: false

    resources:
      - names: [client]
        compress: true
      - names: [federation]
        compress: false

# Database configuration
database:
  name: "psycopg2"
  args:
    database: "synapse"
    user: "synapse_user"
    password: "yourpassword"
    cp_min: 5
    cp_max: 10

event_cache_size: "10K"

verbose: 0

#log_file: "/var/log/matrix-synapse/homeserver.log"
log_config: "/usr/local/etc/matrix-synapse/matrix.ourdomain.com.log.config"

rc_messages_per_second: 0.2
rc_message_burst_count: 10.0
federation_rc_window_size: 1000
federation_rc_sleep_limit: 10
federation_rc_sleep_delay: 500
federation_rc_reject_limit: 50
federation_rc_concurrent: 3

media_store_path: "/var/db/matrix-synapse/media_store"
uploads_path: "/var/db/matrix-synapse/uploads"
max_upload_size: "1M"
max_image_pixels: "32M"
dynamic_thumbnails: false

# List of thumbnail to precalculate when an image is uploaded.
thumbnail_sizes:
- width: 32
  height: 32
  method: crop
- width: 96
  height: 96
  method: crop
- width: 320
  height: 240
  method: scale
- width: 640
  height: 480
  method: scale
- width: 800
  height: 600
  method: scale

url_preview_enabled: False

max_spider_size: "1M"
recaptcha_public_key: "DISABLED"
recaptcha_private_key: "DISABLED"
enable_registration_captcha: False

recaptcha_siteverify_api: "https://www.google.com/recaptcha/api/siteverify"

## Turn ##
## CHANGE AS USED above in turnserver.conf!!!!!!!!!

# The public URIs of the TURN server to give to clients
turn_uris: ["turn:matrix.ourdomain.com:3478?transport=udp", "turn:matrix.ourdomain.com:3478?transport=tcp"]
turn_shared_secret: "1cd6c96c1f8d4f1008042d76d646691e3b0512e830d7f486d6ad6b702bfc234e"
turn_user_lifetime: "1h"
turn_allow_guests: False


## Registration ##
enable_registration: False
registration_shared_secret: "jkdshkdjshdfzv9d87v89df77v897df987v89df7v87df89vu89df7v89df7v7df897vsdfuvhfdjkhvdf89"
bcrypt_rounds: 12
allow_guest_access: False

trusted_third_party_id_servers:
    - matrix.org
    - vector.im


enable_metrics: False
report_stats: False

room_invite_state_types:
    - "m.room.join_rules"
    - "m.room.canonical_alias"
    - "m.room.avatar"
    - "m.room.name"


app_service_config_files: []
macaroon_secret_key: "hfdjkfhdjkshjbncnsuivhsdf8sduv8duv8dfuvufd8uv8fdu89"
expire_access_token: False

## Signing Keys ##

# Path to the signing key to sign messages with
signing_key_path: "/usr/local/etc/matrix-synapse/matrix.ourdomain.com.signing.key"

old_signing_keys: {}
key_refresh_interval: "1d" # 1 Day.

# The trusted servers to download signing keys from.
perspectives:
  servers:
    "matrix.org":
      verify_keys:
        "ed25519:auto":
          key: "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw"

# Enable password for login.
password_config:
   enabled: true
   # Uncomment and change to a secret random string for extra security.
   # DO NOT CHANGE THIS AFTER INITIAL SETUP!
   #pepper: ""

email:
   enable_notifs: false
   smtp_host: "localhost"
   smtp_port: 25
   require_transport_security: False
   notif_from: "Ourdomain MATRIX <noreply@ourdomain.com>"
   app_name: Matrix
   template_dir:  /usr/local/etc/matrix-synapse/res/templates
   riot_base_url: "https://matrix.ourdomain.com/riot"


#server_notices:
#   system_mxid_localpart: serveralarm
#   system_mxid_display_name: "Server Infos and Alerts"
#   system_mxid_avatar_url: "https://matrix.ourdomain.com/_matrix/media/v1/thumbnail/matrix.ourdomain.com/fcpNAbnjbfjjHIegqEMoPFew"
#   room_name: "Server Infos and Alerts"

  • mkdir -p /var/run/matrix-synapse
  • chown synapse /var/run/matrix-synapse
  • mkdir -p /var/log/matrix-synapse/
  • chown synapse /var/log/matrix-synapse/
  • change log file in matrix.ourdomain.com.log.config to filename: /var/log/matrix-synapse/homeserver.log
  • mkdir -p /var/db/matrix-synapse/media_store
  • mkdir -p /var/db/matrix-synapse/uploads
  • chown -R synapse:synapse /var/db/matrix-synapse

  • create tls.h file in /usr/local/etc/matrix-synapse

  • cd /usr/local/etc/matrix-synapse/

  • openssl dhparam -out tls.dh 2048

Finally we need a startup script for Matrix Synapse. Lets create /usr/local/etc/rc.d/synapse:

#!/bin/sh
#
# Created by: Karl M. Joch <k.joch@cts.at>
#

# PROVIDE: synapse
# REQUIRE: LOGIN postgresql
# KEYWORD: shutdown

# synapse_enable="YES"

. /etc/rc.subr

#----------------------
# we run in virtual env
#----------------------
VIRTUAL_ENV="/home/synapse/env"
export VIRTUAL_ENV
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH
# to check run here: env

name=synapse

rcvar=synapse_enable
load_rc_config ${name}

: ${synapse_enable:=NO}
: ${synapse_user:=synapse}
: ${synapse_conf:=/usr/local/etc/matrix-synapse/homeserver.yaml}
: ${synapse_dbdir:=/var/db/matrix-synapse}
: ${synapse_logdir:=/var/log/matrix-synapse}
: ${synapse_pidfile:=/var/run/matrix-synapse/homeserver.pid}

pidfile="${synapse_pidfile}"
procname=/usr/home/synapse/env/bin/python3.7
command=/usr/home/synapse/env/bin/python3.7
command_args="-m synapse.app.homeserver --daemonize -c ${synapse_conf}"
start_precmd=start_precmd

start_precmd()
{
        if [ ! -d ${synapse_pidfile%/*} ] ; then
                install -d -o synapse -g wheel ${synapse_pidfile%/*};
        fi

        if [ ! -d ${synapse_dbdir} ] ; then
                install -d -o synapse -g wheel ${synapse_dbdir};
        fi

        if [ ! -d ${synapse_logdir} ] ; then
                install -d -o synapse -g wheel ${synapse_logdir};
        fi

        if $(grep -q CHANGEME ${synapse_conf}) ; then
                echo "Error: Default secret values in config."
                echo "Please replace the CHANGEME values in ${synapse_conf}"
                exit 1
        fi
}

run_rc_command "$1"
  • chown root:wheel /usr/local/etc/rc.d/synapse
  • chmod 750 /usr/local/etc/rc.d/synapse

Start Matrix Synapse the first time

  • service synapse start

will hopefully end in something like this:

2019-05-11 18:02:13,846 - synapse.server - 222 - INFO - None - Setting up.
2019-05-11 18:02:13,884 - synapse.storage.event_push_actions - 471 - INFO - None - Searching for stream ordering 1 month ago
2019-05-11 18:02:13,885 - synapse.storage.event_push_actions - 477 - INFO - None - Found stream ordering 1 month ago: it's 0
2019-05-11 18:02:13,885 - synapse.storage.event_push_actions - 479 - INFO - None - Searching for stream ordering 1 day ago
2019-05-11 18:02:13,885 - synapse.storage.event_push_actions - 485 - INFO - None - Found stream ordering
2019-05-11 18:02:13,887 - synapse.server - 226 - INFO - None - Finished setting up.

You can check the running synapse with ps -xaj and netstat -an should show you listeners on 8008 and 8448. If yes, you can open the first beer. Your log is in /var/log/matrix-synapse.

Adding the admin user

Again, change ourdomain.com to your domain!!!!!

  • sh
  • . /home/synapse/env/bin/activate
  • cd /usr/local/etc/matrix-synapse
  • register_new_matrix_user -c homeserver.yaml https://matrix.ourdomain.com:8448
  • make this user the admin for you!

  • reboot your server, to restart everything

  • shutdown -r now

  • download the https://riot.im messenger for your platform and login

  • test everything

if everything works as expected:

  • create all other users the same way, but without being admin!

UPDATING

Updating FreeBSD and Packages

  • freebsd-update fetch
  • freebsd-update install
  • pkg update
  • pkg upgrade

Updating Matrix Synapse

  • service synapse stop
  • sh
  • . /home/synapse/env/bin/activate
  • pip install -U matrix-synapse[all]
  • service synapse start
  • if massive update, simply reboot the server

Upgrade notes PostgreSQL 9.5 to 11.5

READ BELOW FOR POSTGRES UPDATE 9.5 to 11.5 if you are below 11.5!!

While upgrading Matrix/Synapse to 1.5.0 a problem with the pkg system occured. The depencies for py37-psycopg2 and turnserver changed to postgresql11-client-11.5 and it ended up with deinstalled postgresql95-server, which was not nice. Thanks to the Proxmox virtualization infrastructure I was able to move back to the snapshot before the update, skipped the pkg upgrade section and put the server online again. So far so good, but now there is need to upgrade to postgresql11-server-11.5 to be on track again.

As written in the documentation (https://www.postgresql.org/docs/11/upgrading.html): “The traditional method for moving data to a new major version is to dump and reload the database, though this can be slow. A faster method is pg_upgrade.” I already had the dump/restore idea because the FreeBSD 11.5 port also changes the location of the servers data.

The steps done to make it work (read 18.6.1 of PostgreSQL docu in advance):

  • deactivate some services on boot in /etc/rc.conf

    apache24_enable=“NO” synapse_enable=“NO” turnserver_enable=“NO”

  • full server shutdown and snapshot creation of Proxmox VM

  • as alternate if bare installed do a full server backup

  • now we need to create a full database dump of the 9.5 server

su
# create temp migration dir
mkdir /var/pgupdate
chmod 777 /var/pgupdate
# change to user pgsql
su - pgsql
cd /var/pgupdate
# backup config changes
cp /usr/local/pgsql/data/pg_hba.conf .
cp /usr/local/pgsql/data/postgresql.conf .
# dump database
pg_dumpall > database_dump_95.sql
# be patient, depending on server this can take time 
exit
# we are root again
service postgresql stop
# rename old data dir
mv /usr/local/pgsql/data /usr/local/pgsql/data-9.5
# delete your postgresql packages / use pkg info first
pkg delete postgresql95-client-9.5.19 postgresql95-server-9.5.19
# this will delete "Installed packages to be REMOVED:"
# postgresql95-client-9.5.19 postgresql95-server-9.5.19
# py36-psycopg2-2.8.3 turnserver-4.5.1.1
# which is ok for us. we reinstall last 2 later
# install server 11 which includes install of client
pkg install postgresql11-server
# initialize the database, run
/usr/local/etc/rc.d/postgresql initdb
# check for changes in pg_hba.conf and postgresql.conf
# best using 
diff -u  /var/pgupdate/pg_hba.conf /var/db/postgres/data11/pg_hba.conf | more
diff -u  /var/pgupdate/postgresql.conf /var/db/postgres/data11/postgresql.conf | more
# reinstall py36-psycopg2 turnserver
pkg install py36-psycopg2 turnserver
# start the postgres server
service postgresql start
# if start runs well, reload the data
su - postgres
psql -d postgres -f /var/pgupdate/database_dump_95.sql
# be patient again!
# if all goes well exit to be root again
exit
# finally upgrade all packages and clean out stuff
pkg update
pkg upgrade
pkg clean -a
# delete old psql data dir and user if all is finished
rm -r /usr/local/pgsql/data
rmuser pgsql
rm -r /var/pgupdate
  • reactivate some services on boot in /etc/rc.conf

    apache24_enable=“YES” synapse_enable=“YES” turnserver_enable=“YES”

# as root start the services and check if all is fine
service apache24 start
service turnserver start
service synapse start

have fun with Riot/Matrix/Synapse again.

NOTE Older versions used user pgsql for PostgreSQL, now user is named postgres and /var/db/postgres is owned in that way!

NOTE from Package The port is set up to use autovacuum for new databases, but you might also want to vacuum and perhaps backup your database regularly. There is a periodic script, /usr/local/etc/periodic/daily/502.pgsql, that you may find useful. You can use it to backup and perform vacuum on all databases nightly. Per default, it performs `vacuum analyze’. See the script for instructions. For autovacuum settings, please review ~pgsql/data/postgresql.conf.

Join my public room

If you like this blog entry feel free to join my public room by entering

/join #kmj:matrix.ctseuro.com

anywhere in the box to send a message! Feedback welcome!

Enterprise Support

EUROPE INFO: Free IT help for critical Infrastructure!

  • First date posted 2020-03-16
  • Last Update 2020-03-26

UPDATE 2020-03-24

Volunteers area and classified section for offer/search help opened

There was lot of changes on the:

https://helpeurope.net/how-to-join-us/

page today. Volunteers are able to list themselfs and the free for all classified section is open based on the rules on the above named page. Hopefully we get a interesting directory related to help for businesses and people.

We hope the project is moving forward fast! The time till a lot of countries will reach the highest peek of infections is near and we should be done till this situation comes up.

Thanks to all of you willing to help others,

2020-03-16

Even our website normally is in German, due to the content English is required here

This is a non-commercial project. Please share and boost the link wherever you fell it helps the project.

This is a short notice that there are ongoing efforts to build up a IT security and support team which is willing to help all operators of critical infrastructure for free.

Currently we try to get all of these experts together on decentralized, free, secure and Open Source Messenger Riot.

Experts please join us!

If you are system, software or security expert please join us too. We are 100% sure that all of these fast installed home office workplaces will destroy hundreds of servers and infrastructures and also some real attacks on infrastructure will happen. Furthermore all of these setup errors will come up now. We need you to build up a great team.

Infrastructure operators join us

If you operate critical infrastructure and run into problems feel free to join the Riot room too.

How to connect to us:

CTS founder Karl has already written tutorials for Riot

in German

on his personal site

in English

on the Website of his non-profit EURAFRI Project. Plese note here, that you need to create the account on matrix.org but all other infos are valid.

After you setup Riot you need to join the roon. You are able to join which entering

/join #helpeurope:matrix.ctseuro.com

in the box where you normally write your message. If you need help click the plus in the person section and start chat with:

@karl:matrix.ctseuro.com

We cannot afford to loose critical infrastructure

I know its pretty early and situation will become more bad in 2 or 3 weeks. Assume a 6-8 week duration based on the actual facts. But setting up things now gives us the chance to help after they lost most of their stuff because of infection or other problems.

If you are infrastructure operator you are free to already join to be connected if you need help.

We all want that there is no need for our offer, but one has to be prepared.

Let me take the opportunity to wish you and your families health, protection all the best for the upcoming hard weeks. A lot of you will be affected in business and maybe in private life, but there will be a strong coming back after Corona time is passed by. Help others if they are in problems to give them a chance to survive private and economic problems. Work together, communicate and spread the idea. Be sure, there is a time after it.

Even we are slowed down by the restrictions currently, we are full available via Riot and Briar Greetings and best wishes!

Karl

Notfalls-Kommunikationssystem ohne Servererfordernis mit Briar aufbauen (FOSS, P2P, WiFi, Bluetooth, TOR)

Was bisher geschah

Es gibt hier im Blog bereits ausführliche Anleitungen zur Einrichtung einer smarten, sicheren und dezentralisierten FOSS (Free Open Source Software) Kommunikationslösung für Unternehmen und Private Benutzer.

Ich habe, wie auch Millionen anderer smarter Internet Nutzer, Firmen und Regierungsbehörden, für mich und bei allen meinen Firmenbeteiligungen die komplette Kommunikation auf den Riot Messenger umgestellt:

https://kmj.at/riot-im-messenger-kurzanleitung-fuer-benutze-updated/

Natürlich betreiben wir eigene Homeserver (im Rahmen der Dezentralisierung wie ein eigener Mail Server) auf eigener Hardware und natürlich ist auch keine Installation in der Cloud (aka Server die einem nicht gehören und wo andere Zugriff haben). Sicherheit und Privatsphäre ist schon immer das höchste Gut in der IT gewesen.

Für private Benutzer empfiehlt sich die Verwendung von öffentlichen Servern, Firmen wird angeraten einen eigenen Homeserver zu betreiben. Die Anleitung mit der jeder Level 1 Administrator, ohne Hilfe von Level 2 oder 3 Support einen Server einrichten kann, findet sich hier:

https://kmj.at/how-to-setup-your-matrix-synapse-messaging-homeserver-may-2019-english/

Ein kurzer Blick auf die Anleitungen zeigt, dass ein Server Setup und die Anwendung von Riot wirklich sehr intuitiv und einfach ist.

Durch diese Umstellung der Kommunikation wurden unverschlüsselte E-Mails komplett in den Hintergrund gedrängt und die Text, Voice und Videokommunikation mit Riot ist bei Verwendung der End-to-End Verschlüsselung sicher und nicht mitlesbar. Durch die Dezentralisierung gibt es auch keinen zentralen Server einer Firma, der immer als Mitlese-Risikio anzusehen ist.

Kostenlos, mit Open Source Software sicher, performant und unabhängig kommunizieren schafft Unabhängigkeit von Datensammlern, ist eine Bereicherung des Alltages und spart viel Zeit im täglichen Umgang mit anderen. Riot’s Multi Device Fähigkeit und damit die gleichzeitige Verwendung auf einen oder mehreren PC, Smartphones und/oder Tablets machen das Arbeiten perfekt.

Serverlose P2P Kommunikation im Notfall (Backup Communication System)

Gerade die Problematik der Ausbreitung des Corona Virus hat gezeigt, dass es extrem notwendig ist die Kommunikation auf mehreren Ebenen abzusichern. Die Riot/Matrix Lösung funktioniert perfekt, solange die eigene Infrastruktur noch Strom und eine Internetverbindung hat.

Dies trifft natürlich im selben Ausmaß auch auf kommerzielle Data-Mining Programme der großen ““sozialen”” Netzwerke zu. Die Ausfallszenarien sind vielfältig, reichen von Stromausfall und/oder Verlust der Internetanbindung der Server bis hin zum Ausfall des DNS Systems, welches einen Zusammenbruch von Mail, Messaging und vielen anderen Services bewirken würde. Ohne jetzt technisch zu tief einzudringen muss klar sein, dass es sehr einfach ““finster”” werden kann und nichts mehr geht. Keine E-Mail, kein Riot, kein anderer Messenger, eventuell kein Telefon, einfach tot. Für normale Anwender ist die technische Infrastruktur in kurzer Zeit auch nicht umzubauen und damit im Notfall als verloren anzusehen.

Eigentlich wollte ich selbst ein ähnliches Emergency-Communication Projekt mit TSSOP starten um genau diese Lücke abzudecken. Doch dann fand ich BRIAR und auch wenn einige von mir gewünschte Funktionen, wie z.B. Multi Device und Multi OS, hier noch nicht verfügbar sind, wurde nun die Backup Kommunikation auf BRIAR aufgebaut.

BRIAR erfüllt alle Anforderungen an ein Notfallsystem:

  • Peer-to-Peer (P2P) heißt die Geräte kommunizieren direkt, ohne Notwendigkeit eines Servers
  • Lokale Kommunikation über Bluetooth und Wifi, ohne Internet, möglich
  • Internet basierte Kommunikation über das Tor Netzwerk, damit noch funktionell, wenn andere Systeme schon lange ausgefallen sind und gleichzeitig nicht überwachbar und vollständig anonymisiert.
  • auf Open Source aufgebaut
  • Verfügbar für Android und Custom ROMs, z.B. LineageOS. Deckt damit ca. 70-80% des mobilen Marktes ab.

Briar verwendet direkte, verschlüsselte Verbindungen um Benutzer zu verbinden und Überwachung und Zensur zu verhindern. Durch tausende Tor Nodes, welche unabhängig von DNS und ähnlichem sind, ist eine extrem lange Verfügbarkeit auch in Krisenzeiten gegeben.

Das Diagramm der möglichen Kommunikationswege

Jetzt einrichten

Das Projekt bietet mehrere Download Möglichkeiten, bevorzugt F-Droid, direkter APK Download, oder auch über den Play Store:

Programm (App) installieren, Benutzername und Passwort angeben (liegt nur auf dem Telefon) und dann Kontakte hinzufügen. Wenn über das Internet ein Kontakt hinzugefügt wird, tauschen Sie den angezeigten Link über einen sicheren Kanal (Riot, PGP E-Mail, etc.) aus.

Danach sind Messaging, private Gruppen, Blogs und Foren verwendbar. Ich empfehle mehrere Devices, z.B. Smartphone und Tablet anzulegen, diese in private Gruppen zu geben und beide Devices mit allen Kontakten zu verbinden. Kommunikation dann über private Gruppen, bzw. Blog oder Forum, je nachdem, wie die Nachrichten geteilt und verteilt werden sollen.

Für meine Kontakte steht die Adresse:

  • briar://abwjjktb7oiqxor3pxwmgeyybomzbjlqmgbtcyayoxlz4a4hw4rrs

zur Verbindung mit mir zur Verfügung.

Mit der Einrichtung des Backup Communication Systems erfolgt ein weiterer Schritt in eine Ausfallssichere Kommunikation, welche z.B. in Firmengebäuden mit WLAN auch bei vollständigem Ausfall der Internetanbindung noch funktioniert. Über Bluetooth sogar noch, wenn der WLAN Access Point ausgefallen ist.

Für jeden professionellen und smarten Benutzer ein Muss zur Absicherung der Kommunikation mit Familie, Kollegen und Geschäftspartnern.

Bevorzugte Kommunikation außerhalb von Krisenzeiten:

Riot Messenger: @karl:matrix.ctseuro.com

Update 2020-03-13 !

Die Briar Android App am Desktop betreiben.

Im wesentlichen stellt sich bei der Einrichtung eines Notfalls Kommunikationssystems noch die Frage, ob man auch direkt mit dem Desktop arbeiten kann. Da Briar eine Android App ist, deckt diese den Großteil der Smartphones gut ab, aber ich wollte unbedingt auch am Desktop (solange eine Internet Verbindung besteht) das System nutzen können.

Viele smarte Benutzer haben bereits Linux Desktops in Ihre Umgebung integriert, damit erspare ich mir die Beschreibung warum man Linux nutzen sollte und wie man es aufsetzt. Dazu gibt es genügend Literatur und die meisten Anwender haben bereits eine Linux Version laufen.

Ich selbst verwende auf allen Arbeitsplätzen und Notebooks Debian Sid (ja, ich weiß, Living on the Edge :-) ) und den XFCE Desktop. Anfänger und Unternehmensanwender sollten Debian 10 (Buster) verwenden.

Wenn das System läuft geht alles ganz einfach:

Hinweis Wenn, so wie hier auch alle DNS Zugriffe für Clients zu Drittanbieter verboten sind und nur der LAN DNS, am besten geschützt durch pi-hole, verwendet werden kann, dann muss folgendes umgestellt werden:

In Datei: /lib/systemd/system/anbox-container-manager.service folgendes: –container-network-dns-servers=DNS-IP anhängen

ExecStart=/usr/bin/anbox container-manager --daemon --privileged --data-path=/var/lib/anbox –container-network-dns-servers=DNS-IP

danach:

systemctl daemon-reload
systemctl stop anbox-container-manager
systemctl start anbox-container-manager
systemctl status anbox-container-manager

Nun kann man das Briar apk installieren:

cd ~/Downlaods
wget https://briarproject.org/apk/briar.apk
adb install briar.apk

Dann Starter erstellen, wobei sich die Muster und die Icons in:

  • ~/.local/share/applications/anbox

befinden. Andernfalls Briar mit

/usr/bin/anbox launch --action=android.intent.action.MAIN --package=org.briarproject.briar.android –component=org.briarproject.briar.android.splash.SplashScreenActivity

starten.


Briar is free software. You can redistribute it and modify it under the terms of the GNU General Public License. The mobile phone image is reproduced or modified from work created and shared by Vernon Chan and used according to terms described in the Creative Commons 2.0 Attribution License. The server icon was created by VisualPharm. The data sharing diagram was created by the Open Technology Fund’s Localization Lab.

xBrowserSync – die Lösung fuer Self-Hosted Bookmark-Sync! (Firefox und Chrome Extension, Android APP)

xBrowserSync – die Lösung für Self-Hosted Bookmark-Sync!

  • Fragen nur über Riot.im/Matrix.org Messenger im Raum:
    /join #kmj:matrix.ctseuro.com

xBrowserSync – die Lösung fuer Self-Hosted Bookmark-Sync!

XbrowserSync ist ein weiterer Baustein zur Erhöhung der Privatsphäre durch Open- Source Software. Aktuell synct xBrowsersync Bookmarks zwischen Firefox, Chrome und Android. Auf den mobilen Endgeräten unabhängig vom dort verwendeten Browser.

Kurz zusammengefasst verschlüsselt xBrowserSync die Bookmarks bereit am Endgerät mit einer Military-Grade AES-Verschlüsselung. Am Server kann dadurch nichts gelesen werden und es ist weder eine Registrierung noch die Angabe persönlicher Daten notwendig.

Reine Endbenutzer werden nur das Client Programm auf Ihren Systemen verwenden und die öffentliche Instanz nutzen.Ein umfangreiches FAQ in englischer Sprache finden Sie hier: https://www.xbrowsersync.org/#faqs

Die Client Seite

Bevor Sie anfangen, sichern Sie den aktuellen Stand Ihrer Bookmarks in eine Datei um im Fall von Problemen den aktuellen Stand wieder herstellen zu können. Zur Verwendung mit den öffentlichen Projekt-Servern einfach die Software für alle Geräte downloaden, auf dem ersten Gerät eine Sync-ID mit Passwort erstellen und nachdem der Erstsync durch ist, diese auf allen weiteren Geräte eintragen. Fertig!

(Optional) Self-Hosted xBrowserSync API Server

Natürlich sollte man die Server Seite der Lösung auch selbst hosten um das Projekt zu entlasten und um die Daten wirklich nur im eigenen Haus zu halten. Meine Empfehlung ist ein Setup auf einem FreeBSD System. Eine sehr einfache Anleitung zur Installation finden Sie hier:

https://github.com/xBrowserSync/API

Richten Sie den AI Dienst auf einem selbst definierten Port, z.B. 9191 ein und sichern Sie den Service zusätzlich durch ein SSL Zertifikat. Die Lösung funktioniert, abgesehen von den System und Security Updates im wesentlichen Wartungsfrei.

Für eine professionelle Enterprise Installation sollten Sie sich an die Open Source Spezialisten der CTS GMBH (https://CTS-Solutions.at) wenden.

Downloads für Android und IOS in den jeweiligen APP-Stores

Erfahrungsbericht nach vollständiger Umstellung des Betriebes auf Open Source Software

Nun ist es doch schon länger her, dass eine vollständige Umstellung der Software im Hause der CTS GMBH und auch im privaten Bereich durchgeführt wurde. Es gibt aktuell keine einzige kommerzielle Software und viele der früher auftretenden Probleme sind, ohne jegliche Lizenzkosten, einfach verschwunden.

Der Anfang

Schon seit dem Anfang der 90er Jahre wird bei CTS FreeBSD (https://freebsd.org) und Debian Linux (https://debian.org) auf den Servern verwendet und im Serverbereich wurde schon damals, mit wenigen Ausnahmen, jegliche proprietäre Software ausgemustert. Die Schwierigkeiten waren hier natürlich weit geringer, denn die meisten Webserver im Internet werden mit Open Source BSD, bzw. Linux Betriebssystemen betrieben. Die PHP Programmiersprache, der MySQL oder PostgresQL Datenbankserver und viele weitere Open Source Softwareprodukte sind Standard beim Einsatz mit direktem Internetanschluss. DNS Infrastrukturen und weitere für den Betrieb eines Netzes erforderliche Dienste werden zum größten Teil auch mit besagten Komponenten betrieben.

Da ich generell der Meinung bin, dass eigene vertrauliche Daten nur im eigenen Haus gespeichert werden dürfen und die Auslagerung auf fremde Rechner im Internet (aka Cloud oder Hosting) keine Option ist, war schon sehr bald der Betrieb einer eigenen DNS Infrastruktur, eines auf FreeBSD basierenden Mail Servers, inklusive einer vor Spam- und Viren schützenden, selbst entwickelten MailWall ein konsequenter Weg. Der Einsatz von PGP (https://de.wikipedia.org/wiki/OpenPGP) als von Betriebssystem unabhängigem Verschlüsselungssystem auch für E-Mails begann bereits sehr früh. Nicht verschlüsselte E-Mails sind wie ein Postkarte und man wundert sich, welche sensible Daten unverschlüsselt per E-Mail versendet werden. Hier kann man erwarten, dass es in nicht allzu ferner Zeit einen gröberen Vorfall geben wird, denn wo Daten sind gibt es jemand, der diese haben will.

Im Laufe der Zeit kamen, da proprietäre Dokumente auf der MailWall geblockt werden, zum Datenaustausch mit Partnern ein eigener OwnCloud (https://owncloud.org) Server, betrieben hier im Haus, hinzu. Damit können Dateien über eine DMZ sehr sicher mit Dritten ausgetauscht werden und man vermeidet die Unhöflichkeit von riesigen E-Mail Attachments.

In den Anfängen der VoIP Telefonie wurde unser Telefonsystem bereits auf eine Asterisk Installation umgestellt und wir agieren auch hier vollkommen Anbieter befreit. Mittlerweile ist der Asterisk direkt via IAX2 und SIP, natürlich eingeschränkt auf deren und unsere statischen IP Adressen, bei zwei Providern angebunden.

Weitere Schritte

Ein, natürlich auch selbst betriebener Home Assistant (https://www.home-assistant.io/) Automationsserver, welcher keine Daten an Dritte überträgt in Verbindung mit einer eigenen MQTT Infrastruktur zeigte, dass es natürlich möglich ist, ohne schlecht programmierte IoT Geräte und Wanzen, welche alle Daten durch den Server des Anbieters senden, bzw. einen Zugriff zur Anlage über diesen ermöglichen, sehr einfach realisiert werden kann. Dort wo keine statische IP Adressen vorhanden sind, kann der Zugriff sauber über Tor Hidden Services realisiert werden.

Als Firewalls mit HA Setup werden FreeBSD basierende PFSense ( https://www.pfsense.org/) Lösungen eingesetzt. Damit ist der automatische Sync verschiedener Firewalls und der Aufbau von WAN, LAN, DMZ, WEBNET und rein virtuellen Netzen, ala separierten Anonymisierungslösungen mit Tor und Linux Terminal Server in einem hermetisch abgeschlossenem Netz leicht möglich. Netzseparation ist in jedem Fall zwingend!

Hausintern kann die komplette SSL Zertifikats Infrastruktur ohne Dritte sehr einfach aufgebaut werden. Für öffentliche Server benutzt man am besten kostenlose Letsencrypt Zertifikate.

Damit sind Sie dem Projekt “Null Lizenzkosten” schon viele Schritte näher.

Das komplette Setup ist für professionelle Administratoren sehr einfach und übersichtlich einzurichten und die Wartung kann, insbesondere, wenn man, wie bei uns im Haus, die kostenlose Open Source Virtualisierung Proxmox (https://proxmox.com) verwendet, sehr einfach mit Snapshots (speichert binnen Sekunden ein Abbild des Systems, auf das man in Sekundenschnelle wieder zurücksetzen kann.) umgesetzt werden.

Mit der PFSense Lösung kann sehr einfach eine komplette Abschottung des LAN erfolgen und ein Zugang für reisende Mitarbeiter und Telearbeitsplätze über die inkludierte OpenVPN (https://en.wikipedia.org/wiki/OpenVPN) Lösung realisiert werden. Damit ist es möglich, sich komplett geschützt von einem Notebook oder Mobilgerät unter Windows, OSX, Linux, Android und IOS Zugang zum LAN zu verschaffen und der Administrator kann auf der Firewall den externen Rechnern, z.B. nur den Zugriff auf den Terminal Server erlauben. Vielfältige, sichere Szenarien sind hier die Standardsetups guter Administratoren. Das Interface für das VPN kann eigenständig mit Firewall Regeln bespielt werden.

Durch die Leistungsfähigkeit neuerer Hardware und die Möglichkeit der Virtualisierung können einzelne Services auf einzelnen virtuellen Systemen betrieben werden. Dadurch wird die Wartung dramatisch vereinfacht und die Kosten für Ausfälle und Stehzeiten gehen gegen Null.

Für unabhängige Bookmark Synchronisation (https://www.xbrowsersync.org/), Fakturierung, ERP Lösung, Fahrzeugtracking (https://www.traccar.org/) betreiben wir eigene virtuelle Maschinen und testweise wurde auch ein eigener Cryptowährungs Zahlungssystem Server (https://btcpayserver.org/) eingerichtet. Damit kann man vorzeigen, wie einfach und sicher eine Zahlung im Internet, ohne Drittanbieter und ohne Spesen, abgewickelt werden kann.

Storage / NAS

Um den rasant wachsenden Datenmengen Herr zu werden, wurden unsere seit längerem betriebenen FreeNAS (https://freenas.org) Storage Systeme (selbst zusammengestellte Hardware aus Einzelkomponenten) auf Hochverfügbarkeit umgestellt. Wir betreiben nun 2 NAS, je mit 12 TB auf ZFS Dateisystem und NAS-zu-NAS HA Replikation. Die Datensicherung erfolgt auf verschlüsselte externe Datenträger mit Auslagerung. Sensible virtuelle Maschinen werden mit verschlüsselten virtuellen Festplatten betrieben.

Dezentralisierung

Facebook und Twitter Alternativen

In den letzten Jahren wurde massive Kritik an den großen “sozialen” Netzwerken, insbesondere im Bereich Datensicherheit und Privatsphäre laut. Ich selbst war nie ein besonderer Nutzer dieser Systeme und hatte nur einen Facebook Account, welcher aber seit April 2018 komplett leer ist.

Angespornt durch diese Kritik in Verbindung mit aufgedeckter Datensammelwut, Daten Leaks und der Willkür einiger Betreiber, welche Benutzer durch die Sperre Ihrer Accounts eine unschöne Überraschung bereiteten, entstand das Fediverse mit dem ActivityPub Protokoll.

Mastodon, eine dezentralisierte, Open Source, Twitter und Facebook Alternative ist die klare Nummer eins und auch wir betreiben eine eigene Mastodon Instanz.

Mein Fediverse/ActivityPub Profil auf der CTS Mastodon Instanz finden Sie hier:

Es hat etwas gedauert, bis Firmen, politische Gruppierungen und andere diesen riesigen Vorteil verstanden haben und dann hat es nochmal etwas gedauert bis die “das hat ja keiner, alle sind dort Lemminge” aktiv wurden. Wir immer ein Henne und Ei Problem, denn so lange Personen, Firmen, Institutionen die etwas mitteilen möchten, nicht aktiv werden, wird es auch keine Nutzer geben. Das Problem ist mittlerweile Vergangenheit und die Interaktivität im Fediverse ist sehr hoch und mit guter Qualität.

Kurz zusammengefasst funktioniert das Fediverse so ähnlich wie sie es von E-Mail kennen. Es gibt einen Server mit der Domain meinedomain.com und alle Benutzer die einen Account auf diesem Server haben, bekommen @benutzer@meinedomain als Adresse. Die Fediverse Instanzen kommunizieren wie E-Mail Server über der Domain Teil, somit kann jeder Benutzer, jedem anderen Benutzer im Fediverse, sogar über verschiedene Software Lösungen (Mastodon, Pixelfed (Foto), PeerTube (Video), etc.) folgen und erhält die Neuigkeiten ungefiltert in der Timeline. Kein Datensammler der sortiert, filtert oder vorschreibt was Ihnen wichtig ist.

Und das beste, wenn Sie als Anbieter eine eigene Instanz betreiben kann niemand Ihre Accounts sperren, denn Sie sind der Admin Ihrer Instanz! Auch wird der Aufwand von Kontrolle und Löschungen einzelner Postings dramatisch reduziert, da Sie nur für die Postings auf Ihrer Instanz verantwortlich sind! Die Sichtbarkeit ist, richtig eingesetzt, auch viel höher da die federierten Zeitleisten Postings abbilden. Kommerzieller Support und Consulting gerne über support@cts-solutions.at .

Sicherer Messenger

Um das Gesamtbild abzurunden fehlte nun noch ein sicherer, End-zu-End verschlüsselter Messenger, bei dem niemand mitlesen kann, der dezentral aufgebaut ist und selbst betrieben werden kann. Durch die gesetzlichen Vorgaben in den USA ist es mehr als zweifelhaft, dass die E2E Verschlüsselung großer Anbieter wirklich keine Backdoor zum Mitlesen hat. Gerade bei der Kommunikation ist es für mich zwingen, dass jeder Zweifel ausgeschlossen ist.

Schon sehr lange bevor die französische Regierung auf die gewählte Lösung aufgesprungen ist und das deutsche Milität die Lösung in der engsten Auswahl testet, wurde in unserem seit jeher sehr innovativem Hause auf das Matrix Protokoll (https://matrix.org) in Verbindung mit dem Matrix Server Synapse und dem Messenger Riot (https://riot.im) gesetzt.

Für den Benutzer ist nur der Riot Messenger (Windows, MAC, Linux, Android, IOS) sichtbar. Dieser kommuniziert über das Matrix Protokoll mit dem Synapse Matrix Server. Wir auch bei Mastodon oder E-Mail können Server mit anderen Servern kommunizieren und damit ist eine uneingeschränkte Kommunikation mit allen Benutzern in der Matrix möglich.

Die Adressen bauen sich so auf, dass einem @ der Benutzername am Server folgt, danach ein : gefolgt von der Domain.

Meine Adresse ist z.B.:

  • @karl:matrix.ctseuro.com

Es gibt drei Arten von Adressen:

  • 1:1 Chat Adressen starten mit einem @, wie oben bei meiner Adresse

  • Gruppenchats starten mit einer #

Ich habe z.B. einen Raum #kmj:matrix.ctseuro.com angelegt, welcher öffentlich zugänglich ist. Am einfachsten Betreten können Sie Räume in dem Sie

/join #kmj:matrix.ctseuro.com

in der Box eingeben, in der Sie sonst schreiben.

  • Communities starten mit einem +

Die Auswahl fiel auf Matrix/Riot da oben genannte Anforderungen erfüllt werden und:

  • Multi Device fähig, d.h. Sie können von PC, Tablet und Smartphone, bei Bedarf auch von mehreren davon, gleichzeitig eingelogged sein und alle Geräte sind in Sync. Egal welches Gerät gerade verwendet wird, es wird nie etwas verloren.

  • Riot kann auch Telefonie (1:1 und Gruppe), sowie Video (1:1), wobei die VoIP Kommunikation in verschlüsselten Räumen auch verschlüsselt ist.

  • Wenn man sich angewöhnt, pro Projekt, Agenda, oder Todo einen Raum anzulegen, bleibt alles total übersichtlich und die Arbeit wird brutal erleichtert. Ich habe zusätzlich viele Räume nur für mich, als eine Art Notiz.

  • Setup und Wartung des Servers ist extrem einfach und bis auf die Updates und einige smarte Cron Jobs ist dieser weitestgehend Wartungsfrei.

  • Der Riot Messenger wird von Jung und Alt sofort verstanden und setzt Null IT-Wissen voraus. Das erleichtert es sehr, dass auch unbedarfte Anwender auf Riot wechseln.

  • Kommunikation zwischen Benutzern am eigenen Server verlässt den Server nicht, andernfalls sind nur die beteiligten Server in die Kommunikation eingebunden. Damit ist auch ein zentrales Sammeln von Metadaten ausgeschlossen. Sicherheit und Privatsphäre wie sie sein sollte.

  • Automatisierung mit Bots. Wir haben z.B. verschiedene Räume für News, Security, Softwareupdates und vieles mehr, bei dem der Bot definierte RSS Feeds einspielt. So hat man in einem System alles im Überblick und verschwendet keine Zeit.

  • Es gibt noch viele gute Gründe, insbesondere auch die DSGVO, die zum Umstieg von zentralisierten Messengern bewegen sollte. Leute die Ihr Adressbuch inklusive meiner privaten Kontaktdaten, eventuell sogar eines Bildes, ohne zu fragen an Dritte übermitteln waren mir schon immer ein Dorn im Auge. Mit dem Bild kann z.B. eine Gesichtskennung durchgeführt werden und wie der letzte aktuelle Fall zeigt, hat eine US Firma Millionen von Bildern genau für so etwas gesammelt.

https://www.onvista.de/news/presse-us-firma-sammelte-milliarden-fotos-fuer-gesichtsdatenbank-320518431

Ich habe Whatsapp oder andere Messenger, außer Tox über das Tor Netzwerk und ähnliche, insbesondere für Journalisten oft wichtige Anonymisierungslösungen, nie verwendet und sollte jemand Riot und PGP Mail ablehnen, gibt es ja noch immer das Telefon :-).

Für alle Freunde und Selbsthoster finden sich hier Anleitungen für Server und Client:

Server:

Client:

Kommerzieller Support und Consulting gerne über:

  • support@cts-solutions.at oder Riot: @karl:matrix.ctseuro.com

Arbeitsplätze

Problematischer wurde die Umstellung bei den Arbeitsplätzen, da es in früheren Zeiten einige proprietäre Softwareprodukte ohne Open Source Alternative gab. Viele dieser Anbieter haben sich, aufgrund falscher Programmierung, bzw. fehlender Innovation und Ausbildung der Programmier mit anderen proprietären Softwarelösungen und Betriebssystemen so verbunden, dass ein Entkommen nicht mehr möglich ist.

Alle diese Firmen, inklusive vieler Banksoftwareanbieter, werden ohne Angebot für andere Betriebssysteme in den nächsten Jahren vom Markt verdrängt werden. Auch wenn mir bewusst ist, dass Linux noch kein Massenmarkt ist, diese Anbieter haben mit Produkten aus dem Hause Apple unter OSX genau dasselbe Problem. Apple ist mittlerweile in einigen Branchen durchaus eine nennenswerte Stückzahl und bei Linux ist der Start in den Massenmarkt nicht mehr weit.

In unserem Hause gab es aufgrund der Verwaltung von mehreren 100.000 Bildern unserer 270 Fotografen im Geschäftsbereich Bildagentur und im Bereich Desktop Publishing im Bereich der veröffentlichten Bücher Anfangsprobleme geeignete Software zu finden. Die Fakturierung wurde bereits früh auf eine Web basierte InHouse PHP Lösung, welche weitestgehend automatisiert ist, umgestellt.

Nach vielen Tests der Softwarebestandteile wurden nun alle Arbeitsplätze und Notebooks auf Debian Linux mit XFCE Desktop umgestellt. Für Anfänger empfiehlt sich eher KDE als Desktop.

Es folgt eine kurze Liste an verwendeter Software, welche intuitiv, performant und Arbeitszeit schonend auch von Mitarbeitern mit geringen IT Kenntnissen rasch eingesetzt werden kann. Für alle Softwareprodukte können Arbeitsanweisungen leicht erstellt und Einschulungen auch durch Mitarbeiter mit Basis IT Kenntnissen einfachst durchgeführt werden.

Die Verwendung von privatem Equipment, Notebooks, PCs, Tablets, Smartphones und dergleichen ist in jedem Fall zu verbieten und ein Zugang von diesen Geräten zum LAN über Kabel oder WLAN muss verhindert werden. Zusätzlich darf kein Gerät, welches außerhalb des LAN Netzwerkes eine Netzwerkverbindung hatte, jemals wieder im LAN angeschlossen werden.

Softwareliste (Alle Open Source und Lizenzkostenfrei)

  • https://debian.org Betriebssystem Debian Linux mit XFCE (als Anfänger verwenden Sie ev. KDE)

  • https://www.veracrypt.fr/ VeraCrypt portable Datei, USB Stick und Festplattenverschlüsselung für Windows, Mac OSX and Linux

  • https://www.libreoffice.org Office Suite mit kompatibler Textverarbeitung, Kalkulation, etc. für Windows, Mac OSXund Linux

  • https://www.scribus.net/ Scribus ist ein professionelles freies Desktop-Publishing-Programm für Linux-, Unix-, macOS-, OS/2-, Haiku- und Windows-Systeme, das unter der GNU General Public License. Wir erstellen damit z.B. die druckfertigen PDF für unsere Hardcover Bücher.

  • http://www.calibre-ebook.com/ zur Verarbeitung, Konvertierung und Verwaltung von E-Books für Linux, Mac OSX und Windows.

  • https://www.thunderbird.net/ Thunderbird Email Programm mit WebDAV Kalender und Adressbücher (Cardbook Addon). PGP mit Enigmail Addon. Verfügbar für Windows, Mac OSX und Linux.

  • https://www.mozilla.org/ der Firefox Browser (ohne Anonymisierung)

  • https://www.torproject.org/ der Tor Browser (Anonym) Alle Systeme inkl Android

  • https://joplinapp.org/ Notizen verschlüsselt auf WebDAV speichern und synchronisieren

  • https://www.gimp.org/ Gimp Bildbearbeitung

  • https://www.digikam.org/ Fotomanagement, Leuchttisch, Bearbeitung, Stapelverarbeitung, u.v.m.

  • https://rawtherapee.com/ Foto RAW Dateien bearbeiten

  • Mat2 EXIF Cleaner (Debian Package)

  • https://www.shotcut.org/ Shotcut Video Editor - richtig professionell. Selbst damit Videos mit Special-Effects gemacht. Direkter Vergleich mit dem proprietären Produkt braucht nicht gescheut werden.

  • https://www.blender.org/ eine freie, mit der GPL lizenzierte 3D-Grafiksuite, mit welcher sich Körper modellieren, texturieren und animieren lassen. Diese können in Grafiken, Animationen und Software systematisiert werden. Geschaffene Bildsynthesen können mit Hilfe des integrierten Compositors und Videoschnittprogramms nachbearbeitet werden

  • VLC Video Player

  • https://handbrake.fr/ Videos in verschiedene Formate konvertieren, auch Stapelverarbeitung

  • https://www.audacityteam.org/ eine Digital Audio Workstation. Auf beliebig vielen Spuren können Audiodateien gemischt und bearbeitet werden.

  • https://www.hohnstaedt.de/xca/ X - Certificate and Key management

Im Detail findet sich noch weitere, aber aufgrund der Spezialisierung im IT Bereich für normale Benutzer nicht verständliche Software. Wer sich einmal als Hacker versuchen will, für den gibt es Kali Linux mit bereits installierter Software wie Metasploit.

Anmerkungen:

  • LibreOffice deckt die Anforderungen von 99% der Benutzer ohne Probleme ab. Der Spruch beim anderen Office kenne ich mich aus, geht glatt ins Leere, denn die meisten mit dieser Aussage versagen bei einem Versionswechsel des proprietären Produktes, da dann auch alles anders aussieht.

Wir haben mit LibreOffice alle Anforderungen abgedeckt und wenn die Formatierung anders aussieht, dann installiert der, der sich auskennt den passenden, aber eventuell fehlenden, Font und das Dokument sieht identisch aus. Zusätzlich kann LibreOffice PDF erstellen und bearbeiten und vieles mehr. Wer dann eventuell mit riesigen Kalkulationstabellen ein Problem hat, dem sei gesagt, dass Kalkulationen die nicht mehr nachvollziehbar sind, so und so anders gelöst werden müssen. Denn ein blindes Vertrauen in das Sheet des 3. Vorgängers ohne alles selbst nachrechnen zu können ist Selbstmord. Wir hatten bis jetzt kein einziges Problem mit LibreOffice und dieses erfüllt ohne Lizenzkosten alle Anforderungen.

  • Thunderbird ist ein E-Mail Client auf dem selben Hause wie der Firefox Browser und ist für Endanwender ohne IT Kenntnisse einfach zu bedienen. Für Profis bietet Thunderbird extrem viele Features, welche alle Anforderungen von IT-Pros und IT-Semi-Pro Benutzen abdecken.

  • Zum Firefox Browser und empfohlene Plugins gibt es auf der Seite einen Eintrag: https://kmj.at/mehr-privatsphaere-und-sicherheit-mit-kostenlosen-firefox-add-ons/

  • Den Tor Browser sollten Sie bei Recherchen oder heiklen Suchen, wie z.B. Medizin, Job und ähnliches, verwenden. Glauben Sie keine dummen Aussagen wegen illegal, Darknet, etc. von Personen ohne Kenntnisse von Overlay Netzwerken. Der Tor Browser anonymisiert Ihre IP Adresse und macht es auf der Webseite die besuchen unmöglich Sie aufgrund der IP zurück zu verfolgen. Zusätzlich verhindert der Tor Browser das Tracking und Sie könnten auch .onion Webseiten im Tor Netzwerk besuchen. Auch hier wird von IT ungebildeten immer Illegalität und Darknet beschworen. Ignorieren Sie diese Aussagen mit einem Lächeln und zeigen Sie, dass Sei mehr wissen!

  • https://de.wikipedia.org/wiki/Tor_(Netzwerk)

  • https://de.wikipedia.org/wiki/Anonymit%C3%A4t_im_Internet

Eine Tor Netz Adresse sieht z.B. so aus. Hier die Adresse der identen KMJ.at Seite im Tor Netzwerk:

Weiterführende Literatur, insbesondere für Journalisten:

Smartphone und Tablet

Dieser Bereich ist der schwierigste, denn man riskiert die Garantie des Gerätes und die Installation ist nicht für jedermann einfach durchzuführen. Lernwille, Geduld und Pioniergeist sind ein Muss um sich von den großen Datensammlern zu befreien. Mittelfristig, nach deren Fertigstellung, ist geplant auf Linux Smartphones wie das Librem5 (https://puri.sm/products/librem-5/) oder das Pinephone (https://www.pine64.org/pinephone/) umzusteigen.

Aktuell werden alle Geräte mit LineageOS ohne Google Apps (gapps) betrieben. Da es sich hier um ein sehr spezielles technisches Gebiet handelt verweise ich auf andere Artikel hier im Blog:

GPS Tracking

Professionelles GPS Tracking für Privat und Business ohne Lizenzkosten und ohne Daten an Dritte zu senden! Auch hier ein Verweis auf einen anderen Beitrag:

Geschafft

Das Ziel wurde im Oktober 2018 erreicht und, obwohl viel gelernt und getestet werden musste, wurde dieser Schritt keine Sekunde bereut!

Seit der Komplettumstellung ist unsere IT seit über einem Jahr störungsfrei, einfach und immer aktuell in Betrieb. So gut wie alle Projekte haben eine engagiert Community und helfen über Foren, IRC, Riot und Mailinglisten bei Problemen. Bugtracker listen bekannte Probleme und Sicherheitsupdates sind meist raschest verfügbar. Es benötigt keine Lizenzverwaltung mit dem damit verbundenen Aufwand. Die eingesparten Lizenzkosten sind für gute Administratoren, bzw. Einsparungen, in jedem Fall besser angelegt. Im worst case kann man die Software selbst umprogrammieren, da man ja den Source Code verfügbar hat.

Zusätzlich finden sich viele Spezialisten, welche sich für Support, Hilfe, oder Projekte auch freiberuflich anwerben lassen.

Firmen wie die CTS (https://cts-solutions.at) bieten zum Beispiel auch reine Level 2 und 3 Remotewartungen, Schulungen, Consulting und Planungshilfe um lokale Administratoren zu unterstützen.

Es sei mir noch ein Verweis auf einen Übersichtartikel zum generellen Verhalten im Netz erlaubt:

Zum Abschluss sollten Sie noch prüfen, ob Ihre Lieblingsseiten Ihr Surfverhalten an Dritte weiterreichen und durch schlechte Programmierung oder Vorsatz Ihr Vertrauen missbrauchen.

Noch ein Hinweis: Im Blog Bereich der Webseite finden sich zu fast allen genannten Themen Einzelartikel und Anleitungen. Fragen gerne im Riot Raum #kmj:matrix.ctseuro.com, den sie mit

/join #kmj:matrix.ctseuro.com

betreten können. Bitte beachten Sie, das E-Mails bei mir nicht mehr wirklich verwendet werden und 90% der Kommunikation, inkl. des Kundensupports auf Riot umgestellt ist. Gerne können Sie kommerzielle Anfragen für die CTS GMBH via Riot @karl:matrix.ctseuro.com an mich adressieren.

Natürlich wird die E-Mail Adresse support@cts-solutions.at ein bis zweimal am Tag auch abgerufen.

Wer bis hierher gelesen hat, ist vermutlich vom der Befreiung durch diesen Umstieg genauso fasziniert wie ich und ich hoffe, dass einige derer, die bis zum Ende lesen, den Schritt auch wagen.

Step-by-Step, es muss ja nicht alles auf einmal sein und lassen Sie sich nicht von Halbwissen, oder reflexartigen Abwehrhaltungen durch die dem Menschen angeborene Faulheit, von diesem Weg abbringen.

Ich freue mich auf Feedback im Raum #kmj:matrix.ctseuro.com!

Wie kann ich prüfen ob eine Webseite meine Daten zu Dritten sendet

Ich erhalte viele Anfragen von Benutzern, die sich beim surfen im Internet bezüglich Ihrer Privatsphäre große Sorgen machen. Um zu verstehen was Tracking ist, wie es funktioniert und warum jeder etwas zu verbergen hat, wird im folgenden dargelegt.

Was ist Tracking und warum will man nicht getrackt werden.

Generell gibt es mehrere Formen von Tracking, alle laufen darauf hinaus, ein Profil von Ihnen zu erstellen und möglichst genau zu wissen, was Sie tun, mit wem Sie kommunizieren und vieles mehr.

Tracking unterscheidet sich auch in der Form des verwendeten Gerätes. Am schlimmsten ist das Tracking mittels Programmen am Smartphone oder Tablet mittels von Werbeleute App genannter Software, welche mit Ihren Berechtigungen am Gerät, meist auch im Hintergrund, laufen. Eine App ist generell Software, ein Programm, dass auf Ihrem Gerät alles machen kann, dass Sie mit Ihren Berechtigungen auch können. Sehr gefährlich, insbesondere für reine Anwender ohne IT Spezialwissen.

Smartphone und Tablet

Vielfach wollen diese Programme (Apps) Zugriff auf:

  • Ihr Adressbuch (sehr gefährlich, denn das Senden von Adressen an Drittanbieter verstößt gegen die Datenschutzgrundverordnung und kann Ihnen eine Menge Probleme, im schlimmsten Fall Klagen und hohe Schadensersatzforderungen einbringen. Oder haben Sie von jedem Ihrer Kontakte die schriftliche Einwilligung seine Adresse an andere zu verteilen?)

  • Ihren Kalender (extrem gefährlich da hier massive Profildaten erhoben werden können, inkl. Meta Daten über Kommunikationspartner bei Kalendereinladungen in beide Richtungen)

  • Ihre GPS Daten (eines der gefährlichsten Dingen, denn damit erhalten Dritte ein exaktes Bewegungsprofil und können auch ein Matching mit anderen Personen, welche sich aktuell an diesem Standort befinden durchführen. Diese Daten wollen Sie in keinem Fall weitergeben, denn dumm in ein Raster gefallen könnte sich Ihr Leben in Sekundenschnelle dramatisch verändern. Nur weil Sie an einem Standort waren, wo jemand anderer auch ist.)

  • Ihre SMS (Wenn diese Daten öffentlich wären, würden Sie diese auf einer Postkarte versenden,)

  • Ihre E-Mails und je nach Gerät kommt die App dann auch an die Zugangsdaten Ihres Mailservers und kann die Daten auch direkt, ohne Ihr Zutun abrufen und lesen. Auch wenn Sie nichts zu verbergen haben, Ihre Kommunikationspartner könnten Ihnen die Veröffentlichung des E-Mail Verkehrs durchaus übel nehmen. Klagen und Schadenersatz nicht ausgeschlossen.

  • Ihre Messenger Kommunikation. Mit diesen Kommunikationsdaten wurden schon Jobs verloren, Ehen geschieden und vieles mehr. Bedenken Sie, dass eine App eventuell Zugriff auf End-to-End verschlüsselte Daten hat, da die App am Gerät die Daten eventuell auch dechiffriert sieht.

  • Microfon und Kamera. Das übelste, denn wenn hier ein Zugriff besteht führen Sie eine eventuell filmende, alles hörende Wanze mit sich und Sie wissen noch nicht einmal ob irgendwo im Netz jemand live zusieht oder mithört. Es ist mir unverständlich warum Smartphones und Tablets noch immer bei Besprechungen erlaubt sind. Ein kompromittiertes Gerät reicht aus um z.B. durch Verlust eines Auftrages einen riesigen Schaden zu verursachen. Die Möglichkeiten sind vielfältig und es gibt Szenarien für jedermann.

Damit sind Ihre Daten im Falle eines Hacks des Drittanbieters der die Daten erhält bereits weitgehend der Öffentlichkeit preisgegeben. Wenn Sie das nicht glauben und jetzt denken - „Der lebt in einer anderen Welt“ - dann nehmen Sie sich etwas Zeit und lesen Sie am besten per RSS Newsfeed:

• https://www.bleepingcomputer.com/ 
• https://www.heise.de/security/ 

Es gibt einiges mehr, insbesondere wenn jemand tiefer in die Materie eintaucht, aber mit oben genannten ist das notwendige Tages-Minimumwissen für alle Anwender ohne Spezialwissen im Kurzüberblick abgedeckt. Millionen von gestohlenen Datensätzen, oftmals durch laienhafte Security bei kleinen und großen Unternehmen leicht zu ergattern, sind Online auch von renommierten Firmen verfügbar. Aktuell ist gerade ein Data Breach mit Daten eines großen Kreditkartenunternehmens im Umlauf der aufgrund der Datenmenge durchaus interessant werden könnte.

Um nur ein Beispiel zu nennen, welches in den USA reihenweise Existenzen zerstört hat, sei der Equifax Hack genannt. Eine in den USA sehr wichtige Kredit Auskunftei, denen 143 Millionen Datensätze amerikanischer Bürger gestohlen wurden. Die folgen für Einzelne sind im Detail noch immer nicht ganz abzuschätzen, aber hier wurden Existenzen, Firmen und mehr vernichtet. Einfach nach „Equifax Hack“ suchen und lesen um zu verstehen, wir kritisch die Situation ist und warum jeder etwas zu verbergen hat.

Bei Smartphones und Tablet existiert zusätzlich das Problem, dass wenn eine Mobilfunkverbindung existiert und Benutzer mit einem Standard-Betriebsystem arbeiten, keine Firwall den ausgehenden Datenverkehr blockiert. D.h. das senden von Daten zum Datensilo geht im Normalfall immer und jede App kann, ohne dass normale Benutzer den Traffic prüfen oder blockieren kann, über das mobile Netz Daten senden. Niemand weiß welche Daten übertragen werden. Profis testen Apps auf solche Übertragungen und können Apps dadurch etwas besser bewerten.

In Summe sollten keine Apps installiert werden, sonder immer nur die Webanwendung verwendet werden. Kombiniert mit einem guten Browser ala Firefox und einigen Addons, lässt sich so am Smartphone oder Tablet das Laden von Drittanbietern zum Tracking recht gut verhindern und wenn der Browser geschlossen wird, läuft keine Datensammel-Anwendung im Hintergrund. Mit der Verwendung des Browsers ist man am Smartphone oder Tablet in etwas auf der selben Ebene wie weiter utnen für Desktop Arbeitsplätze geschildert.

Wenn es unbedingt eine App sein muss, dann verlangen Sie vom Anbieter eine APP aus einem Open Soure App Store, ala F-Droid für Android und LineageOS. Open Source Anwendungen werden meist von vielen Entwicklern geprüft und damit wird das Risiko maximal minimiert.

Sollte der Anbieter keine Open Source App anbieten, verlangen Sie genaue Angaben über die verwendeten Entwicklungstools. Eines der Hauptprobleme bei Apps ist, dass man oft schnell und billig, ohne Fokus auf die Sicherheit, die App auf den Markt bringen will. Vielfach wird die App mit sogenannten Tools und Frameworks erstellt, welche das Programmieren erleichtern, jedoch wenn ein sicherheitsrelevantes Update des Tools ansteht, die App unbedingt neu compiliert und upgedatet werden muss. Wenn der Anbieter diese Updates nicht beachtet, ist Ihr Gerät oftmals verloren!

Um nur ein Beispiel zu nennen:

Sollte Ihr Anbieter angeben, dass er z.B. mit Ionic seine Apps entwickelt, können Sie auf eine CVE Webseite bezüglich der Sicherheitsrelevanten Einträge (CVE) suchen:

https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ionic

Die Liste zeigt die bekannten CVE an und so kann man mit dem Anbieter abklären, ob alle Patches in der App eingebracht sind. Für Benutzer nicht ganz einfach, aber wenn mehrere Anwender in dieser Richtung agieren, werden App Anbieter in Zukunft anders agieren.

Anbieter die die Privatsphäre Ihrer Benutzer schützen bieten Webseiten, welche mit dem Browser alle Features bieten. Damit ist es ein leichtes eventuelle Datenübermittlungen an Dritte zu finden, zu blockieren und durch Beenden des Browsers auch jede Aktivität einzustellen. Das ist die beste Methode, denn hier ist der Browser als Schutzschild zwischen anbieter und Benutzer.

Benachrichtigungen kann man sich auch als E-Mail oder Riot.IM Messenger Nachricht zustellen lassen. Dazu braucht es keine App, welche das persönliche Risiko dramatisch erhöht.

Tracking mit dem Browser des Dektop PC‘s

Hier wird es nun viel einfacher festzustellen, wem die Privatsphäre der Benutzer nichts wert ist, bzw. wer Daten sammelt. Und wohlgemerkt, es spricht nichts dagegen auf dem Hausinternen Server, zu die Webseite analysieren. Aber es dürften keine Daten an Dritte, insbesondere nicht außerhalb der EU, gesendet werden.

Es gibt Software wie Matomo, welche wir bei CTS zur Feststellung von Einbruchs und Hackversuchen auch verwenden, die Webseiten für verschiedene Zwecke analysieren kann. Im Fall dieser Webseite zum Monitoring von Einbruchs und Hackversuchen. Aber all dieses Software muss aus dem selben Servernetz geladen werden und keine Daten weitergeben. Eine Einführung zum Tracking findet sich im Wikipedia:

  • https://de.wikipedia.org/wiki/Web_Analytics und im Prinzip läuft alles auf die selbe Methode hinaus:

  • Sie geben im Browser www.zumbeispiel.com ein

  • Ihre Browser lädt vom Server www.zumbeispiel.com die Seite

  • Der Anbieter versteckt aber auf der Seite Ladevorgänge die den Browser Daten von anderen Servern laden lassen. Dazu gehören Fonts, Scripts und bei Web Anbietern die zu schwache Server betreiben um den Traffic zu bewältigen, das Laden der Daten von sogenannten CDN‘s. Vergessen Sie alle Ausreden, mit einem gut installierten Server mit ausreichend Resourcen kann alles von eigenen Servern geladen werden und man benötigt keine Daten von Drittanbietern!

  • Das Problem ist, dass jedes Laden von anderen Servern dort einen Logeintrag und andere Spuren hinterlässt und dieser Drittanbieter dann weiß auf welcher Seite Sie ich befinden, was Sie dort machen, etc. Mit JavaScript werden Drittserver teilweise erst bei Ausführung geladen um Blocker auszuschalten. Wenn der Datensammler global agiert, hat er ein komplette Bild Ihrer Person und Ihres Verhaltens.

Verwenden Sie wenn möglich den Tor Browser zum Surfen, diese anonymisiert Ihre IP Adresse und gitb auch keine Daten weiter. Der Tor Browser ist die erste Wahl, wenn Sie zum Beispiel nach Krankheiten, Krediten und anderen Problem, welche nicht öffentlich aufscheinen sollen suchen. Damit schützen Sie sich und stellen keine Verbindung zwischen Ihnen und der kritischen Suche her. Ein Profil mit Suchen nach Krankheiten oder auch nur nach Jobs, kann in den falschen Händen Ihr Leben durchaus in andere Bahnen lenken.

Sollten Sie nicht in der Lage sein Software zu installieren, dann verwenden Sie zumindest den Firefox Browser und installieren die Plugins meine Blog Eintrages:

Damit sind Sie schon sehr gut geschützt und der Aufbau eines Profils über Sie wird massiv erschwert.

Tracker und anderes anzeigen:

Die Plugins uMatrix und uBlock zeigen sehr gut, woher gewisse Seiten Daten laden und damit auch wohin diese Seite Daten sendet. Installieren Sie uBlock und uMatrix und lassen Sie sich anzeigen, wohin Ihre Daten gesendet werden. In den meisten Fällen sehr unschön und es gibt Seiten die Daten an 50 Drittserver senden, nur wenn Sie einmal hinsurfen.

Senden Sie doch dem Geschäftsführers der Webseite Ihres Vertrauens eine E-Mail mit der Frage, wie er das vertreten kann. Der unten angeführte Screenshot ist von einer hier abonnierten Zeitung, welche dieses E-Mail jetzt auch bekommt, denn Daten an so viele Drittanbieter zu senden ist fragwürdig, in keinem Fall seriös und unter Umständen laut DSGVO strafbar.

Und Nein, es sind keine Schnuddelseiten, welche Daten missbrauchen, vielfach sind es sogenannte seriöse Anbieter die hier an der Grenze der Legalität agieren.

Abstrafen sollte so etwas der Benutzer und diese Seiten einfach meiden. Es gibt immer Alternativen!

Ich habe den Namen der Zeitung ausgeblendet, aber schauen Sie sich mit uMatrix udn uBlock an, wem Ihre Privatsphäre vollkommen egal ist! Sie werden sich wundern!

Viel Spaß beim surfen!

Ein EDV Leben ohne Lizenzkosten für Business und Privat!

Keine Lizenzkosten mit Open Source Software betrieben auf modernen Betriebssystemen!

Ich habe auf die letzten Blog Beiträge viel positives Feedback erhalten und die meisten Business- und Privatanwender träumen von einem IT Betrieb ohne Lizenzkosten und ohne bei neuen Systemen auf die Anzahl der Installationen achten zu müssen und vielem mehr. Bei vielen Managern stehen natürlich die Einsparungen der Lizenzkosten an oberster Stelle, aber es hat sich mittlerweile auch durchgesprochen, dass selbst gehostete System, welche die Privatsphäre schützen und so wenig wie möglich Daten an Dritte und Tracker übermitteln eine Bereicherung für jeden einzelnen sind.

Sicher ist, da die Lizenzkosten die letzte wirkliche Einsparungsmöglichkeit im IT Bereich sind, dass sich Open Source Software und Betriebssysteme nun weit stärker im Firmenumfeld durchsetzen. CFO‘s und CEO‘s werden sich hier stark engagieren um über diese Schiene die letzte Einsparungsmöglichkeit auszunutzen.

Natürlich ist mir klar, dass es nicht in allen Fällen zu 100% möglich ist umzustellen und es auch einige geben wird, die Ihre Daten auf Servern von Fremden im Internet (aka Cloud) speichern werden. Bei letzteren ist das Verhalten vollkommen unverständlich, denn wenn man diese Verantwortlichen fragt, ob sie Ihre wichtigen Firmendaten auf irgendwelchen Servern im Internet speichern würden, ist die Antwort meist ein Nein. Versehen mit dem Marketingmascherl Cloud gibt es dann doch welche, die alle Daten auf solchen Servern speichern. Der Anteil diese Cloud User ist in Wirklichkeit aber sehr gering.

Mit dieser Spezies, die im Normalfall in dem Irrglauben, die eigene Verantwortung delegieren zu können und gleichzeitig alles billiger wird, lebt, wollen wir weder heute noch an anderer Stelle Lebenszeit vergeuden. Meist existiert hier eine Beratungsresistenz.

Der Fokus liegt auf Verantwortlichen, welche zukunftsorientiert, offen, hungrig nach Weiterbildung und an neuem, vielfach besserem interessiert sind.

Wie schon in vielen Blog Einträgen hier auf meiner Seite geschrieben, wurde in meinem Umfeld und bei der CTS die komplette IT und auch mobile Geräte auf Open Source umgestellt. Ich höre jetzt schon viele sagen – Das kann ich nicht -. Doch, das kann jeder, mit ein paar ganz wenig Ausnahmen, wo spezielle Software benötigt wird und es nur Anbieter proprietärer Software gibt, welche die Zeichen der Zeit nicht erkannt haben und sich mit weiterer proprietärer Software anderer Anbieter so verknüpfen, dass es für diese keinen Ausweg aus der Falle – gebunden an ein Betriebssystem – gibt. Solche Systeme sollte man in einem eigenen VLAN betreiben, bis eine alternative Software erscheint und es darf gesagt werden, dass es mittlerweile für fast alle Anforderungen Open Source Lösungen gibt.

Das heißt natürlich nicht, dass Open Source Software keine Fehler hat und nicht auch hier ab und zu Probleme auftreten. Aber die Community, insbesondere bei den größeren Projekten, ist im Normalfall extrem schnell mit Fehlerbehebungen, welche in vollem Umfang auf der Projektseite nachvollzogen werden können. Bei Open Source Software ist auch jede Änderung für alle offen prüfbar. Zusätzlich kann man immer auch einen Programmierer (Freelancer) anheuern, welcher den Fehler korrigiert. Das ist Freiheit, ohne zu warten, ob ein Hersteller vielleicht irgendwann einen Patch heraus gibt, bei dem wieder nicht bekannt ist, welche Modifikationen vorgenommen werden.

Für besonders Interessierte habe ich ein Buch veröffentlicht, welches viele Details anspricht:

„Zero License Costs? It is possible!: This book will show you that it is possible to run your IT without any license costs. (CTS IT PRO E-Books 12)“ erhältlich bei Amazon https://www.amazon.com/dp/B072VGSQHF

Hier nun eine kurze Zusammenfassung eines freien Lebens mit IT:

Server

Alle meine privaten Server und die Server der CTS werden bereits seit 1995 fast durchgehend unter FreeBSD betrieben. Bald danach kamen noch Server unter Debian Linux hinzu und eine gewisse Zeit gab es auch wenige proprietäre Server von kommerziellen Betriebssystem Anbietern. In den späten 90ern war das Leben noch nicht so frei und einfach wie heute.

Seit mehreren Jahren, insbesondere da der XRDP Server unter Debian Linux mittlerweile auch sehr stabil läuft, werden alle Internet Server unter FreeBSD und Debian Linux betrieben. Operative Terminal Server für den Büroalltag betreiben wir unter Debian Linux mit XRDP, natürlich geschützt durch die Open Source VPN Lösung OpenVPN und hoch professionelle Open Source PfSense Firewalls.

Natürlich wird auch der E-Mail Server, sowie der Spam und Virenschutz selbst betrieben und im Haus gehostet. Eine Speicherung von unverschlüsselten E-Mails auf fremden Servern im Netz würde ich als unverantwortlich bezeichnen und bin der festen Überzeugung, dass Mails und deren Metadaten (wer-mit-wem mailt, etc.) nur im eigenen Haus betrieben werden sollten.

Mit OwnCloud wird hausintern eine eigene Lösung zum Speichern und Teilen von Daten, auch mit Dritten, betrieben. Natürlich ist auch dieser Server, da sensible Daten, im eigenen Haus.

Zusätzlich werden Server für Mastodon, eine dezentralisierte Open Source Micro Blogging Alternative, und Matrix/Riot.im, einer dezentralisierten, sicheren, Open Source Messenger und Kommunikationsplattform betrieben. Wie schon früher geschrieben, wurde mein alter Facebook Account, seit dem Umstieg auf Matrix/Riot.im, mit einem Script komplett geleert und existiert nur mehr als leere Hülle mit dem Hinweis auf meine Mastodon und Matrix/Riot.im Accounts. Einen Twitter Account, welcher die kommerzielle Alternative zu Mastodon wäre, habe ich privat nie gehabt.

Mit circa 1,5 Jahren relativ neu im Einsatz ist die Open Source Virtualisierungsplattform Proxmox, welche die frühere kommerzielle Variante ersetzt hat. Proxmox ist ein wirklicher Geheimtipp, der hier vollkommen fehlerfrei seinen Dienst versieht und viele Features beinhalten, welche bei kommerziellen Produkten hohe Aufpreise bedingen. Zum Beispiel das geniale Backup der virtuellen Maschinen, inklusive der eindrucksvollen Rücksicherungsmöglichkeit.

Und auch im Serverbereich gibt es keine wirkliche Ausrede, auch nicht für Privatanwender. Kleine Anwendungen können auch auf einem Raspberry für 40 € im eigenen Haus geräuschlos betrieben werden.

Es werden natürlich noch weitere Server betrieben, inklusive einer vollkommen eigenständigen public DNS Infrastruktur mit Hidden-Primaries und Web-basiertem Verwaltungstool. Den Betrieb von öffentlichen DNS Servern empfehle ich aber nur wirklichen IT Profis mit langjähriger Erfahrung auf diesem Gebiet.

In Summe besteht der Proxmox Cluster aus 4 Cluster Servern mit 40 CPU‘s, 140GB RAM und 4 TB Storage auf gespiegelten FreeBSD NAS Systemen. In Summe laufen 39 virtuelle Maschinen im Cluster. Eine beeindruckende, stabile Leistung, rein mit Open Source Software Lösungen. Alles komplett ohne Lizenzkosten.

Arbeitsplätze

Die verwendeten Arbeitsplätze, Desktops und Notebooks, werden alle unter Debian Linux mit XFCE als Desktop betrieben. Die Arbeitsplätze reichen von kleinen Netbooks bis hin zu i7 Systemen mit 16 GB RAM und 4 * 1920x1080 Monitoren zur Bildbearbeitung und zur Webseitenerstellung.

Generell wird nur LibreOffice als kompatible Office Anwendung verwendet. Einfach alle Fonts installieren, dann gibt es auch bei komplexeren Dokumenten keine Formatierungsprobleme. Textverarbeitung, Kalkulation, Präsentation und kleinere Datenbankanwendungen werden damit professionell und kompatibel abgedeckt. LibreOffice gilt auch als sicherer im Sinne der Angriffe mit Macros und anderen Bösartigkeiten. LibreOffice ist Open Source und komplett kostenlos. Es kann sogar parallel mit der kommerziellen Variante auf einem System betrieben werden um es zu testen.

Die Bedienung von LibreOffice ist kinderleicht und kann von ungeübten Benutzern in kürzester Zeit genauso beherrscht werden, wie die sehr teure kommerzielle Alternative. Funktionen und Buttons sind sehr ähnlich, d.h. für alle ohne jegliches Problem anwendbar und ohne Zeitaufwand in der Schulung im Rahmen einer Umstellung.

Da die CTS E-Mails in großen Umfang abarbeiten muss, wird eine professionelle Software als E-Mail Programm verwenden. Mit Mozilla Thunderbird, aus dem Hause des großartigen Browsers, werden alle Wünsche professioneller E-Mail Anwender genauso abgedeckt, wie die von Einsteigern. Mit dem Lightning Kalender als Standard Addon können auch professionelle Kalender via dem Industriestandard CalDAV eingebunden werden. Mit dem CardBook Plugin können via dem Industriestandard CardDAV zentrale Adressbücher eingebunden werden. Das alles mit Multi- Account, Multi-Identity und vielem mehr. Profis bei CTS arbeiten damit am Tag hunderte E-Mails in hunderten Unterordnern auf einfachste, Performance optimierte Weise an. Thunderbird und die Plugins sind natürlich Open Source und Lizenzfrei. Thunderbird gilt als extrem sicher und kann auch auf Text-only E-Mails umgestellt werden. Damit schützen Sie sich und Ihre Kontake vor unschönen Dingen in HTML E-Mails. Profis senden Text-Only!

Viele weitere Open Source Produkte runden die Installation ab. PGP Verschlüsselung für End-to-End verschlüsselte E-Mails, welche auch, egal bei wem und auf welchem Server. verschlüsselt am Server gespeichert werden. DigiKam, RawTherapee und GIMP für die professionelle Bildbearbeitung und IPTC Beschriftung, Shotcut für perfekten Videoschnitt inklusive Einbringung von Special-Effects, Audacity als professionellen Voice Editor, Blender als 3D Software, Scribus und Calibre für die Erstellung von Büchern und E-Books und vieles mehr sind kostenlos verfügbar.

Für Warenwirtschaft und Fakturierung sind kleine bis wirklich große Enterprise ERP Lösungen verfügbar. Dieses Thema würde einen eigenen Blog Eintrag füllen, aber es gibt für jede Unternehmensgröße eine Lösung. Von Kassabuch bis x-1000 Mitarbeiter ERP System.

Zum Surfen im Internet wird natürlich der gute Firefox Browser mit Sicherheits-Plugins, siehe https://kmj.at/mehr-privatsphaere-und-sicherheit-mit-kostenlosen-firefox-add-ons/ , verwendet.

Dazu unbedingt auch den Tor Browser für anonymes Surfen installieren. Das Tor Netz ist mittlerweile so groß und schnell, dass man sogar Videos schauen kann und auch wenn man nichts zu verbergen hat, geht es andere ganz einfach nichts an wo und wie man surft. Zur Suche qwant.com oder duckduckgo.com als Alternative zum Datensilo verwenden.

Verschlüsselter Messenger und verschlüsselte Telefonie, auch mit Dritten erfolgt nur über den Riot.IM Messenger angebunden an den eigenen Server im dezentralisierten Netz. Mitlesen durch Datensilos ist unerwünscht und wird dadurch vollkommen ausgeschlossen.

Natürlich sind auch Video Player und andere Kleinigkeiten die das Leben nett machen, an Bord.

Updates sind leicht und einfach durchzuführen und bei Linux Desktops ist neu aufsetzen eine seltene Ausnahme. Normalerweise, auch bei Releasewechsel, einfach updaten und fertig.

Die genannten Lösungen decken die Anforderung von 99% der Unternehmen ab und es ist eigentlich immer dieses - „Ich nehme das was andere nehmen, dann kann mich mein Boss bei Problemen nicht feuern!“ - , welches dem Unternehmen Kosten aufbürdet, welche nicht notwendig sind. Es ist zu bezweifeln dass kollektives Leiden mit anderen, dem Unternehmen bei Problemen ein Lösung schafft. Wissen, Weiterbildung und innovative, moderne Lösungen sind angesagt!

Die CTS hat ein sehr differenziertes Anforderungsprofil an Software, da nicht nur Textverarbeitung, Kalkulation, E-Mail, sondern auch die Erstellung von professionellen Webseiten, die Verwaltung und Bearbeitung von fast 200.000 Bildern der CTS Photo & Press Service Bildagentur und die Betreuung der IT Kunden zum Tagesgeschäft gehören. Ein reibungsloser Betrieb ist seit langem, ohne jede Lizenzkosten, gewährleistet.

Aktuell verbleibt ein einziges kleines Problem mit Banken, welche meist nicht in der Lage sind, außer für das proprietäre Betriebssystem eine Lösung anzubieten. In Wirklichkeit kein all zu großes Problem, da es hier nur bei Bankeinzügen trifft, welche über die Webanwendung nicht abgewickelt werden können. In Deutschland ist auch das kein Problem, denn für die HBCI Schnittstelle gibt es sogar Open Source Lösungen, welche alle Funktionen abdecken. Es ist aber zu erwarten, dass die Banken von modernen Kunden und auch von Apples MAC Anwendern zum Umdenken gezwungen werden und die fehlenden Funktionen vermutlich in die Web Anwendung integrieren. Zwischenzeitlich müssen österreichische Firmen auf ein deutsches Bankkonto mit HBCI für den Bankeinzug zurückgreifen. In Wirklichkeit ist alles lösbar.

Der Zwang von Banken Apps zu verwenden kann durch die Verwendung eines CardTAN Gerätes umgangen werden. Es ist zu empfehlen generell so wenig wie möglich Apps (Programme die mit Benutzerberechtigungen am Gerät laufen und Internetzugang haben) zu installieren und nur Webanwendungen, wodurch der Browser eine extra Schutzlinie ist, zu verwenden.

Mobile Geräte, Telefone und Tablets

Hier wird es etwas komplizierter, denn das Librem5 Telefon ist noch nicht ganz fertig. Die Zukunft für uns gehört, wenn die Marktreife geschafft wird, diesem Gerät. Hardware Kill-Switches für Micro und Kamera sind alleine schon ein Riesen Vorteil. Betriebssystem Linux und Open Source Apps eine gelungene Kombination.

Wenn man alle aktuell auftretenden Vorfälle bedenkt, dürfte niemand mehr eine Besprechung oder andere wichtige Besprechungen, privat oder beruflich, in Anwesenheit von Telefonen, Tablets, oder Sprachassistenten führen. Auch wenn man nichts zu verbergen hat, sind Wanzen eine unschöne Sache und die letzten Vorkommnsse haben gezeigt, das Home-Office Mitarbeiter zu den Sprachaufzeichnugnen kommen. Das war zu erwarten, aber wenn es jetzt auch bestätigt ist, sollte man diese Sprachassistenten in den Müll werfen und die paar Schritte zum Lichtschalter gehen. Fitness ist immer besser als zugängliche Gesprächem, die nicht für die Öffentlichkeit bestimmt waren.

Interessierte für alle Bereiche der Sicherheit lesen folgendes regelmäßig, am besten per RSS Newsfeed:

Es gibt einiges mehr, insbesondere wenn jemand tiefer in die Materie eintaucht, aber mit oben genannten ist das notwendige Tages-Minimumwissen für alle Anwender im Kurzüberblick abgedeckt.

Da es unerwünscht war proprietäre Systeme im mobilen Bereich zu verwenden wurde mit der Verwendung von LineageOS ein Kompromiss gefunden. LineageOS ist ein nacktes Android und sollte ohne die Google Apps installiert werden. Damit entspricht das Gerät dann den Vorstellungen von guter Privatsphäre. Einen detailierten Überblick über die Installation und die Verwendete Open Source Software findet sich im Blog: https://kmj.at/android-lineageos-privacy-teil3/ .

Natürlich ist es ganz wichtig, Apps wenn möglich nur aus dem F-Droid App Store zu installieren und sich von niemandem zu einer App zwingen zu lassen. Es ist, insbesondere am mobilen Gerät, keine App als vertrauenswürdig einzustufen, welche nicht als Open Source Software von mehreren Personen geprüft wurde. Das heißt nicht, dass man Anbietern hier Vorsatz unterstellt, aber diese Apps werden schnell und kostengünstig mit verfügbaren Tools von Drittanbietern erzeugt. Der Fokus liegt nicht auf Security, sondern auf schnell und kostengünstig rausbringen. Insbesondere verwaiste Apps sind ein erhöhtes Risiko. Zum Beispiel ladet ein Benutzer bei einer Veranstaltung eine App des Veranstalters, welche dann nie mehr upgedatet wird. Die App läuft aber immer im Hintergrund und wenn das Entwicklungstool einen Fehler hat, dann ist das Telefon verloren und wird von außen übernommen. Einfach die beiden Links regelmäßig lesen. Es tauchen täglich viele solcher sogenannter Exploits auf. Eine verwaiste App setzt das Telefon einem Angriffsszenario aus, weil das zugrunde liegende Entwicklungstool vom Anbieter nicht mehr upgedatet wird. Und Tschüss Telefon, schon gehörst Du dem Eindringling.

Wenn schon eine nicht vertrauenswürdige App installiert wird, sofort löschen, wenn diese nicht mehr benötigt wird. Und generell immer die Web Version mit dem Browser verwenden. Die App hilft im Normalfall dem App Anbieter Daten zu sammeln und nicht dem Benutzer. Dieser sollte mit der Web Anwendung über den Browser alle Funktionen verfügbar haben. Wenn schon eine Benachrichtigung für irgendetwas erfolgen soll, verwenden Sie E-Mail oder noch besser Riot.IM Messenger Nachrichten.

Und zum Abschluss

Zum Abschluss noch etwas zum lachen, oder weinen, je nachdem von welcher Seite man es betrachtet.

Immer wieder hört man am Nachbartisch im Restaurant oder Kaffee, bzw. bei Besprechungen:

Ich bin gehackt worden!

Ja, das ist mir/uns auch passiert

Und die Personen verfallen in kollektives gemeinsames Bedauern, aber sie selbst sind ja unschuldig!

Dazu sei gesagt:

  • 99% werden nicht gehackt sondern sind selbst Schuld!
  • 1 % sind echte, gezielte Hacks

Bei den 99% passiert normalerweise folgendes:

  • Selber schuld:

  • 1) Download von irgendeiner Software und Installation am eigenen PC

  • 2) Download von irgendeiner APP und Installation am mobilen Gerät

  • 3) Klick auf Ja, Ja, Ja, bei Fragen ob aktiviert, oder ausgeführt werden soll

Bis auf ganz wenige Ausnahmen führen die 99% die Schadsoftware selbst, nach mehrmaligem Klicken auf „JA“, mit den eigenen Berechtigungen am PC oder mobilen Gerät aus und sind damit selbst schuld, dass das Gerät mit Malware verseucht, oder verschlüsselt wird. Etwas mehr Vorsicht und -“Think before you click“ - würde vermutlich 70% der Vorfälle verhindern. Wenn man dann noch Text-E-Mails anstatt von HTML-E-Mails verwenden würde, könnte man, da man den richtigen Link sieht, vermutlich weitere 20% verhindern.

Die verbleibenden 9% wird man vermutlich akzeptieren müssen, aber der Rest wäre mit Hirn einschalten, Gier und Neugier ablegen und einem EDV-Anfängerkurs mit Fokus Sicherheit über weite Strecken zu verhindern.

Also „Nein, zu 99% nicht gehackt worden, sondern meist vermeidbarer Bedienerfehler und selbst schuld.“

Für Unternehmen bietet die CTS GMBH (https://cts-solutions.at) Beratungen, Consulting und Projektabwicklung für einen erfolgreichen Umstieg.

Sicherheitsberatung für IT und IoT – Self-Hosting ohne Daten an Dritte zu geben

Kostengünstig eine sichere EDV betreiben!

Leider mussten wir in letzter Zeit feststellen, dass aus vielen nicht von uns betreuten IT Infrastrukturen Daten gestohlen wurden, sich Malware eingenistet hat und in mehreren Fällen durch Mitlesen von Daten auf Servern im Internet (aka Cloud) Aufträge von Unternehmen verloren gingen.

Zusätzlich trennt sich aktuell gerade die Spreu vom Weizen bei den Systemadministratoren. Vielfach wird versucht mit Klicken und Wischen fehlendes Basiswissen zu überdecken und durch eine vermeintliche Delegation in die Cloud wird das gesamte Firmenwissen und die Kommunikation an Dritte übermittelt. Natürlich gibt es vielfach forensische und spezielle Auswertung dieser Daten und die Verwendung der Ergebnisse ist vielfältig. Einfach ist nie sicher! Schützen Sie Ihre wertvollen Daten durch in Haus Speicherung!

Insbesondere Hacks von Herstellern, welche IoT Geräte, z.B. für Smart Homes produzieren, sind sehr beliebt. Dabei gibt es Zugriff auf die Kameras in den Kundenobjekten und oft auch einen Türöffner per Internet. Gerade wurden Milliarden von Datensätzen öffentlich im Internet gefunden und das Szenario mag man sich für sein eigenes Objekt nicht ausdenken. Tag und Nacht können Fremde über die Kameras dem Treiben im Objekt zusehen und bei Bedarf und Interesse dann das Objekt ausräumen, bzw. den Zugang an andere Kriminelle verkaufen. Der letzte Fall ist hier Nachzulesen:

https://www.bleepingcomputer.com/news/security/billions-of-records-including-passwords-leaked-by-smart-home-vendor/

Aktuell erhalten wir ca. 15-30 Meldungen über neue Vorfälle pro Tag, wobei wir von einer hohen Dunkelziffer ausgehen.

CTS ist sein 1985 immer Vorreiter beim kostengünstigen Einsatz von sicheren und sinnvollen Technologien. Unsere langjährige Kundenbasis beweist, dass wir sehr erfolgreich arbeiten und unsere Kunden sicher durch die Gefahren der IT begleiten.

Wir beraten Sie bei folgenden Lösungen:

  • unsere Kunden reichen von kleinen Betrieben mit 5 Mitarbeitern bis hin zu TOP 500 Konzernen.
  • massive Einsparungen bei den Lizenzkosten durch ein hybrides IT Setup unter Verwendung von Open Source Software im Mix mit kommerziellen Produkten.
  • Einsatz von Open Source Firewalls, Proxy Servern, E-Mail Gateways (Spam- und Virenschutz), Webservern, Onlineshops, ERP Systemen und vielen weiteren Lösungen ohne Lizenzkosten.
  • VPN Servern zur Einwahl Ihrer Mitarbeiter über Internet und Zugriff auf das Firmennetzwerk, inkl. Einschränkungen der Protokolle um Schaden durch Notebooks, welche außerhalb des Firmennetzwerkes betrieben werden, zu verhindern.
  • Errichtung von sicherer Anonymisierungsinfrastruktur um vollkommen anonym im Internet zu surfen ohne den Arbeitsplatz zu verlassen. Natürlich sicher getrennt von Ihrem LAN und ohne Lizenzkosten.
  • Einrichtung von dezentralisierten Open Source Kommunikationssystemen mit End-to-End Verschlüsselung.

Alle von uns empfohlenen Lösungen werden auf Wunsch auch installiert. Wir empfehlen generell einen Serverbetrieb nur im eigenen Haus, ohne Daten nach außen zu geben. Früher hätten Sie Ihre Kundenliste und Ihre Planungen auch nicht ausgedruckt und Fremden gegeben?

Aktuell ein heißes Thema im IoT Bereich!

Wir sind in der Lage, mit verschiedenen von uns empfohlenen Lösungen jedes Gerät (IT oder IoT), welches einen Internetanschluss hat direkt zu erreichen! Dynamische IP, NAT oder Blockierung von eingehendem Datenverkehr durch Provider oder Firewall ist kein Problem. Wir erreichen das Gerät, vollkommen verschlüsselt, mit der Möglichkeit darüber sogar ein geroutetes VPN, basierend auf OpenVPN zu betreiben. Damit können auch kleinste Außenstellen, bzw. IoT Geräte mit nur einem mobilen Internet direkt adressiert werden. VERSCHAFFEN SIE IHREM UNTERNEHMEN EINEN QUANTENSPRUNG NACH VORNE UND LASSEN SIE DIE KONKURRENZ HINTER SICH! Diese Lösung ist extrem interessant für Hersteller von IoT Geräten, Smart Homes Anbieter und allen die Daten mangels Adressierbarkeit der Geräte für einen Reconnect durch einen externen Server senden. Sprechen Sie uns an, wir arbeiten seit 35 Jahren sehr diskret und sind DIE Spezialisten für Sonderlösungen!

Zusätzlich sind wir Spezialisten für den Aufbau eigener öffentlicher DNS Infrastrukturen und dem Einsatz vielfältiger Open Source Software. Wir arbeiten Hausintern nur mit diesen Lösungen und decken alle Anforderungen mehr als professionell ab!

Bei Kunden verwenden wir bevorzugt Windows Terminal Server und Linux Workstations in Verbindung mit Open Source File Servern basierend auf Samba, welcher bei unseren Installationen auch den Domain Controller stellt. Zusätzlich wird ein seit 1995 immer weiter entwickelter MailScanner der rein mit Open Source Software arbeitet installiert.

Wichtig ist uns, dass die verwendete Software nicht „nach Hause telefoniert“ und die wertvollen Kundendaten an Dritte übermittelt. Installationen in 15 Ländern zeigen, dass unsere Lösungen funktionieren.

Unsere Proxy Server und DNS Ad-Block Lösungen sperren die Übermittlung an Datensammler. Sperren Sie vielfältige Domains ohne das System des Benutzers anzugreifen!

Kontaktieren Sie uns für Ihre spezielle Lösung. Wir bieten flexible, basierend auf Ihrer Infrastruktur genau auf Sie zugeschnittene Beratung und Lösungen.

Es ist Zeit zu handeln!

Weitere Informationen:

Kundenanfragen

E: support@cts-solutions.at

  • INTERNATIONAL: +43 5 7676 7676
  • AUSTRIA: 057676 5020
  • GERMANY: 08654 772280

Wir betreuen nur gewerbliche Kunden!

Riot.IM Messenger: Kurzanleitung für Benutzer mit Videos (Stand 05/2019)

neue Version der Anleitung verfügbar:



Update 2019-09-27:

I wrote an more detailed english version for my https://EURAFRI.com Business Networking Project! If you need more details than shown here please visit https://eurafri.com/info-whatsinside/ and choose the Riot area.

Riot Messenger, die neue Art der Kommunikation!

  • Freie Open Source Anwendung
  • verfügbar für Windows, Linux, Mac, Android und IOS
  • Unterstützt End-to-End Verschlüsselung ohne Mitleser, auch bei Gruppenchat!
  • Chat, Voice und Video. Voice verschlüsselt, wenn der Raum verschlüsselt ist!
  • Der Referenz Client für den Matrix Server.
  • Jeder kann seinen eigenen Matrix Server betreiben oder sich auf einem öffentliche Server einen Account lösen.

UPDATE / HINWEIS / WICHTIG (2019-05-16)

Aufgrund der Überlastung des größten öffentlichen Servers matrix.org empfehle ich einen anderen öffentlichen Server aus dieser Liste für die Erstellung eines Accounts zu wählen:

Ich empfehle Freunden den Server: https://www.privacytools.io/, welcher in dieser Anleitung auch referenziert wird. Der Homeserver zur Registrierung findet sich hier: https://riot.privacytools.io/#/welcome . Für die Riot Windows, Linux, MAC,, Android oder IOS App, verfügbar von https://riot.im sind folgende Einstellungen zu verwenden: Heimserver: https://chat.privacytools.io . Deine Adresse wird dann: benutzername:privacytools.io

Erfreuliche News

Es ist sehr erfreulich, dass immer mehr Menschen auf Ihre Privatsphäre und Daten achten. Langsam bildet sich auch bei breiteren Bevölkerungsschichten ein Bewusstsein für mehr Kontrolle über die eigenen Daten aus. Riot.im als Anwendung für den Benutzer in Verbindung mit dem Open Source Matrix Synapse Server (Matrix.org) ist mehr als ein Messenger, es ist ein Tool für dezentralisierte Zusammenarbeit, Internettelefonie, Videotelefonie und Messaging. Durch den dezentralen Aufbau wird nur eine minimale Menge an Metadaten erzeugt und bei aktivierter End-to-End Verschlüsselung ist Mitlesen auch am Server unmöglich. Da so viele Menschen in die Matrix wechseln und dieser Beitrag extrem oft abgerufen wird, erfolgte nun ein Update der Anleitung.

Dezentraler Aufbau heißt, dass alle Matrix Server, ähnlich wie bei E-Mail untereinander kommunizieren können. Der Benutzer verbindet sich zu seinem Homeserver und damit wird seine IP für Betreiber anderer Server auch nicht sichtbar.

Anleitungen

Matrix Server (nur für alle, die selbst einen Server betreiben möchten)

Unter https://kmj.at/how-to-setup-your-matrix-synapse-messaging-homeserver-may-2019-english/ findet sich eine Anleitung zur Einrichtung eines eigenen Servers. Alle die einen eigenen Server für sich, Freunde oder die Firma an die Matrix anschließen wollen, finden sich hier alle Informationen für das sehr einfache Setup.

Riot.im (für alle Benutzer, Step-by-Step Anleitung)

Riot.im ist die App zum Einstieg in die Matrix für alle die einfach und sicher kommunizieren wollen!. Das wirklich genial daran ist, dass es die Riot App für IOS (Apple), Android, Windows, MAC und Linux gibt und man mit allen Geräten gleichzeitig online sein kann. Alle Geräte sind immer synchron und es ist egal, wo man gerade liest oder kommuniziert.

Diese Anleitung zeigt, wie man einen Account anlegt und den ersten Chat startet.

1) Registrierung des Accounts

Jeder Benutzer in der Matrix benötigt einen Account auf einem Homeserver. Ähnlich wie bei E-Mail haben die Adressen 2 Teile. Zum Beispiel ist meine Adresse:

  • @karl:matrix.ctseuro.com

Diese Adresse besteht auf dem @, welche die Adresse eröffnet. Danach folgt der Name des Benutzers am Homeserver, in meinem Fall karl. Die Trennung des Namens und der Servers erfolgt durch einen :. Danach folgt der Servername, auf dem der Benutzer einen Account hat, in meinem Fall am Server matrix.ctseuro.com.

Wir registrieren für diese Anleitung einen Account bei privacytools.io, welchen wir aus obiger Liste ausgewählt haben. Um den Account zu registrieren gehen wir auf:

klicken dort auf Konto erstellen und geben in der folgenden Maske

Benutzernamen und Passwort ein. Als Open Source Messenger sammelt Riot, anders als zentrale Datensilos keine Telefonnummern, oder E-Mail Adressen. Damit ist auch die Eingabe einer E-Mail Adresse nicht notwendig. Auf mobilen Endgeräten fragt Riot höflich um den Zugriff auf Kontakt, Mikorofon und Kamera. Den Zugriff auf die Kontakte sollte man generell ablehnen und Mikrofon und Kamera benötigt man nur, wenn man über Riot auch telefoniert, bzw. Videochats führt.

ACHTUNG Ohne E-Mail Adresse kann das Passwort natürlich auch nicht über diese zurückgesetzt werden. Ändern kann man es in den Einstellungen, aber wer sein Passwort vergisst hat den Account für immer verloren! Also Passwort gut merken. Es empfiehlt sich ein Passwort Safe ala Keepass.

Danach auf Registrieren klicken und die Frage nach der fehlenden E-Mail mit fortfahren beantworten.

Danach befinden wir uns bereits in der Webversion des Riot Messengers. Diese wollen wir aber, da wir überall mit End-to-End Verschlüsselung arbeiten wollen, nicht verwenden. Details dazu später. Über Einstellungen -> Abmelden melden wir uns ab. Abmelden ist extrem wichtig!

Beim Abmelden werden wir gefragt, ob wir die Schlüsselsicherung verwenden wollen. Dazu muss ich etwas ausholen, dieser Punkt ist aber sehr wichtig.

Ich versuche es nicht ganz so technisch, einfach verständlich zu erklären. Jedes Gerät eines Benutzers hat einen Schlüssel, zusätzlich haben Räume Schlüssel. Jeder Chat is ein Raum. D.h. 1:1 Chat ist ein Raum mit den beiden Benutzern, ein Gruppenchat ist ein Raum mit mehr als zwei Benutzern. Diese Schlüssel werden auf dem Endgerät gespeichert und wären einem anderen Gerät am selben Account nicht zugänglich. Zusätzlich löscht das Programm beim Abmelden aus Sicherheitsgründen alle Schlüssel. Um nun sicherzustellen, dass diese Schlüssel nicht verloren gehen – dann wären ältere Chats mangels fehlender Schlüssel nicht mehr lesbar – wurde die Möglichkeit eines Schlüsselbackups am Server eingerichtet.

Es ist ganz wichtig ein wirklich langes und sicheres Passwort zu verwenden und sich dieses und den Wiederherstellungsschlüssel sehr gut zu merken! (Keepass!) Es kann niemand helfen! Wer vergisst, hat verloren!

Ein Klick auf Beginne die Schlüsselsicherung zu nutzen bringt die Passwortabfrage. Hier wird das sichere Passwort eingegeben und auf Nächstes geklickt.

Nun ist es ganz wichtig den Wiederherstellungsschlüssel sicher zu verwahren!

Nicht fortfahren, bevor alles gut gesichert verwahrt ist! In die Zwischenablage kopieren und verwenden, bzw. herunterladen. Danach OK!

Und bei Erfolg noch einmal OK!

Nun, da die Schüssel gesichert sind, noch einmal Einstellungen und Abmelden, danach sollte die Abmeldung erfolgen.

2) Installation und Start der Riot APP

Der Riot Messenger ist für alle Betriebssysteme verfügbar und es können mehrere Geräte gleichzeitig verwendet werden. Z.B. am PC und am Handy, oder Tablet. Wir verwenden in dieser Anleitung die PC Version, jedoch funktionieren Android und IOS analog dazu.

Das Programm laden wir von https://riot.im und installieren es am System.

Danach den Riot Messenger starten und auf Anmelden klicken oder tippen.

Nun ist es notwendig den Homeserver umzustellen. Als Default ist matrix.org vorgegeben, d.h. wir klicken auf Ändern und geben den Homeserver: - https://chat.privacytools.io

und unsere zuvor registrierten Benutzerdaten ein.

Die vollständige Matrix Adresse ist @meinwunschname:privacytools.io

Der Server gibt einen Raum vor. Hier einfach auf den Raumnamen klicken, dann auf das Zahnrad und den Raum verlassen und die Einstellungsseite mit dem X schließen.

Die persönlichen Einstellungen finden sich beim eigenen Namen unter Einstellungen. Pro Raum gibt es das Zahnrad für die Raumeinstellungen. Es gibt sehr viele Möglichkeiten Benachrichtigungen und anderes Wichtiges einzustellen.

Hinweis: MeinRiot läuft aus verschiedenen selbst eingestellten Gründen in Englisch, aber natürlich spricht Riot per Default, auf einem deutschsprachigen System Deutsch.

3) Schlüsselsicherung verbinden

Nun ist es ganz wichtig die zuerst erstellte Schlüsselsicherung zu aktivieren. Auf Connect this device, bzw, Verdinden Schlüsselsicherung klicken.

Passwort eingeben

Und fertig. Mit X wegklicken.

chritt 2 und 3 müssen pro Gerät, für welches dieser Account verwendet wird, wiederholt werden.

4) Der erste Chat

Wir starten mit einem 1:1 Chat und schreiben mich an. Dazu klicken wir auf das + neben Personen und geben meine Adresse @karl:matrix.ctseuro.com ein.

Mit Chat beginnen leiten wir den Chat ein. Danach muss gewartet werden, ob die Einladung zum Chat von der anderen Seite akzeptiert wird.

Wenn der Eingeladene den Raum betritt wird eine Statusmeldung ausgegeben:

WICHTIG: Der Chat ist aktuell noch nicht verschlüsselt!

Über das Zahnrad in die Raumeinstellungen gehen, dort auf Sicherheit und Datenschutz und den Verschlüsselungsregler auf EIN stellen:

und OK, danach mit X wegklicken:

Das Einschalten der Verschlüsselung wird als Statusmeldung eingetragen.

Sicher einer der gewöhnungsbedürftigsten Punkte beim Umstieg ist die Verschlüsselung. Um es für Benutzer ohne Kenntnisse über Verschlüsselung und Kryptografie verständlich zu machen:

  • Nachdem die Verschlüsselung aktiviert wird, erscheinen bei anderen Benutzern orange Warndreiecke. Nun müssen die Schlüssel (einer oder mehrere pro Benutzer) verifiziert werden. Danach erscheint beim Schreiben ein grünes Schloss.
  • Bei Gruppenräumen kann es sinnvoller sein, die Warnmeldung mit „Trotzdem senden“ zu quittieren und nicht alle Benutzer des Raumes zu verifizieren.

Um die Geräte eines Benutzers zu verifizieren, klickt man auf den Benutzer und lässt sich die Geräteliste anzeigen. Mit Verifizieren kann man die Geräte verifizieren. Am besten mit Legacy Verifizierung verwenden (für veraltete Clients), das geht am schnellsten.

Dieser Vorgang muss für alle Geräte durchgeführt werden, andernfalls muss die Warnmeldung mit „Trotzdem senden“ quittiert werden, um Text zu senden.

HINWEIS

Bitte keine Suppportanfragen oder ähnliches an meine persönliche Adresse richten.

Es gibt einen öffentlichen Raum, den Sie über die Raumliste, oder durch Eingabe von

  • /join #kmj:matrix.ctseuro.com

betreten können. Hier helfe ich ab und zu mit Tipps aus.

Verschiedenes

Aufbau Mobile:

Musterbild zeigt die Android App, die Symbole sind aber auf allen Systemen gleich.

Im Hauptbereich sieht man:

  • Favoriten (über die Raumeinstellungen)
  • Personen (1:1 Kommunikation)
  • Räume (Gruppenkommunikation)
  • Niedrige Priorität (Nur Sortierung, sonst, keine Auswirkung)

In der Auswahlleiste unten:

  • Zurück zum Home Schirm
  • Favoriten anzeigen
  • Personen anzeigen
  • Räume anzeigen
  • Communities anzeigen

Communities:

Du kannst Communities (bestehen aus Personen und Räumen) erstellen, beitreten, oder eingeladen werden. Communities machen die Kommunikation, bzw. die Organisation von Projekten einfacher, da man in einer Ansicht alle Personen und Räume sieht. In der PC App und am Tablet werden die Communitysymbole für eine einfachere Navigation auch links angezeigt.

Räume:

Riot besteht aus Räumen, auch 1:1 Chats sind Räume, jedoch mit nur 2 Personen. Gruppenräume sind für mehrere Personen offen. Der Eröffner des Raumes ist Administrator und kann über das Zahnrad, bzw. über das Menü des Raum verwalten. Nur bei 1:1 Räumen sind beide Gesprächspartner Raumadministrator. Räume können manuell den Favoriten, bzw. der niedrigen Priorität zugeordnet werden. Damit bleibt die Übersicht gewahrt.

Räume haben vielfältige Einstellungsmöglichkeiten für Berechtigungen, Bild, Beschreibung und vieles mehr. Alle Einstellungen finden sich im Zahnrad, bzw. über die Raumeinstellungen. Die wichtigste Einstellung ist, egal ob 1:1 oder Gruppe, die Verschlüsselung zu aktivieren. Damit ist alles sicher End-to-End verschlüsselt.

Adressen in der Matrix:

Ähnlich wie bei E-Mails werden die Adressen in der Matrix aufgebaut und bestehen auch aus Benutzer und Domain. Eine persönliche Adresse sieht so aus:

  • @benutzername:server.com

Anders als bei E-Mails ist die erste Stelle speziell:

@ - steht für eine Person
# - steht für einen Gruppenraum
+ - steht für eine Community

Danach folgt der Benutzername und durch : getrennt der Server auf der der Benutzer registriert ist. Da sich aktuell sehr viele am öffentlichen Matrix Server registrieren sehen viele Adressen so aus:

@meinname:matrix.org

Wenn jemand auf einem anderen Server registriert ist, wie z.B. ich, dann sieht die Adresse z.B. so aus:

@karl:matrix.ctseuro.com

Mit dieser Adresse kann man einen 1:1 Chat mit dieser Person starten. Wenn Sie die Adresse eines Raumes kennen, können Sie durch Eingabe von:

- /join #kmj:matrix.ctseuro.com

einen Raum betreten.

Sprachnachrichten

Multi Account auf Android und LineageOS

  • Riot.IM für Account 1 installieren
  • miniVector (Riot Version ohne Telefonie) für Account 2 installieren