Alle Beiträge von Don Matteo

lebt in Zürich und ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Network. Author und Blogger zu den Themen, Linux und Open Source. Tutorials für Windows, VMware, Synology, Fortinet.

iptables chain mit DDNS Adressen

Die Linux Kernel Firewall iptables unterstützt keine FQDN und DDNS Namen in den Ketten, deshalb habe ich hierfür einen einfachen Script erstellt, dieser ein DDNS A Record auflöst und die IPv4 Adresse in die Kette als append chain einfügt.

 

Der Skript ist für CentOS entwikelt, ist aber mit kleinen Änderungen auf anderen Linux hosts einsetzbar, bei Zeile 2 kann der entsprechende Pfad zu iptables angepasst werden, z.B. für debian /etc/defaut.

Das host Command wird verwendet dieses ein Teil der BIND-Dienstprogramme ist, sodass diese installiert sein müssen. Dazu führt man folgendes Command auf der Console aus um die BIND-Dienstprogramme zu installieren:

Es wird eine Zeile mit dem DDNS-Hostnamen in die Konfigurationsdatei iptables eingetragen, der Tag #MyDDNS dient als Marke und muss in der Konfigurationsdatei iptables eingetragen werden:

Die -A Kette wird automatisch bei erster ausführung angehängt. Nicht vergessen den Script ausführbar machen:

Die Quell-IP-Adresse wird automatisch alle 15 Minuten aufgelöst. Die iptables-Kette erlaubt das udp-Protokoll, dieses beispielsweise einem IP-Telefon ermöglicht mit der PBX zu kommunizieren. Die Regel kann beliebig angepasst werden, wobei die Kommentar option –comment vorhanden sein muss.

Für die kontinuierliche Aktualisierung erstellt man ein Cron-Job:

 

 donkey/allow_myhost.md

 

Text in Hex Konverter mit PowerShell

Mit PowerShell Text Hexadecimal und Decimal konvertieren

powershell

ASCII Text in Hexadezimale Zeichen Konverter gibt es als Online Tool im Internet viele. Sollen sensible Daten beim Konvertieren im Internet nicht preisgegeben werden, empfiehlt sich die Umwandlung auf dem eigenen Rechner. Dazu braucht man nicht einmal ein Programm zu installieren, einfach zu bewerkstelligen ist es mit PowerShell.

PowerShell öffnen und folgenden Befehl ausführen:

Mit Notepad die Code Zeilen einfügen und speichern:

PowerShell beenden und neu öffnen, nun kann der Befehl text2hex ausgeführt werden.

Die Umwandlung von Decimal to Binary, Decimal to Hexadecimal und Hexadecimal to Decimal.

Nextcloud Installation auf Synology

Nextcloud Integration für Synology DSM

Nextcloud Installation und Bereitstellung auf Synology DiskStation.

Mit der Synology Diskstation kommen viele Pakete vorinstalliert, weitere zusätzliche Pakete können aus dem DSM Paket Manager installiert werden. Möchte man Nextcloud auf der Synology NAS haben, muss man derzeit noch manuell vorgehen. Hier wird beschrieben wie auf einer DS215 mit DSM 6 in wenigen schritten das Open Source Paket, Nextcloud 12 installiert werden kann. Das vorgehen sollte mit jeder Synology DS oder RS möglich sein.

Pre-Installation
Installation
CalDAV Integration
Absicherung und Konfiguration

Zur Vorbereitung sind einige Dienstpakete wie gewohnt aus dem DSM Paket-Zentrum zu installieren.

Pre-Installation

Die Pakete PHP 5.6 und PHP 7.0, Apache 2.4, phpMyAdmin, MariaDB und Web Station werden installiert.

Es wird der Terminal Zugang zur Synology DS benötigt, wie der SSH Daemon aktiviert wird, steht im Beitrag hier.

Um sich mit PuTTY gleich als root bei der Diskstation einloggen zu können, braucht es folgenden Befehl um root Zugang zu aktivieren. Oder man führt jeweils sudo aus.

Download von Nextcloud und entpacken des ZIP-Archives mit anschließender Besitzer und rechte Vergabe. Die Document_Root ist hier /volume1/web/nextcloud.

Es muss ein MySQL root-Passwort vergeben werden.

Das MySQL-root Passwort kann natürlich auch aus dem DSM geändert werden.

Nun wird die DSM Web Station geöffnet um die Webserver Konfiguration und ein Virtueller Host zu erstellen.

Web Station Allgemeine Einstellungen

Web Station PHP-Einstellungen. Im Feld PHP open_basedir muss none stehen.

Web Station Virtueller Host erstellen.

Installation

Nun kann im Bowser die URL geöffnet werden https://ip_adresse_od_hostname/nextcloud

Das Administrator-Konto kann ein beliebiger Name sein, dieser steht nicht im Zusammenhang mit den Synology Benutzer. Es wird MySQL/MariaDB gewählt, das MySQL-root Kennwort ist das zuvor vergebene Passwort.

Nach ca. 2 min. ist die Installation abschlossen und es erscheint die Intro-Seite.

Soll nun unsere eigene Nextcloud aus dem Internet erreichbar sein, muss eine statische NAT Port Weiterleitung zur internen Synology Diskstation auf der Firewall gemacht werden. Ferner muss die unter nextcloud/config liegende Datei config.php angepasst werden. Im array wird eine weitere Zeile mit unserem FQDN hinzugefügt, dieser zuvor in der DNS Zone foo.io eingetragen wurde.


CalDAV Integration

Mit CalDAV Synchronizer for Outlook ist es möglich den Outlook Kalender, das Adressbuch und die Aufgaben einfach zu synchronisieren, damit ist jeder Desktop und Mobile Client über die private Nextcloud integriert.

Das freie Outlook Plugin von der Fachhochschule Technikum Wien, das zwischen Outlook und CalDAV Server synchronisiert, unterstützt die Outlook-Versionen 2016, 2013, 2010 und 2007. Der Download gibt es auf Github und bei Sourceforge.

Absicherung und Konfiguration

Zur Absicherung der Synology DS die aus dem Internet erreichbar ist, sollten die Zugriffsrechte  eingeschränkt werden, mit folgendem chmod command:

Desweiteren sollte HTTPS verwendet werden, Nextcloud empfiehlt folgende Einstellung an der Apache Webserver Konfiguration vorzunehmen:

Hierdurch wird der Aufruf der Webseite von http auf https (SSL) umgeleitet, in der Virtuellen Host Konfiguration unter ServerName hinzufügen:

Damit beim versuch eine HTTP Verbindung aufzubauen diese abgewiesen wird, kann das Module mod_headers.c hinzugefügt  werden.

Den Suchmachinen Crawler soll mitgeteilt werden, das unsere Nextcloud Webseite nicht indiziert werden soll. Die Textdatei robots.txt kommt dabei in die Document Root, im Verzeichnis /volume1/web/nextcloud zu stehen.

Mit  Copy  Paste die Textdatei robots.txt erstellen.

Zur Performance Optimierung kann der PHP opcache konfiguriert werden. Die Werte wie folgt in die PHP Konfiguration user-settungs.ini hinzufügen:

Durch   Copy Paste in der Datei user-settings.ini anfügen.

Nun muss die Synology DS nur noch neu gestartet werden damit die Konfiguration aktiv ist.

Anhang

Mit Apache 2.4 und PHP 7 läuft Nextcloud einiges performanter, daher empfiehlt sich die Web Station für den Virtual Host von Nextcloud mit den aktuellen Web Services zu betreiben.

Abbildung: Synology Web Station