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