Browser – HSTS Cache löschen

HSTS (HTTP Strict Transport Security) ist ein zusätzlicher Schutz für HTTPS-Verbindungen. Dabei wird dem Browser ein HTTP Response Header Strict-Transport-Security vom Server gesendet. Dies veranlasst den Browser zukünftig bzw. für die im Header definierte Zeit, nur noch verschlüsselte Verbindungen zu dieser Domain aufzubauen. Weitere Informationen zu diesem Thema gibt es z.B. auf der Seite von Wikipedia.

Ist diese Header einmal an den Browser gesendet ist der Zugriff ohne Verschlüsselung auf diese URL nicht mehr ohne Weiteres mit diesem Browser möglich. Soll die Kommunikation wieder unverschlüssel erfolgen müssen zuerst die Einstellungen am Webserver geändert werden und das Senden der Strict-Transport-Security Header verhindert werden. Anschliessen muss im Browser der HSTS-Cache entfernt werden.

Ob der Strict-Transport-Security Header noch gesendet wird kann man z.B. mit cURL prüfen.

In diesem Beispiel ist der Header noch aktiv.

In diesem Artikel wird beschrieben wie man den HSTS Cache in den verschiedenen Browsern löscht.

Firefox – HSTS Cache löschen

HSTS Cache Firefox
HSTS Cache Firefox

Die HSTS Informationen der Domains liegen beim Browser Firefox im Profil-Ordner.

Dazu geben wir im Firefox in der Adressleiste about:support ein. Anschliessend kann der Profilordner durch ein Klick auf Profilordner anzeigen geöffnet werden. Dort befindet sich eine Textdatei mit dem Namen SiteSecurityServiceState.txt.

Nun muss sichergestellt werden, das Firefox vollständig beendet wurde. Danach können wir die Datei mit einen Texteditor bearbeiten und die entsprechende Zeile löschen. „Browser – HSTS Cache löschen“ weiterlesen

Plesk – SSL redirect, HTTPS für Domain erzwingen und www entfernen

Das Plesk Panel bietet in den Hosting-Einstellungen der Domain die Möglichkeit unter dem Punkt bevorzugte Domain die Anfragen gezielt auf www.domain.tld oder domail.tld umzuleiten.

Leider fehlt diese Möglichkeit für die Verwendung von SSL also dem Aufruf für https://domain.tld statt http://domain.tld. Ein Aufruf für https://domain.tld ist zwar möglich aber es erfolgt kein Zwangs-Redirect auf eine SSL-Verbindung, also die Umleitung auf https://domain.tld.

Versuche dieses Verhalten mit einer .htaccess umzusetzen schlagen leider aufgrund der Konfiguration des vHostes fehl. Wie wir dennoch eine Umleitung auf https://domain.tld erreichen können zeigt dieses Tutorial.

Plesk www oder nicht www

www oder nicht www
www oder nicht www

Diese Einstellungen wird in den Hosting-Einstellungen der betreffenden Domain vorgenommen.

Wir haben dort 3 Möglichkeiten der Umleitung, mit www, ohne www oder keine. Je nach Auswahl erfolgt ein Redirect oder die Umleitung bleibt ganz aus und die Domain ist unter beiden URLs erreichbar.

Letzteres ist eher nicht zu empfehlen, da der Seiteninhalt dann doppelt verfügbar ist und Suchmaschinen dies eventuell nachteilig bewerten.

Nachdem wir die Einstellung getroffen haben können wir dies schonmal testen.

Anschliessen hinterlegen wir in diesem Menuepunkt auch gleich noch das passende SSL-Zertifikat und prüfen ob die Webseite auch unter https:// erreichbar ist.

Falls noch kein valides Zertifikat vorhanden ist kann dies, wie in dem Artikel WoSign – kostenlose SSL Zertifikate beschrieben, kostenfrei beantragt werden. „Plesk – SSL redirect, HTTPS für Domain erzwingen und www entfernen“ weiterlesen

NGINX – Basic Authentication

In diesem Artikel werden wir eine Benutzer-Passwort Authentikation mit NGINX realisieren. Das Absichern mit dieser Art der Authentikation funktioniert ähnlich wie die bei Apaches HTTPD. Vorraussetzung ist natürlich eine installierter lauffähiger vorkonfigurierter NGINX Webserver. Dazu gibt es bei Bedarf auch ein extra Tutorial NGINX aus dem NGINX-Repository installieren von mir.

Passwort-Datei für NGINX erstellen

Zuerst installieren wir uns ein paar Tools die uns das erstellen der Passwortdatei erleichtern. Unter CentOS ist dies das Paket httpd-tools und der Debian/Ubuntu heist das Paket apache2-utils.

Nachdem die Installation abgeschlossen wurde, steht uns nun das Tool htpasswd zur Verfügung. Jetzt können wir ohne viel Aufwand mit den Befehl htpasswd Passwörter für NGINX erstellen.

Wir erstellen nun unser Passwortdatei nginxpw unterhalb von /etc/nginx/ in dieser werden die User und Passwörter für die NGINX Basic Authentication gespeichert.

NGINX Basic Auth einrichten

Anschliessend erweitern wir unseren Konfigurationsfile für den vhost um die relevanten Parameter auth_basic und auth_basic_user_file: „NGINX – Basic Authentication“ weiterlesen

CentOS 7 – NGINX und php-fpm

Diese Tutorial bezieht sich auf CentOS 7. Voraussetzung ist ein aktiviertes Epel Repository. Die Einrichtung unterscheidet sich nicht großartig von denen anderer Distributionen und kann auch dort als Beispiel dienen.

Die Einrichtung wird am Beispiel der Domain tutorial.der-linux-admin.de erklärt. Diese muss dann natürlich durch die passende Domain ersetze werden.

Installation von NGINX

Zuerst installieren wir den Webserver NGINX. Falls wir den aktuellen NGINX aus den NGINX-Repository installieren wollen gibt es eine passende Anleitung im meinem Artikel NGINX aus dem NGINX-Repository installieren.

Nun aktivieren wir NGINX für den automatischen Start und Starten den Dienst.

Falls firewalld auf unserem System läuft können wir mit folgenden Befehlen die Ports 80 und 443 in der Firewall freischalten.

NGINX sollte nun von extern erreichbar sein und eine Default-Webseite ausliefern. „CentOS 7 – NGINX und php-fpm“ weiterlesen

WoSign – kostenlose SSL Zertifikate für 2 Jahre

WoSign bietet kostenlose SSL-Zertifikate für 2 Jahre an. Dies erweist sich als gute Alternative für die kostenlosen Zertifikate der Firma StartSSL. Diese Zertifikate waren auf 1 Jahr und einen nicht kommerziellen Einsatz limitiert.

WoSign ist ein chinesischer Anbieter, aber keine Angst, dies hat keinen Einfluss auf die Verschlüsselung :D! Die WoSign Zwischenzertifiakte sind mittlerweile auch SHA256 signiert und somit mit allen modernen Browsern kompatibel.

CSR und KEY erstellen

Prinziepell ist es möglich den CSR (Certificate Signing Request) und den Key auf der Webseite generieren zu lassen. Davon rate ich aber dringent ab. Der Privat Key heist nicht umsonst so und sollte nur dem Besitzer selbst bekannt sein.

Die benötigten Dateien erstellen wir auf der Konsole wie folgt:

Anschliessend erscheint folgender Dialog:

Der „Common Name“ ist der Name der Domain auf die das Zertifikat ausgestellt werden soll. Daher ist besonders darauf achten, dass dort die richtigen angaben gemacht werden. „WoSign – kostenlose SSL Zertifikate für 2 Jahre“ weiterlesen

NGINX – kleiner DDOS und FLOOD Schutz mit limit_req

Mit NGINX können wir die maximalen Verbindungen pro IP auf unseren vHosts beschränken. Das ist zwar keine richtige DDOS-Protection aber mit dieser Methode können wir aggressive Bots oder spielende Kinder etwas in die Schranken weisen.

Grundlage ist ein fertig installierter NGINX-Webserver. Dazu gibt es bereits einen Artikel in dem beschrieben wird wie man NGINX unter CentOS 7 aufsetzt.

Zuerst richten wir unter dem http Block in der nginx.conf eine neue Limit Zone ein.

Damit erstellen wir eine Limit Zone mit dem Namen noflood diese Zone lässt per IP maximal 10 gleichzeitige Verbindungen innerhalb einer Sekunde zu. Die neue Zone kann 10MB Informationen aufnehmen. 1MB kann 16000 einzelne IP’s der Verbindungsdaten verwalten. Sollte 10MB nicht ausreichen kann man diesen Wert entsprechen ändern. „NGINX – kleiner DDOS und FLOOD Schutz mit limit_req“ weiterlesen

NGINX – sichere SSL/TLS Konfiguration mit Perfect Forward Secrecy (PFS) und A+ Wertung von Qualys SSL Labs

nginx-a+-ssllabs
Qualys SSL Labs A+ Bewertung

In diesem Artikel wird die Konfiguration von SSL/TLS von NGINX beschreiben. Voraussetzung ist eine lauffähige aktuelle NGINX-Installation. Eine Anleitung wie das unter CentOS 7 funktioniert findet man in dem Artikel CentOS 7 – NGINX aus dem NGINX-Repository installieren.

Weiterhin benötigten wir ein gültiges Zertifikat, dazu gehören der Key, das Zertifikat und eventuell ein CA-Bundle.

Konfiguration NGNIX mit SSL/TLS

Dazu erweitern wit unsere Konfiguration um einen weiteren vHost der auf Port 443 lauscht. Für diesen aktivieren wir ssl und optional spdy.

Weitere Infos zu spdy findet man auf der Projektseite von spdy. Es spricht eigentlich nichts dagegen sdpy zu verwenden. In wie weit sich dies in irgend einer Form auf das Ranking der Webseite auswirkt kann ich nicht sagen.

Die Pfade zu den Parametern ssl_certificate und ssl_certificate_key müssen natürlich passen.

NGINX CA-Chain einrichten

Falls noch ein CA_Bundle vorliegt muss dies noch in die Datei vom ssl_certificate eingefügt werden. Den Parameter SSLCACertificateFile wie bei Apaches httpd gibt es unter NGINX nicht.

„NGINX – sichere SSL/TLS Konfiguration mit Perfect Forward Secrecy (PFS) und A+ Wertung von Qualys SSL Labs“ weiterlesen

NGINX – CloudFlare und reale IP-Adressen (set_real_ip_from)

CloudFlare ist ein CDN-Hosting Anbieter. CDN heist Content-Distribution-Network und meint damit das effiziente Verteilen von Webinhalten von einer Vielzahl an Servern an die Besucher. Zudem bietet Cloudflare auch Zusatzdienste wie DDoS Protection, Analytics uns vieles mehr.

Wenn man Cloudflare vor seinem Webserver betreibt führt dies dazu, dass unser Webserver nur noch die IPs von Cloudflare in seinen Logs vermerkt. Wem die reale IP seiner Besucher wichtig ist, der kann NGINX mit folgender Konfiguration dazu bringen die Reale IP zu verwenden.

Als Grundlage dient der Artikel der Installation von NGINX unter Centos 7. Es funktioniert natürlich auch bei Installationen unter anderen Betriebsystemen.

Zuerst schauen wir ob unser NGINX mit den notwendigen Modulen kompiliert wurde.

Für die Reale IP benötigen wir folgendes Modul

und für den Fall, dass wir auch IPv6 benötigen ist dieses Modul ebenfalls erforderlich. „NGINX – CloudFlare und reale IP-Adressen (set_real_ip_from)“ weiterlesen

CentOS 7 – NGINX aus dem NGINX-Repository installieren

NGINX ist ein leistungsfähiger Webserver und Reverse Proxy, der sogar als E-Mail-Proxy verwendet werden kann. Nginx wird aufgrund seiner Robustheit und seiner Effizienz immer beliebter und kommt auf immer mehr Systeme zum Einsatz. Die Konfigurationssyntax unterscheidet sich sehr stark vom Apache Webservers ist aber genau so einfach zu erlernen.

Installation NGINX unter CentOS 7

Zuerst binden wir das NGINX-Repository ein. So haben wir immer die aktuelle Version direkt vom NGINX-Projekt.

Nun kontrollieren wir ob das NGINX-Repo erfolgreich eingebunden wurde und NGINX aus diesem installiert werden kann.

Es sollte dann folgende Ausgabe erscheinen. „CentOS 7 – NGINX aus dem NGINX-Repository installieren“ weiterlesen

Logstalgia auf Mac OS

Logstalgia in Aktion
Logstalgia in Aktion

Mit Logstalgia lassen sich die Logfiles der Webserver Apache und Nginx ganz einfach visualisieren. Ob dies nun einen praktischen Nutzen hat muss jeder für sich selbst entscheiden. Ausprobieren lohnt auf jeden Fall. Wie so eine Visualisierung aussehen kann wird hier in einem Beispiel-Video recht anschaulich demonstriert.

Einen Installer für Windows und die Pakete für Debian findet man auf der Projekt-Homepage. Auch der Source-Code für eine Installation auf anderen Systemen ist dort zu finden.

Logstalgia installieren

Um Logstalgia auf dem Mac zu installieren setzen wir eine funktionierende brew Installation voraus. Damit ist auch schon das Wesentlichste getan. Logstalgia lässt sich nun ganz einfach mit allen erforderlichen Abhängigkeiten installieren.

„Logstalgia auf Mac OS“ weiterlesen