Ein Apache-Webserver gibt standardmäßig auftretende Fehler auf der Webseite aus. Dass kann durch provozierte Aufrufe zur Preisgabe von unerwünschten Informationen wie
- lokaler Verzeichnispfad des Webservers
- Apache-Version
- PHP-Version
- Patchlevel von Apache2/PHP
führen.
Daher sollten diese Informationen auf Produktivsystem nicht öffentlich angezeigt werden.
PHP
Dazu muss man nur in der entsprechenden php.ini (hier: /etc/php5/apache2/php.ini) das Anzeigen der Fehler abschalten (Off).
; Print out errors (as a part of the output). For production web sites, ; you're strongly encouraged to turn this feature off, and use error logging ; instead (see below). Keeping display_errors enabled on a production web site ; may reveal security information to end users, such as file paths on your Web ; server, your database schema or other information. ; display_errors = Off
Für den Administrator sind diese Fehler natürlich trotzdem wichtig. Daher sollte man das Logging der Fehler einschalten (On).
; Log errors into a log file (server-specific log, stderr, or error_log (below)) ; As stated above, you're strongly advised to use error logging in place of ; error displaying on production web sites. ; log_errors = On
Die Fehlermeldungen werden in das error-Log der jeweiligen vHost- oder Standard-Konfiguration geschrieben.
Apache2
Auch der Apache2 kann noch etwas schweigsamer konfiguriert werden. Und damit das nicht so schwer fällt, ist es sogar schon vorbereitet.
Im Pfad „/etc/apache2/conf.d/“ existiert in Debian die Datei „security“. In dieser sind bereits die wichtigsten Einstellung vorhanden und müssen für Produktivsysteme nur noch aktiviert werden.
# ServerTokens # This directive configures what you return as the Server HTTP response # Header. The default is 'Full' which sends information about the OS-Type # and compiled in modules. # Set to one of: Full | OS | Minimal | Minor | Major | Prod # where Full conveys the most information, and Prod the least. # ServerTokens Minimal #ServerTokens Full #ServerTokens Prod # # Optionally add a line containing the server version and virtual host # name to server-generated pages (internal error documents, FTP directory # listings, mod_status and mod_info output etc., but not CGI generated # documents or custom error documents). # Set to "EMail" to also include a mailto: link to the ServerAdmin. # Set to one of: On | Off | EMail # ServerSignature Off