QRCode um die URL auf dem mobilen Gerät aufzurufen
QRCode um die URL auf dem mobilen Gerät aufzurufen
Bücherregal mit einem Computer

Apache Webserver

Installation und Konfiguration eines Apache Webservers

Apache Webserver

Ich benutze seit nunmehr über 20 Jahren den Apache Webserver. Entsprechend fundiert sind daher auch meine Erfahrungen. Angefangen habe ich mit dem Apache 1.3. Mittlerweile sind wir bei Version 2.4 angekommen.

Rewrite

Das URL Rewriting ist das mächtigste Instrument zum Bearbeiten von Requests. Hierbei geht es nicht nur um eine Anpassung und formatierung von URLs (beispielsweise für SEO) sondern auch um das Setzen von Regeln für Sicherheitsaspekte.

Es gibt statische Regeln aus der Config oder dynamische Regeln aus einer .htaccess Datei. Der .htaccess Mechanismus eignet sich dafür, das Regeln von CMS Systemen eigenständig generiert werden können, ist aber systembedingt inperformant. Ein guter Kompromiss ist daher die Verwendung von Rewrite Maps. Damit lassen sich erweiterte Techniken wie im nachfolgenden Beispiel umsetzen:

  • Authentifizierung via Authorize- oder Auth-Bearer-Headern
  • Setzen von Umgebungsvariablen gesteuert durch ein CMS
  • Bot Abwehr
  • Abwehr von URL Probing
  • URL-basierte Content Security Policies
  • Umsetzung von CORS, CORP, COEP und COOP Policies

Hardening

Zum Hardening eines Webservers gehören verschiendene Aspekte wie z.B.

  • Bot Abwehr
  • Spam Schutz
  • SSL Security (z.B. HSTS und OCSP Stapling)
  • Abwehr von DOS und DDOS Attacken
  • Prävention gegen XSS Attacken
  • Abwehr von URL Probing

Selbstverständlich ist auch dieser Webserver entsprechend gesichert. Einen Überblich kann man sich mit folgenden Validatoren verschaffen:

Server Side Includes

Für eine statische Ausspielung ist mod_includes faktisch unerlässlich, will man nicht jedesmal den kompletten Datenbestand neu publizieren, sobald eine Änderung am HTML erfolgt. die <--#include vitual="url"--> Direktive ist gemeinhin bekannt. Doch mod_includes kann weitaus mehr. In Kombination mit mod_rewrite und mod_proxy lassen sich diverse erweiterte Techniken umsetzen wie z.B.:

  • Auswertung von Query- oder Environment-Variablen
  • Nonce Generierung zur Umsetzung einer Content Security Policy
  • Dynamisches Include von Dateien aus einem Variablennamen
  • Dynamisches Include von URLs (via mod_proxy) als HTML Snippets aus einem Variablenname/li>
  • Zeigesteuerte Darstellung von Inhalten
  • Content Weichen zur Unterscheidung von Staging- und Produktions-Systemen
Eine neue Version ist verfügbar. Klicken Sie hier um eine Aktualisierung durchzuführen.