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

  • IP-Adresse und Netzwerk-Maske gemäss Netzwerk-Topologie. Wir verbinden nur einen LAN-Port - Geschwindigkeitssteigerung wird nicht benötigt und es soll so einfach wie möglich bleiben
  • Arbeitsgruppen-Name: KRAEMERSCHWAB

Verbindung zum Backup-System, SSH-Anmeldung

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

  • Terminal&SNMP: ssh einschalten und auf Port 7247 legen
  • Dateidienste: rsync aktivieren und auf Port 7247 legen

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.

  • Auf dem eigenen Rechner puttygen starten und ein persönliches Zertifikat erstellen, falls noch keines vorhanden
  • putty starten und mit dem Server verbinden - IP-Nummer und Port 7247
  • Anmeldung als admin, dann mit dem Befehl sudo su - in den root-Modus gelangen
  • Mit dem Befehl ssh-keygen -t rsa erstellen wir für den root-User ein Zertifikat im Unterverzeichnis ~/.ssh
  • Den eigenen öffentlichen Schlüssel (der von puttygen) in die Datei authorized_keys einfügen (erstellen, falls noch nicht vorhanden)
  • Den Inhalt der Datei .ssh/id_rsa.pub kopieren - das ist der öffentliche Schlüssel des Servers
  • Mit ssh -p 7247 admin@<IP-Nummer Gegenstelle> am anderen Server anmelden und mit sudo su - in den root-Modus wechseln
  • Hier ebenfalls den Befehl ssh-keygen -t rsa durchführen, falls das nicht schon längst gemacht wurde
  • Im Verzeichnis .ssh in der Datei authorized_keys (erstellen, falls noch nicht vorhanden) den kopierten öffentlichen Schlüssel des Servers eintragen
  • Den Inhalt der Datei .ssh/id_rsa.pub hier auch kopieren
  • Mit exit und exit die Verbindung zur Gegenstelle wieder beenden
  • Hier den öffentlichen Schlüssel der Gegenstelle in der .ssh/authorized_keys eintragen

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:

  • Dateidienste: DSM auf HTTPS erzwingen und auf Port 7246 legen

Benutzer und Gruppen, Domäne/LDAP

  • für jeden Mitarbeiter wird ein Benutzerkonto eröffnet
  • für jedes Gerät (Scanner, Fax, …) wird ein EIGENES Benutzerkonto eröffnet
  • Rechtevergabe gemäss unseren Grundsätzen der Rechte-Vergabe
  • wir fahren gegenwärtig ohne Domäne oder LDAP-Verzeichnis

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:

  • alle Nachrichten werden an operating@plan-bee.ch geschickt
  • für jeden Server eröffnen wir auf dem plan-bee.ch Mail-Server ein eigenes Konto
  • diesen Benutzer und Passwort tragen wir hier für die Authentifizierung beim Mail-Server ein
  • Zur Not kann hier auch ein neues GMail-Konto eröffnet werden

Pakete

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

  • MariaDB: Gegenwärtig noch in der Version 5
  • Dokuwiki: Dies installiert automatisch auch
    • apache-httpd 2.2
    • php 5.6
    • Webstation
  • MailServer: Damit können wir aus unseren Scripts Mails senden, siehe Monitoring-System. Dies lädt auch
    • Perl
  • TextEditor: Damit kann eine Log-Datei oder ein Script direkt in der FileStation-Oberfläche bearbeitet werden, sehr praktisch!

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

Kurs-Schnittstellen

Good to know

Netzwerk-Adresse freigegeben und auf DHCP stellen

  • Reset-Knopf hinten drücken, 10 sec gedrückt halten währenddem vorne das Gerät eingeschaltet wird

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