On 25.08.2005, at 18:00, Stefan-Michael. Guenther (in-put GbR) wrote:

Hallo,

ich habe die Geschichte inzwischen gelöst.

Okay, aber Vorsicht:

Der Apache wartet, wie man der Ausgabe von strace entnehmen kann, auf Daten aus /dev/random. Von dort kommt aber entweder gar nichts oder zu wenig.
Eine Alternative zu /dev/random ist jedoch /dev/urandom.

Exakt, /dev/random wartet bei zu wenig Entropy vom System, es blockt also, das verursacht den Hänger.

Du hast Recht, daß das Problem bei /dev/urandom nicht auftritt da dieses nicht blockt (unblocking) aber der Nachteil ist, dass weniger Entropy vom System hergenommen wird und somit die Sicherheit leidet.

Also habe ich /dev/random gelöscht und durch einen symbolischen Link
auf /dev/urandom ersetzt.

Oi... das ist aber nicht die feine Art, insbesondere da nun das ganze System urandom nutzen muss ;-/

Und jetzt startet der Apache.

Logisch, die Frage wäre nur ob das nicht sauberer gelöst hätte werden können.

Z.B. mit Hilfe von der RandomSeed-Direktive, falls es an SSL hängt (kann auch DigestAuth sein, je nachdem was Du verwendest):

SSLRandomSeed startup file:/dev/urandom 1024
(Erklärung s. http://httpd.apache.org/docs/2.1/mod/ mod_ssl.html#sslrandomseed)

Oder vielleicht auch durch ein Neukompilieren von APR um urandom anstatt random zu benutzen oder vielleicht auch durch das Umkonfigurieren des Systems (je nach Möglichkeit, siehe hierzu random (4) und für FreeBSD rndcontrol(8))...

Cheers,
Erik

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Antwort per Email an