Apache 2.x Webserver - Installation, Konfiguration und Administration

Classroom Schulung | deutsch | Anspruch

Schulungsdauer: 5 Tage Durchführung garantiert

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