Ghostboard pixel

Webserver absichern

Webserver absichern

Heute hatte ich mich dran gemacht und habe meinen Webserver besser abgesichert. Genauer gesagt habe ich die jeweiligen Header im Reverse Proxy (Apache2.4) angepasst. Diese dienen dazu die Webseite und die Benutzerkonten vor Angriffen von aussen zu schützen. Ich hab zuerst, nachdem der Apache Webserver installiert hatte, mit a2enmod header die Unterstützung dafür installiert.

Zuerst habe ich global für alle Webseiten Einstellungen vorgenommen. Unter anderem den HSTS (HTTP Strict-Transport-Security), den Header X-Content-Type-Options, Acces Control und Set Cookie.

nano /etc/apache2/mods-available/ssl.conf

  1. Der HSTS Header sagt dem Browser das alle zukünftigen zugriffe via SSL stattfinden.

2. X-Content-Type-Options sorgt dafür das neben dem Content text/html nicht nach weiteren MIME-Types gesucht. Die Suche wird mit der Option „nosniff“ blockiert.

3. Der Access-Control-Allow-Origin ist ein Header, der vom Server an den Browser gesendet wird. Es erzwingt eigentlich nichts serverseitig, sagt aber dem Browser „Hey, diese Anfrage ist nur von a.com erlaubt“. Da sich der Browser auf b.com befindet, blockiert er die Anforderung (CORS), um den Benutzer vor Phishing und anderen Angriffen zu schützen

4. Mit Set Cookie wird den Webseiten nur erlaubt Cookies an den Browser zu senden, wenn die Webseite via https aufgerufen wird.

5. X-XSS-Protection ist eine Funktion des Internet Explorer und Chrome-Browsers, die das Laden von Seiten verhindert, wenn sie XSS-Angriffe (Cross-Site Scripting) erkennen. Obwohl diese Schutzmaßnahmen in modernen Browsern weitgehend unnötig sind, wenn Websites eine strenge Richtlinie zur Inhaltssicherheit implementieren, die die Verwendung von Inline-JavaScript („unsafe-inline“) deaktiviert, können sie dennoch Schutz für Benutzer älterer Webbrowser bieten, die CSP noch nicht unterstützen .

Header always set Strict-Transport-Security: "max-age=31536000; includeSubdomains; preload"
Header always set X-Content-Type-Options "nosniff"
Header always set Access-Control-Allow-Origin "*
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set X-XSS-Protection "1; mode=block"
SSLCompression off

Nachdem die einstellungen getroffen sind, wird der Webserver neu gestartet. Den HSTS Header wird für jede Seite angepasst.

HSTS Header für WordPress. Dieser erlaubt es Scripte und Content von den Webseiten Gravatar, Twitter, Facebook, fonts.gstatic.com zu laden. Das wird meist bei den Themes zu laden von Grafiken benötigt.

Header set Content-Security-Policy "default-src 'self'; img-src 'self' https://secure.gravatar.com https://twitter.com https://facebook.com  https://wordpress.org data:; font-src 'self' fonts.gstatic.com data:; object-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; connect-src 'self'; child-src 'self';"

Mit Webseiten wie cspvalidator.org oder observatory.mozilla.org können die Einstellungen überprüft werden.

Quelle: https://spacehost.de