Alle Beiträge von Don Matteo

lebt in der Schweiz, ist System Engineer MCP bei A-Enterprise GmbH. Mitglied des UNBLOG Knowledge Network. Author und Blogger zu den Themen, Tutorials für Linux und Open Source.

Nextcloud Installation auf Synology

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.

So wird’s gemacht

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.

$ sudo synouser -setpw root passwort

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

$ cd /volume1/web
$ curl -O https://download.nextcloud.com/server/releases/latest.zip
7z x latest.zip
$ chown -R http:http nextcloud
$ chmod -R 0777 nextcloud

Es muss ein MySQL root-Passwort vergeben werden.

$ mysql -u root -ppassword
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

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.

<?php
$CONFIG = array (
  'instanceid' => 'lckfp7we8ddv',
  'passwordsalt' => '&9p40M+uM3cZBPrWKwV)EEwSoPtvJ',
  'secret' => 'klkajd8&DF3A.$=o?pqHAR4@+LXD6n-LaQhbfgt&/H',
  'trusted_domains' =>
  array (
    0 => '123.123.123.123',
    1 => 'nextcloud.foo.io',
  ),
  'datadirectory' => '/volume1/web/nextcloud/data',
  'overwrite.cli.url' => 'https://123.123.123.123/nextcloud',
  'dbtype' => 'mysql',
  'version' => '13.0.0.14',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_admin',
  'dbpassword' => 'LeG2iRzcvc1XT8mpoGntS18GeYXGi3',
  'installed' => true,
  'mail_smtpmode' => 'smtp',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_from_address' => 'noreply',
  'mail_domain' => 'foo.io',
  'mail_smtphost' => 'smtp.mailer.io',
  'mail_smtpport' => '25',
  'maintenance' => false,
);

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 2019, 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:

$ cd /volume1/web
$ chmod -R o-w nextcloud

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

$ vi /usr/local/etc/apache24/sites-enabled/httpd-vhost.conf

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

<VirtualHost *:80 *:443>
   ServerName nextcloud.foo.io
   Redirect permanent / https://nextcloud.foo.io/
</VirtualHost>

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

<VirtualHost *:80 *:443>
    ServerName nextcloud
    SetEnv HOST nextcloud
    DocumentRoot "/volume1/web/nextcloud"
    <IfModule dir_module>
        DirectoryIndex  index.html index.htm index.cgi index.php index.php5
    </IfModule>
    <IfModule mod_headers.c>
        Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>
    <Directory "/volume1/web/nextcloud">
        Options MultiViews FollowSymLinks ExecCGI
        AllowOverride All
        <IfModule authz_core_module>
            Require all granted
        </IfModule>
    </Directory>
</VirtualHost>

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.

cat << EOF > robots.txt
User-agent: *
Disallow: /
EOF

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:

cat << EOF >> /volume1/@appstore/PHP5.6/usr/local/etc/php56/conf.d/user-settings.ini
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
EOF

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.

Ransomware WannaCry abwehren

Computer vor WannaCry schützen

Der weltweite Angriff des Verschlüsselungstrojaner (auch „Erpressungstrojaner“ genannt) „WannaCry“ auf Windows-Rechner ist noch nicht vorbei. Es dürfte sich um eine der grössten Attacken auf IT-Systeme bislang gehandelt haben.

Für die abwehr von WannaCry sind folgende Schritte empfohlen:

  1. Umgehend den Patch MS17-010 installieren. Wer noch Windows XP, Windows 8, oder Windows Server 2003 einsetzt, findet im Blog-Post von Microsoft TechNet zusätzliche Informationen.
  2. Folgende Ports auf der Firewall blockieren:
    TCP-Ports 137, 139, 445 und UDP-Port 137 und 138. Über diese kommuniziert WannaCry mit den Backend-Services auf den Servern der Angreifer.
  3. Das Tor-Protokoll blockieren: Der Schadcode kommuniziert mit den Command&Control-Servern der Angreifer anhand des Tor-Protokolls. Dieses muss am Sicherheits-Perimeter unterbrochen werden. Ausgehende Kommunikation blockieren, zu den bisher bekannten C&C-Server:
    cwwnhwhlz52ma.onion
    gx7ekbenv2riucmf.onion
    xxlvbrloxvriy2c5.onion
    57g7spgrzlojinas.onion
    76jdd2ir2embyv47.onion
  4. Das Protokoll Server Message Block (SMB) Version 1 (SMBv1) deaktivieren:  Es wird von Microsoft empfohlen SMBv1 zu deaktivieren, SMBv2 und SMBv3 sollte in produktiven Umgebungen nicht deaktiviert werden.

Bei Windows 8 und Windows Server 2012

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Für Windows 7, Windows Server 2008 R2, Windows Vista, und Windows Server 2008

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force

Ein Reboot des Systems ist erforderlich zur Aktivierung.

Die Deaktivierung von SMBv1 kann auch mittels Regedit vorgenommen werden.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\ParametersRegistry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled

Weitere Informationen über die Malware selbst beschreibt Microsoft im Malware Protection Center auf dem Windows Security Blog WannaCrypt ransomware worm targets out-of-date systems.

WannaCry Entschlüsseln

Von Benjamin Delp stammt das Tool WannaKiwi. Er stützte sich auf Vorarbeiten von Adrien Guinet. Mit dem Tool lässt sich aus dem Speicher des befallenen Systems der private User-Key auslesen, der zur Verschlüsselung der Daten auf der Festplatte verwendet wurde.

Wer seine Systeme noch nicht auf den aktuellen Stand gebracht hat, sollte spätestens jetzt handeln. Installiere die über Windows Update angebotenen Sicherheits-Updates auf sämtlichen Systemen. Von CVE-2019-0708 betroffen sind alle Windows-Client- und Windows-Server-Versionen bis einschließlich Windows 7 und Windows-Server 2008 – mit Ausnahme von Windows 8 und 10. Patches gibt es selbst für XP und Vista, die eigentlich bereits vom offiziellen Update-Zweig abgeschnitten sind.

Patch-Downloads:

Sicherheits-Updates für Windows 7, Windows Server 2008 (R2)
Sicherheits-Updates für Windows XP, Vista und Server 2003