dsmynas
Benutzer
- Mitglied seit
- 11. Feb 2014
- Beiträge
- 74
- Punkte für Reaktionen
- 0
- Punkte
- 12
Ich meinte nicht mit htaccess, sondern ein Weiterleiten durch Virtuelle Hosts aufbauend auf der Webstation Deiner Synology.
Ich gehe jetzt mal davon aus, dass Du etwas in der Materie steckst ... wenn nicht, muss ich folgende Erklärung etwas einfacher stricken.
Gehen wir mal davon aus, dass Du ein Gerät hast dessen Dienste Du per IP und Port aus dem lokalen Netz ansprichst (nehmen wir mal die IP 10.0.10.1 und den Port 4711 als Beispiel), zusätzlich möchten wir noch den Verkehr zu zu diesem Gerät, bzw. bis zur DS mit einem SSL Zertifikat verschlüsseln, obwohl das Gerät keine Zertifikate unterstützt.
Von außen kannst Du per URL auf Deine DiskStation zugreifen (nehmen wir mal https://diskstation.mein-netz.de als Beispiel).
Du möchtest aber von extern sowie von intern mit https://geraet.mein-netz.de auf das Gerät mit der Adresse http://10.0.10.1:4711 zugreifen.
Hierzu musst Du erst mal sicherstellen, dass der DNS Server auf Deiner DiskStation den Namen geraet.mein-netz.de auch auf die IP 10.0.10.1 auflösen kann. Außerdem musst Du eine weitere Subdomain zu Deiner Domain mein-netz.de, mit dem Namen geraet.mein.netz.de und der öffentlichen IP Deines Anschlusses, erstellen. Dein Router leitet den http und den https Verkehr an Deine DS weiter (Port 80 und Port 443).
Nun musst Du zwei Virtual Host Einträge in die Konfigurationsdateien Deiner Webstation hinzufügen. Dazu melde Dich als root per ssh an Deiner DS an (root hat übrigens das selbe Passwort wie der Admin).
Öffne und bearbeite mit folgendem Befehl die Datei zuständig für die http-Hosts:
und füge folgende Konfiguration hinzu:
Diese Zeilen leiten alle Anfrage an http://geraet.mein-netz.de sofort an https://geraet.mein-netz.de weiter.
Damit dies auch funktioniert müssen wir noch die Datei bearbeiten die für die https-Hosts zuständig ist und zwar mit folgendem Befehl:
um dann den folgenden Eintrag vorzunehmen:
Hier sind schon einige Sicherheitsfunktionen eingebaut. Die dick markierten Bereiche sind aber vorrangig wichtig. Einmal der Zertifikate-Bereich und der Proxy-Bereich.
Danach den Webserver neu starten.
Mit dieser Vorgehensweise kann man übrigens sehr viele nette Sachen basteln ;-)
Gruß,
dsmynas
[edit] Das Zertifikat geraet.mein-netz.de.crt und den dazugehörigen Schlüssel geraet.mein-netz.de.key musst Du natürlich erst noch erstellen und diese Dateien in den entsprechenden Ordnern auf der DS hinzufügen. Die Datei mit der Zertifikatskette server.ca.pem erhältst Du von Deinem Anbieter wo Du Zertifikate erstellst. [/edit]
Ich gehe jetzt mal davon aus, dass Du etwas in der Materie steckst ... wenn nicht, muss ich folgende Erklärung etwas einfacher stricken.
Gehen wir mal davon aus, dass Du ein Gerät hast dessen Dienste Du per IP und Port aus dem lokalen Netz ansprichst (nehmen wir mal die IP 10.0.10.1 und den Port 4711 als Beispiel), zusätzlich möchten wir noch den Verkehr zu zu diesem Gerät, bzw. bis zur DS mit einem SSL Zertifikat verschlüsseln, obwohl das Gerät keine Zertifikate unterstützt.
Von außen kannst Du per URL auf Deine DiskStation zugreifen (nehmen wir mal https://diskstation.mein-netz.de als Beispiel).
Du möchtest aber von extern sowie von intern mit https://geraet.mein-netz.de auf das Gerät mit der Adresse http://10.0.10.1:4711 zugreifen.
Hierzu musst Du erst mal sicherstellen, dass der DNS Server auf Deiner DiskStation den Namen geraet.mein-netz.de auch auf die IP 10.0.10.1 auflösen kann. Außerdem musst Du eine weitere Subdomain zu Deiner Domain mein-netz.de, mit dem Namen geraet.mein.netz.de und der öffentlichen IP Deines Anschlusses, erstellen. Dein Router leitet den http und den https Verkehr an Deine DS weiter (Port 80 und Port 443).
Nun musst Du zwei Virtual Host Einträge in die Konfigurationsdateien Deiner Webstation hinzufügen. Dazu melde Dich als root per ssh an Deiner DS an (root hat übrigens das selbe Passwort wie der Admin).
Öffne und bearbeite mit folgendem Befehl die Datei zuständig für die http-Hosts:
Code:
vi /etc/httpd/sites-enabled-user/httpd-vhost.conf-user
Code:
<VirtualHost *:80>
[B]ServerName geraet.mein-netz.de[/B]
ServerAdmin postmaster@mein-netz.de
[B]Redirect permanent / https://geraet.mein-netz.de/[/B]
TransferLog /var/log/httpd/transfer.geraet.mein-netz.de.log
</VirtualHost>
Damit dies auch funktioniert müssen wir noch die Datei bearbeiten die für die https-Hosts zuständig ist und zwar mit folgendem Befehl:
Code:
vi /etc/httpd/sites-enabled-user/httpd-ssl-vhost.conf-user
Code:
<VirtualHost *:443>
[B]ServerName geraet.mein-netz.de[/B]
ServerAdmin postmaster@mein-netz.de
ErrorDocument 403 "/webdefault/sample.php?status=403"
ErrorDocument 404 "/webdefault/sample.php?status=404"
ErrorDocument 500 "/webdefault/sample.php?status=500"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
[B]SSLProxyEngine on[/B]
[B]SSLEngine on[/B]
[B]SSLProtocol all -SSLv2 -SSLv3[/B]
[B]SSLCompression Off[/B]
[B]SSLHonorCipherOrder on[/B]
[B]SSLCipherSuite "EECDH+AESGCM EDH+AESGCM EECDH -RC4 EDH -CAMELLIA -SEED !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"[/B]
[B]SSLCertificateFile /usr/syno/etc/ssl/ssl.crt/geraet.mein-netz.de.crt[/B]
[B]SSLCertificateKeyFile /usr/syno/etc/ssl/ssl.key/geraet.mein-netz.de.key[/B]
[B]SSLCertificateChainFile /usr/syno/etc/ssl/ssl.crt/server.ca.pem[/B]
[B] RequestHeader set "X-Forwarded-Proto" "https"[/B]
[B]SetEnv proxy-nokeepalive 1[/B]
[B]ProxyPass / http://10.0.10.1:4711/[/B]
[B]ProxyPassReverse / http://10.0.10.1:4711/[/B]
[B]ProxyErrorOverride off[/B]
TransferLog /var/log/httpd/transfer.geraet.mein-netz.de.log
#Fix IE problem (httpapache proxy dav error 408/409)
SetEnv proxy-nokeepalive 1
</VirtualHost>
Hier sind schon einige Sicherheitsfunktionen eingebaut. Die dick markierten Bereiche sind aber vorrangig wichtig. Einmal der Zertifikate-Bereich und der Proxy-Bereich.
Danach den Webserver neu starten.
Mit dieser Vorgehensweise kann man übrigens sehr viele nette Sachen basteln ;-)
Gruß,
dsmynas
[edit] Das Zertifikat geraet.mein-netz.de.crt und den dazugehörigen Schlüssel geraet.mein-netz.de.key musst Du natürlich erst noch erstellen und diese Dateien in den entsprechenden Ordnern auf der DS hinzufügen. Die Datei mit der Zertifikatskette server.ca.pem erhältst Du von Deinem Anbieter wo Du Zertifikate erstellst. [/edit]
Zuletzt bearbeitet: