Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Was fehlt?

Es liegt in der Natur der Sache: Ein Wiki ist niemals fertig. Wir geben uns große Mühe, mit der Entwicklung Schritt zu halten; lassen Supportanfragen direkt in neue Artikel einfließen … aber auch wir sind nicht perfekt. Wenn du hier nicht fündig wirst: Nicht schmollen - Bescheid sagen! Unter hallo@uberspace.de steht dir unser Team gerne bereit. Hand drauf!

webserver:security
Alle Anleitungen in diesem Wiki beziehen sich auf Uberspace 6. Die Dokumentation für U7 findest du im neuen Manual. Im Lab findest du außerdem von Usern erstellte Anleitungen für verschiedene Projekte.

Webserver security

HTTPS erzwingen

Ein kleiner Teil unserer alten Server nutzt mod_ssl, während der Großteil unserer Hosts mit Pound als HTTPS-Frontend arbeit. mod_ssl definiert bei HTTPS-Verbindungen eine Servervariable namens HTTPS, während HTTPS-Verbindungen über Pound eine Umgebungsvariable namens HTTPS bereitstellen. Mit einer .htaccess Datei kannst du für alle Requests, die keine dieser Variablen haben, einen Redirect auf die HTTPS-URL auslösen:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Wichtig: Die Regeln gehören ganz an den Anfang der .htaccess-Datei. Im Support stoßen wir immer mal wieder darauf, dass es Probleme mit dem Erzwingen von HTTPS in Verbindung mit einer Proxy-Anweisung in der .htaccess gibt. Das basiert auf einem Missverständnis, die Proxy-Anweisung [P] wirkt nämlich gleichzeitig noch wie ein [L], alle nachfolgenden Anweisungen in der .htaccess werden also ignoriert.

Wenn du neben dem HTTPS-Redirect auch einen Login mit Basic-Authentication willst, wird dein Passwort in manchen Fällen ungeschützt übertragen. Um das zu vermeiden, wirf bitte einen Blick auf den htaccess-Artikel.
Wenn du HTTPS mit einer eigenen Domain nutzen möchtest, brauchst du hierfür ein eigenes Zertifikat.

HTTP response headers

Per uberspace-configure-webserver kannst du unter anderem sicherheitsrelevante HTTP response header an- und ausschalten. Mit –help kannst du dir anschauen, was das Tool alles kann und wie es bedient werden möchte:

[madeleine@neon ~]$ uberspace-configure-webserver --help
invalid syntax or missing feature.
Usage: uberspace-configure-webserver <enable|disable|status> <feature>
 
This shell script configures the vhost.

features:
         error_log
           handles Apache error_log
         
         hsts
           sets Strict-Transport-Security: max-age=15768000
         
         nosniff
           sets X-Content-Type-Options: nosniff
         
         xframe_deny
           sets X-Frame-Options: DENY
         
         xxss_protection
           sets X-Xss-Protection: 1; mode=block

Options:

  -h, --help
         This help message

Im Blog von Scott Helme wird sehr schön zusammen gefasst, welcher Header welche Auswirkungen hat.

webserver/security.txt · Zuletzt geändert: 2017/09/19 15:26 von uber