Klein, fein und noch im Aufbau
Hallo Besucher!
Deine IP: [3.138.37.16]
Mit der Installation des Zusatzpaketes "Web Station"
, legt die DiskStation auch einen gemeinsamen Ordner web
an. Der Ordner web
ist der Standard-Speicherort für die Inhalte einer Website, die auf der DiskStaion gehostet werden soll. Er wird automatisch erstellt, wenn Web Station
aktiviert ist.
Anders als über die Benutzer- und Rechteverwaltung der DS, ist der Zugriff auf den gemeinsamen Ordner web
über den Web- bzw. Internet-Zugriff nicht weiter reglementiert. Synology bzw. die DiskStation bietet hier von Hause aus auch keine Unterstützung. Das bedeutet: Per default kann alles was sich in dem Ordner web
befindet, von jederman
mit einem Browser eingesehen bzw. aufgerufen werden.
Das mag aus dem lokalen Netzwerk noch vertretbar sein, wenn aber jeglicher Inhalt mit der Öffentlichkeit geteilt wird, ist das ein Sicherheitsrisiko.
Zum Glück werden wir doch nicht ganz alleine gelassen mit diesem Problem. Der zusammen mit dem Zusatzpaket „Web Station“ installierte „Apache http Server“ kennt das Konzept der .htaccess
-Dateien.
Weitere Lektüre zum Thema .htaccess :
Für den Anfang empfiehlt es sie im Ordner web
eine .htaccess
-Datei zu erstellen.
Beispiel :
### Diese .htaccess liegt im 'Root'-Verzeichnis ### Zugriff nur aus dem localem Netz gestatten oder über VPN - Start ### ### Gilt für sämtliche anderen Ordner und dessen Unterordner, es sei denn ### der Zugriff wird über jeweilige .htaccess Datei neu / anders geregelt. ### Die Auflistung bestimmter Verzeichnisse und / oder Dateien unterbinden: IndexIgnore @eaDir Thumbs.db #recycle ### Aufrufe automatisch von http auf https umleiten: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> ### Zugriff beschränken: Order Deny,Allow Deny from all Allow from 192.168.1. Allow from 10.2.0. Satisfy all ### Zugriff - End ###
Damit ist der Inhalt von web
erstmal soweit abgesichert. Im einzelnem:
IndexIgnore
: Das Auflisten bestimmter Inhalte wird unterbunden. In dem Beispiel sind es die versteckten Verzeichnisse der DS ea@Dir
, der Papierkorb mit #recycle
und die Windows Thumbnail Caches mit Thumbs.db
. Letzteres ist Geschmackssache.HTTP Redirect
: Automatische Umleitung von http Aufrufen auf httpsOrder Deny,Allow
: Zugriffsbeschränkung. Im Beispiel werden alle Zugriffe verboten außer den beiden IP-Bereichen 192.168.1. und 10.2.0.
Jetzt ist die Blockierung auf sämtliche Inhalte nur die eine Seite, natürlich sollen und können bestimmte Inhalte auch zugänglich gemacht werden, was ja durchaus der Sinn einer Homepage oder eines Web-Verzeichnisses ist. Nehmen wir mal an, wir haben im Ordner „web“ ein Verzeichnis public
angelegt, dass wir freigeben wollen. Dazu reicht es im Verzeichnis public
eine weitere .htaccess
-Datei zu erstellen:
Beispiel :
### Zugriffsbeschränkung aufheben: - Start ### ### Public: Options +Indexes IndexOptions FancyIndexing Order deny,allow Allow from all Satisfy any
Wird nun über einen Browser das Verzeichnis aufgerufen und ist im Verzeichnis eine Index-Datei vorhanden, wird diese Indexdatei ausgeführt bzw. angezeigt. Ansonsten wird im Browser der Inhalt des Verzeichnisses gelistet.
Beispiel :
Ist die Auflistung des Inhaltes nicht gewünscht, dann sind die beiden Zeilen:
Options +Indexes IndexOptions FancyIndexing
zu löschen oder auszukommentieren.
Nun gibt es noch die Möglichkeit ein Verzeichnis mit einer Zugriffsbeschränkung zu versehen. Die Möglichkeiten sind mannigfaltig. Wer sich über eine einfache Zugriffsbeschränkung hinaus damit beschäftigen will, dem empfehle ich die Lektüre der angeführten Links.
Ich beschreibe hier nur die einfache Zugriffsbeschränkung mit der Aufforderung Benutzername und Passwort einzugeben.
Beispiel :
Dazu bedarf es etwas Vorbereitung.
Damit die Zugriffsbeschränkung funktioniert benötigen wir ein AuthUserFile
, in welcher der bzw. die Benutzernamen und Passwörter gespeichert sind.
Praktischerweise können wir, sobald das Zusatzpaket Apache http Server
installiert ist, über die Shell, ein solches File mit Benutzernamen und Passwörtern erzeugen. Dazu melden wir uns in der Shell an und rufen die Funktion htpasswd
auf. Im Aufruf geben wir den Pfad zu dem AuthUserFile
an, sowie den Benutzernamen und dem Passwort.
Der erste Aufruf, ein AuthUserFile
existiert noch nicht, geschieht nach dem Schema:
htpasswd -cb /volume1/web/security/.htpasswd "Benutzter" "Passwort"
Für jeden weiteren Benutzer lautet der Aufruf dann:
htpasswd -b /volume1/web/security/.htpasswd "Benutzter" "Passwort"
Natürlich können Benutzter auch wieder gelöscht werden mit:
htpasswd -D /volume1/web/security/.htpasswd "Benutzter"
In dem Verzeichnis, dass eine Zugriffsbeschränkung erhalten soll, legen wir eine neue .htaccess
-Datei an.
Beispiel :
Order deny,allow Deny from all Allow from 192.168.1. Allow from 10.2.0. AuthType Basic AuthUserFile /volume1/web/security/.htpasswd AuthName "Zugriffsbeschränkt: Password Required!" Require valid-user Satisfy any
That's it
Ein Beispiel wie das Ganze funktioniert: Demo/Test.
In diesem Fall ist der Benutzername & Passwort = gast
.
Praktisch kann das AuthUserFile
jede beliebige Bezeichnung bekommen und auch an jeder beliebigen Stelle auf der DS liegen. Es empfiehlt sich jedoch der Bezeichnung einen Punkt voranzustellen und ein Verzeichnis zu wählen das nicht von einem FTP-User oder Browser zu erreichen ist. Der Punkt in der Bezeichnung ist eine Tradition aus der Unix-Welt. Dort beginnen viele verzeichnisspezifische Konfigurationsdateien mit einem Punkt, wodurch sie als versteckt
gekennzeichnet werden.
[It's-a Me, Piet!] 2018/01/05 09:45