Serverumgebung
pl
- php
0 Christian Kruse0 pl
2 Rolf B0 pl
Mein Server gibt für PHP_AUTH_USER in PHP_AUTH_PW das Passwort im Klartext aus. Wo zum Teufel ist das denn konfiguriert!?
Aha. Das Letztemal sah ich diese Unsitte auf einem IIS /Microsoft. MFG
Hallo pl,
die Übertragung im HTTP Header erfolgt base64-codiert. PHP nimmt Dir da etwas Arbeit ab. Wenn das eine Unsitte ist - wie sähe denn dann die gute Sitte aus?
Basic- oder Forms-Authentication macht man aus gutem Grund immer nur via https.
Rolf
Das Passwort im Klartext in die Serverumgebung zu setzen halte ich für ein Sicherheitsrisiko. CGI/1.1 sieht sowas auch nicht vor.
PHP nimmt Dir da etwas Arbeit ab.
Ne, ich hab die Arbeit diesen Mist wieder rauszulöschen damit das nicht versehentlich in falsche Hände gerät.
MFG
Hallo pl,
Das Passwort im Klartext in die Serverumgebung zu setzen halte ich für ein Sicherheitsrisiko.
Ob das Passwort im Klartext oder base64-kodiert irgendwo in der Umgebung gesetzt ist, bleibt sich gleich. Das Risiko ist identisch: der Angreifer muss Code ausführen können, um etwas damit anfangen zu können. Denn geloggt wird es nicht, es sei denn man baut das von Hand nach.
Deine Einschätzung teile ich nicht.
CGI/1.1 sieht sowas auch nicht vor.
Moderne PHP-Implementationen nutzen kein CGI (sondern sind ein Webserver-Modul oder nutzen FastCGI o.ä. Mechanismen).
Freundliche Grüße,
Christian Kruse
Hallo Christian,
Ob das Passwort im Klartext oder base64-kodiert irgendwo in der Umgebung gesetzt ist, bleibt sich gleich.
Ich habe nochmal nachgelesen. Es gibt Basic Authentication in zwei Geschmacksrichtungen: Von PHP durchgeführt oder von "einem externen Mechanismus" durchgeführt. Also z.B. mit mod_auth_basic. Oder im IIS.
PHP.NET schreibt, dass bei Verwendung eines externen Mechanismus das Passwort nicht in $SERVER gespeichert wird, wenn denn safe_mode auf ON gesetzt ist. Das ist lustig, denn der Safe Mode ist in 5.3 deprecated und in 5.4 entfernt worden, mit dem Hinweis in den Release Notes, dass man sich jetzt auf andere Weise um Security bemühen müsse. PHP_AUTH* ist nur ein kleiner Teilaspekt davon. Da steht nur nicht, wie sich PHP ab 5.4 bei diesen Variablen verhält.
Frage wäre also erstmal, mit welcher PHP Version PL unterwegs ist und ob externe oder interne HTTP Authentication am Start ist.
Letztlich ist PHP_AUTH_PW aber nicht allein kriegsentscheidend, denn angeblich wird der Authenticate-Header, in dem das PW base64-codiert steht, auch nicht unbedingt ausgefiltert.
Rolf