Apache-Minikurs 1

☰ Menü

Funktionsumfang des Servers einstellen

Module aktivieren, auflisten und deaktivieren

Wesentliche Funktionsmerkmale des Apache-Webservers - z.B. Verschlüssellung, Authentifizierung, virtuelle Hosts, usw. - sind in Modulen ausgelagert. Mit dem Konsolenbefehl a2enmod werden Module aktiviert und mit a2dismod deaktiviert.

Mit [sudo] apache2ctl -M werden alle aktivierten Module aufgelistet:

 

debian@debian: sudo apache2ctl -M
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 mpm_worker_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgid_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 info_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 status_module (shared)
Box 1: Aktive Module anzeigen

 

Ein Überblick über den Status des Servers

Der Apache-Webserver liefert selbst ausführliche Informationen über seinen Status, seinen durch Module erweiterten und erweiterbaren Funktionsumfang, Logdateien uvm.

Gibt man http://localhost/server-status in die Adressleiste des Internetbrowsers ein, erhält man eine Übersicht über die Auslastung des Servers, z.B. wie viele Anfragen aktuell bedient werden usw.

Viel interessanter ist die mit http://localhost/server-info angeforderte Information. Die Anzeige der Infoseite wird normalerweise unterdrückt. Hier gibt der Server Informationen über seine Kongigurationsdateien, wichtige Servervariablen, aktivierte Module, verfügbare Serversprachen (CGI, PHP, ...) an. Ein potentieller Angreifer sollte sicherheitsrelevante Informationen nicht auch noch gratis frei Haus geliefert bekommen.

Wir aktivieren die Ausgabe der Server-Info mit a2enmod info und anschließendem service apache2 restart.

Die Reichweite der Ausgaben ist in den Dateien /etc/apache2/mods-available/status.conf und /etc/apache2/mods-available/info.conf eingestellt.

 

Die Version können Sie mit dem Konsolenbefehl bei Debian dpkg-query -W apache2 bestimmen.

#
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
#
# see http://httpd.apache.org/docs-2.2/mod/mod_status.html
#
<IfModule mod_status.c>
    <Location /server-status>
	SetHandler server-status
	Order deny,allow
	Deny from all
	Allow from localhost 127.0.0.1
    </Location>
</IfModule>
Box 2: Konfigurationsdatei /etc/apache2/mods_available/status.conf (bis Apache 2.2)
#
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
#
# see http://httpd.apache.org/docs-2.2/mod/mod_status.html
#
<IfModule mod_status.c>
    <Location /server-status>
	SetHandler server-status
	Order deny,allow
	Require Local

    </Location>
</IfModule>
Box 2: Konfigurationsdatei /etc/apache2/mods_available/status.conf (ab Apache 2.4)

 

Die Version können Sie mit dem Konsolenbefehl dpkg-query -W apache2 bestimmen.

<IfModule mod_info.c>
#
# Allow remote server configuration reports, with the URL of
#  http://servername/server-info (requires that mod_info.c be loaded).
# Uncomment and change the "192.0.2.0/24" to allow access from other hosts.
#
<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 ::1
#    Allow from 192.0.2.0/24
</Location>

</IfModule>
Box 3: Konfigurationsdatei /etc/apache2/mods-available/info.conf (bis Apache 2.2)
<IfModule mod_info.c>
#
# Allow remote server configuration reports, with the URL of
#  http://servername/server-info (requires that mod_info.c be loaded).
# Uncomment and change the "192.0.2.0/24" to allow access from other hosts.
#
<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
    Require Local

</Location>

</IfModule>
Box 3: Konfigurationsdatei /etc/apache2/mod_info.conf (ab Apache 2.4)

 

Dokumentationsserver installieren

Sie sollten unbedingt mal das Dokumentationsmodul apache2-doc ausprobieren! Installieren Sie das Paket apache2-doc!

Nach einem service apache2 reload steht nun die Online-Hilfe innerhalb der Linux-Maschine unter der Adresse http://localhost/manual bereit.

 

Aufgaben

  1. Geben Sie zwei Verwendungszwecke (inkl. Syntax) des Befehls a2enmod an!
  2. Geben Sie den Verwendungszweck (inkl. Syntax) des Befehls a2dismod an!
  3. In welchen Situation ist die Anzeige der Serverinfos sinnvoll und wann sollte sie grundsätzlich abgeschaltet sein?
  4. Öffnen Sie die Infoanzeige des Servers und schreiben Sie wesentliche Informationen des Moduls mod_authz_host.c heraus!
  5. Entnehmen Sie der Serverinfo die Dateinamen wesentlicher Konfigurationsdateien des Webservers!
  6. Interpretieren Sie den Inhalt der Datei /etc/apache2/mods-available/info.conf zeilenweise!
  7. Erläutern Sie den Unterschied zwischen den Konsolenbefehlen service apache2 reload und service apache2 restart!

 

 Zu guter Letzt:
Diesen Apache-Minikurs zum Mitnehmen gibt's im Fundus zum Download .

W. Hermanns, © 2018