Apache 2.x Webserver - Installation, Konfiguration und Administration

Classroom Schulung | deutsch | Anspruch

Schulungsdauer: 5 Tage

Ziele

In diesem Kurs lernen Sie den Apache Webserver aufzusetzen, zu administrieren und bestehende Installationen zu verstehen oder zu analysieren.

Zielgruppe

Administratoren, die einen Apache Webserver administrieren möchten

Voraussetzungen

  • Sicherer Umgang mit der Linux-Kommandozeile
  • Grundwissen TCP/IP-Netzwerke und deren Funktion
  • HTML-Grundkenntnisse sind von Vorteil

Agenda

Grundlagen

  • Das Protokoll HTTP
  • Apache installieren
  • Aufbau einer Konfigurationsdatei
  • Unterschiede zwischen Distributionen und selbst kompiliertem Apache
  • Server-Grundkonfiguration

Modularer Aufbau des Apache

  • Statische und dynamische Module, Unterschiede 2.0/2.2 vs 2.4
  • APR (Apache Portable Runtime) und MPM (Multi-Processing Modules)
  • Vor- und Nachteile der einzelnen MPMs (prefork, worker, event, ...)

Umschreiben von URLs (mod_alias, mod_rewrite, mod_userdir, ...)

Status-Informationen (mod_info, mod_status)

  • Monitoring am Beispiel von Nagios und collectd

Authentifizieren und Authorisieren (mod_access, mod_auth*)

  • Klassische Text-Dateien
  • LDAP-Authentifizierung und -Authorisierung
  • SQL-Datenbank-Anbindung
  • Unterschiede Basic und Digest Authentifizierung, Probleme
  • Sicherheitsaspekte
  • Unterschiede 2.0 - 2.2 - 2.4

Dynamische Inhalte

  • CGI- und FastCGI-Anbindung (mod_cgi mod_proxy_fcgi)
  • PHP und mod_perl als Apache-Module
  • FastCGI-Alternative: Python/WSGI
  • Sicherheit bei dynamischen Inhalten per CGI, PHP, ...
  • (Un)Sicherheitsbetrachtung
  • User/virtuelle Web-Server einschränken
    • PHP-basiert
    • suexec
    • Change-Root-Umgebung pro User/virtuellem Web-Server

Virtuelle Web-Server

  • IP-based
  • Name-based
  • Massen-Hosting (mod_vhost_alias)

SSL-Verschlüsselte Web-Seiten (mod_ssl)

  • IP- und Name-based, Probleme
  • SNI: "Server Name Indication" und dessen Nachteile
  • Testen auf Sicherheitslücken

Apache als (Caching-)Proxy-Server (mod_proxy*, mod_*cache*)

  • Proxy-Konfiguration
  • Reverse-Proxy
  • Caching von Inhalten
  • Sicherheitsaspekte

Hochlast und Hochverfügbarkeit

  • Apache-Optimierung
  • Apache als Load-Balancer mit mod_proxy_balancer
  • Betrieb hinter Load-Balancern
    • IPVS
    • pen
    • Generische Hinweise
  • Web-Cluster mit Apache
    • Konzepte

Unterschiedliche Log-Files (mod_log*)

  • Analyse von Log-Dateien
  • Piwik
  • Rechtliche Bestimmungen

Umgang mit MIME-Typen (mod_mime*)

Komprimierte Auslieferung von Dateien (mod_deflate)

WebDAV-Server, Probleme

Anbindung von Java Application Servern (mod_proxy_ajp)

Ziele

In diesem Kurs lernen Sie den Apache Webserver aufzusetzen, zu administrieren und bestehende Installationen zu verstehen oder zu analysieren.

Zielgruppe

Administratoren, die einen Apache Webserver administrieren möchten

Voraussetzungen

  • Sicherer Umgang mit der Linux-Kommandozeile
  • Grundwissen TCP/IP-Netzwerke und deren Funktion
  • HTML-Grundkenntnisse sind von Vorteil

Agenda

Grundlagen

  • Das Protokoll HTTP
  • Apache installieren
  • Aufbau einer Konfigurationsdatei
  • Unterschiede zwischen Distributionen und selbst kompiliertem Apache
  • Server-Grundkonfiguration

Modularer Aufbau des Apache

  • Statische und dynamische Module, Unterschiede 2.0/2.2 vs 2.4
  • APR (Apache Portable Runtime) und MPM (Multi-Processing Modules)
  • Vor- und Nachteile der einzelnen MPMs (prefork, worker, event, ...)

Umschreiben von URLs (mod_alias, mod_rewrite, mod_userdir, ...)

Status-Informationen (mod_info, mod_status)

  • Monitoring am Beispiel von Nagios und collectd

Authentifizieren und Authorisieren (mod_access, mod_auth*)

  • Klassische Text-Dateien
  • LDAP-Authentifizierung und -Authorisierung
  • SQL-Datenbank-Anbindung
  • Unterschiede Basic und Digest Authentifizierung, Probleme
  • Sicherheitsaspekte
  • Unterschiede 2.0 - 2.2 - 2.4

Dynamische Inhalte

  • CGI- und FastCGI-Anbindung (mod_cgi mod_proxy_fcgi)
  • PHP und mod_perl als Apache-Module
  • FastCGI-Alternative: Python/WSGI
  • Sicherheit bei dynamischen Inhalten per CGI, PHP, ...
  • (Un)Sicherheitsbetrachtung
  • User/virtuelle Web-Server einschränken
    • PHP-basiert
    • suexec
    • Change-Root-Umgebung pro User/virtuellem Web-Server

Virtuelle Web-Server

  • IP-based
  • Name-based
  • Massen-Hosting (mod_vhost_alias)

SSL-Verschlüsselte Web-Seiten (mod_ssl)

  • IP- und Name-based, Probleme
  • SNI: "Server Name Indication" und dessen Nachteile
  • Testen auf Sicherheitslücken

Apache als (Caching-)Proxy-Server (mod_proxy*, mod_*cache*)

  • Proxy-Konfiguration
  • Reverse-Proxy
  • Caching von Inhalten
  • Sicherheitsaspekte

Hochlast und Hochverfügbarkeit

  • Apache-Optimierung
  • Apache als Load-Balancer mit mod_proxy_balancer
  • Betrieb hinter Load-Balancern
    • IPVS
    • pen
    • Generische Hinweise
  • Web-Cluster mit Apache
    • Konzepte

Unterschiedliche Log-Files (mod_log*)

  • Analyse von Log-Dateien
  • Piwik
  • Rechtliche Bestimmungen

Umgang mit MIME-Typen (mod_mime*)

Komprimierte Auslieferung von Dateien (mod_deflate)

WebDAV-Server, Probleme

Anbindung von Java Application Servern (mod_proxy_ajp)

Diese Seite weiterempfehlen