Table of Contents

Einrichten der Synology DS Stationen

Mit den Synology DiskStation wurde bewusst ein einfach zu installierendes Consumer-Product gewählt, welches von jedem mehr oder weniger versierten PC-Freak aufgesetzt werden kann. Es benötigt kein besonderes technisches Know-How.

Es gibt einige zentrale Dinge, die korrekt eingerichtet werden müssen:

Netzwerk

Verbindung zum Backup-System, SSH-Anmeldung

Für das Backup müssen wir eine Verbindung auf Basis von rsync via ssh laufen lassen. Deshalb

Nun müssen wir noch dafür sorgen, dass die Server aufeinander zugreifen können, ohne sich anmelden zu müssen. Ebenso richten wir unseren eigenen ssh-Zugang so ein, dass wir uns mit Zertifikat anmelden.

Die Verbindung kann getestet werden mit dem Befehl ssh -p 7247 <IP-Nummer Gegenstelle> - sie müsste sofort hergestellt werden. Ebenfalls die Gegenrichtung prüfen! Auch die Putty-Verbindung sollte - wenn man unter Auth den privaten Schlüssel hinterlegt, ohne Anmeldung direkt als root verbunden werden.

An sich ist nur eine Verbindung vom Backup-Server auf den Produktions-Server nötig für die Backup-Scripts.

Synology kaschieren

Es heisst zwar, security by obscurity sei schlecht, aber sie ist nicht ganz wirkungslos. Nicht jeder soll wissen, welche Hardware wir einsetzen und wo deshalb unsere Schwachstellen liegen. Und das Administrator-Passwort möchten wir auch nicht im Klartext über das Netzwerk schicken. Deshalb:

Benutzer und Gruppen, Domäne/LDAP

Benachrichtigungen

Die DiskStation führt manchmal Überprüfungen durch und entdeckt Fehler. Damit wir diese rasch erkennen können, richten wir in den Benachrichtigungen ein:

Pakete

Über den Paketmanager können wir verschiedene Zusatz-Programme installieren. Ganz sicher installieren wir:

MariaDB

MariaDB steht für MySQL. Genaueres zum Unterschied zwischen MariaDB und MySQL siehe den Wikipedia-Artikel. Ab und an wird in der Dokumentation von MySQL gesprochen; gemeint ist immer MariaDB. Diese Datenbank wird über den Paketmanager installiert. Wir passen die Startparameter etwas an, damit sie für uns besser läuft, und wir werden die SSL-Verschlüsselung nutzen.

MariaDB holt seine Konfiguration eigentlich aus /etc/mysql/my.cnf. Diese Datei anzupassen ist keine gute Idee, da Synology bei jedem Systemupdate (also praktisch jede Woche) die Datei überschreibt und damit unsere Konfigurationsänderung weg ist.

Die Synology-Installation von MariaDB bietet aber die Datei /var/packages/MariaDB/etc/my.cnf an, in der wir unsere Anpassungen reinschreiben können:

[mysqld]
# max_allowed_packet ermöglicht es, BLOBs ab einer gewissen Grösse zu speichern
max_allowed_packet = 64M

innodb_buffer_pool_size = 1400M

# ohne skip-name-resolve versucht MariaDB anhand der IP-Adresse des Clients einen Namen herauszufinden - eine
# zeitraubende Sache...
skip-name-resolve
skip-host-cache 

# Dank lower_case_table_names können wir die Tabelle artikel auch als Artikel ansprechen - aufgrund der
# historischen Benennung der Tabellen in der Access-Zeit eine wichtige Einstellung!
lower_case_table_names=1

# Über den internen Event-Scheduler laufen in der KSCO-Datenbank einige Jobs...
event-scheduler=on
  
[mysqladmin]
user=ping
password=ping

Zertifikats-Verwaltung in MariaDB und im Web

Um die Verbindungen zwischen Clients und Server zu verschlüsseln setzen wir Zertifikate ein. Siehe dazu MariaDB zertifikatbasiertes Anmeldesystem.

Mail-Server einrichten

Damit die Datenbank nächtlich ihre E-Mails rumschicken kann (Check-e-Mails etc.) muss der Mailserver installiert sein. Dazu das Package Mail-Server installieren und anschliessend SMTP aktivieren und einen Hostnamen (server06.kraemerschwab.com) eintragen.

Checks einrichten

siehe Monitoring-System

Kurs-Schnittstellen

siehe Kurs-Schnittstellen

Good to know

Netzwerk-Adresse freigegeben und auf DHCP stellen

Die DHCP-Netzwerkadresse rausfinden

Der Benutzer PING in der MariaDB - wer ist das?

Dieser Benutzer wird durch die Synology-Distribution angelegt und mit ihm wird überprüft, ob der Server läuft oder nicht.

MariaDB-Server neu starten

/usr/share/mysql/mysql.server restart