Apache 2.x Webserver - Installation, Konfiguration und Administration
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 5 Tage Durchführung gesichert
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