You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Christian Völker <C....@gmx.net> on 2004/01/24 03:25:26 UTC

Segmentation fault bei Aufruf eines CGI unter https

Hallo,

FRAGE: Welches sind die wahrscheinlichsten Fehlerquellen
und welche Schritte sollte ich als Naechstes testen?

VORAB: bei der Suche im Listenarchiv habe ich zwar einen
Haufen aehnlicher Fragen gefunden, jedoch waren sie im
Allgemeinen unbeantwortet. Ich finde meine Frage dennoch
nicht doof und hoffe also auf Antwort.


ZIEL: Ich installiere zur Zeit ein Netzwerk Monitoring
auf Basis von Nagios. Nagios hat unter Anderem eine
Weboberflaeche, die in einem Frameset eine statische
Seite als Startseite praesentiert. Ueber die Naviga-
tion im linken Frame werden dann CGIs aufgerufen, die
den aktuellen Status der ueberwachten Maschinen zeigen.

Diese Infos soll natuerlich nicht jeder sehen und die
einfachste Loesung zur Absicherung scheint mir, die
ganze Website per SSL auszuliefern und dann Basic
Authentication zu verwenden, d.h. .htpasswd. So wird
es auch in der Dokumentation von Nagios  empfohlen.


PROBLEM: Die Authentifizierung arbeitet unter http: ein-
wandfrei und die CGIs zeigen die gewuenschte Information,
die fuer den jeweils angemeldeten User sichtbar sein darf.
Die Startseite mit statischem Inhalt wird auch per https:
dargestellt, mit oder ohne Anmeldung (wenn auskommentiert).

Bei Aufruf der CGIs (es gibt verschiedene)  erhalte ich
unter https: dagegen keine Anzeige, gleichfalls unabhaengig
von der Anmeldung. Im error_log des Apachen steht dann je-
weils segmentation fault. Das ssl_log zeigt keinen Fehler.

Deshalb sehe ich die Ausfuehrung von CGIs unter SSL gener-
ell als Problem an. Diese ist aber fuer das angegebene Ziel
erforderlich. Nach gegenwaertigem Kenntnisstand ist das
Problem nicht spezifisch fuer die CGIs von Nagios, sodass
ich den Fehler dort bisher nicht gesucht habe.


VORWISSEN: Ich habe bei diesem Projekt das erste Mal
mod_ssl im Einsatz. Mit dem Apachen und Authentication
habe ich maessige Erfahrung auf Testrechnern im LAN.

Nagios ist auch neu fuer mich. Der beim Apachen ange-
meldete User muss auch bei Nagios als User eingetragen
und fuer bestimmte Funktionen autorisiert sein. Daher
hatte ich anfaenglich auch diverse 401er im log und
dafuer keine segmentation faults.
Inzwischen bin ich mir sicher, dass ich die httpd.conf
verstehe und dass meine Eintraege das angegebene Ziel
korrekt umsetzen. Dito fuer die Nagios Konfiguration.


SETUP: Ich benutze MacOS X 10.2.8 (Jaguar) wie es aus
der Tuete faellt auf einem aelteren G3 Minitower, der
dafuer von Apple spezifiziert ist. Zur Zeit sitze ich
nicht vor dem Rechner aber ich habe hier ein aehnlich-
es Geraet auf das ich mich bei der Angabe von Versionen
stuetze:

Apache 1.3.27 mit OpenSSL 0.9.6i

Der Apache, den Apple mitliefert beherrscht bereits SSL.
OpenSSL ist demzufolge auch vorinstalliert. Ich habe also
nicht selber kompiliert und habe diesen Punkt bisher als
Fehlerquelle nicht betrachtet. Sollte ich das?


Die httpd.conf habe ich wie folgt modifiziert. Bei den
Aliases habe ich fuer Nagios ein Alias, sowie fuer die
CGIs ein Scriptalias eingefuegt, jeweils mit den Anwei-
sungen fuer die Authentifizierung.

Bei den Virtualhosts steht ein großer konditionaler Block
IfModule mod_ssl.c, in dem zunaechst das SSL-spezifische
Setup erfolgt. Im selben Block steht dann ein Vhost fuer
den Zugriff auf das Wurzelverzeichnis per http, von wo
aus ein Redirekt zur https-Version fuehrt. Schließlich
noch der Vhost fuer SSL in dem es je ein Directory fuer
die statischen Seiten und die CGIs von Nagios gibt, wo
zusaetzlich die Option SSLRequireSSL eingeschaltet wird.
Ende des konditionalen Blocks.

Der SSL-spezifische Setup umfasst einen Haufen Anweisungen,
die ich aus einer Anleitung uebernommen habe, ohne sie im
Detail durchzuarbeiten, etwa eine Liste von Ciphers und das
SSL-Caching. Bei dem random-device habe ich mit urandom
experimentiert, was aber keine Veraenderung brachte. Kommt
das SSL-Caching als Missetaeter in Frage? Hier werde ich
wohl als Naechstes weiter suchen.


Die Doku von Nagios ist zwar insgesamt gut, aber was die
notwendigen Vorbereitungen am Apachen angeht ist sie recht
ungenau. Die dort angegebene Beispielkonfiguration ist eher
holprig und fuehrte bei mir zu Fehlern. Dort habe ich also
keine Hilfe gefunden.
Ich bin außerdem sicher, dass das Problem bei allen CGIS
auftritt und werde dies kommende Woche ueberpruefen, indem
ich die Standard CGIs, die mit dem  Apachen kommen (print-
env und test-cgi) ausprobiere.

Vielen Dank fuer jeden Tip, Christian


--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------