[sage] Open Source Groupware - Erfahrungen mit z.B. PHProject oder dotproject

Oliver Schad oliver.schad at oschad.de
Sun Jan 17 10:22:34 CET 2010


On Sunday 17 January 2010 02:23:39 Stefan Neufeind wrote:
> sorry, aber deine Ausführungen über PHP kann/möchte ich an dieser Stelle
> so nicht unkommentiert stehen lassen. Es gibt sicherlich immer
> persönliche Vorlieben - okay. Aber persönlich finde ich machst du es dir
> hier "etwas zu einfach" (nicht böse gemeint).

Sicher nicht. Ich hab selbst schon für den PHP-Interpreter eine 
Sicherheitslücke geschlossen und musste den Code lesen. Der ist einfach 
grottig schlecht, die Ahnungslosigkeit der Programmierer ist erschreckend.

Das einzige, was man mit dem Interpreter noch machen kann, um den zu retten, 
ist wegschmeißen, alle bisherigen Programmierer mal so etwas wie Software-
Design lernen lassen und dann nochmal unter Aufsicht neumachen lassen. Das 
Ding ist einfach nur kaputt. Und ich hab mir das nicht einfach gemacht, ich 
hab den Quelltext lesen müssen, weil sie die Sicherheitsfunktion 
"open_basedir" verkackt hatten. Die hat nämlich einfach gar nicht getan - ganz 
ab von diesem dämlichen Bug, dass die Software unter einem Basedir ein 
Wildcard versteht - sprich open_basedir auf "/var/www" auch das Verzeichnis 
/var/www2 erlaubt. Statt diesen Bug zu fixen, haben sie das in die Doku 
geschrieben, dass das so kaputt ist - super Sache.

Der Bug in open_basedir wurde 9 Monate später, nachdem ich einen Bugreport 
veröffentlicht hatte und den Patch fertiggemacht hatte, behoben. Auf den 
Bugreport hat nie einer reagiert. Entschuldigung, aber das sind nicht nur 
unfähige Idioten, selbst wenn man ihnen den Arsch putzt, kümmern sie sich 
nicht.
 
> On 01/17/2010 01:56 AM, Oliver Schad wrote:
> > Am Saturday 16 January 2010 schrieb mir Andreas Welbers:
> >> Aber insgesamt ist es sehr interessant, die Entwickler gehen auf
> >> Vorschläge ein und führen Benutzerumfragen durch, um die Software den
> >
> > Mmh, kann man die dazu bringen eine Programmiersprache zu benutzen, die
> > nicht so einen kaputten Interpreter hat?
> 
> An und für sich ist der "Interpreter" (Bytecode-Compiler mit
> Runtime-Engine, ...) seit den frühen PHP-Versionen durchaus schon
> wesentliche Schritte voran gekommen und imho sehr wohl "vernünftig".
> Vielleicht magst du mit manchen Punkten z.B. bei PHP3 Recht gehabt
> haben, aber die aktuelle Engine an und für sich läuft schnell, stabil,
> ist (von Altlasten wie in jeder Sprache abgesehen) konsistent, ...

Ich meine PHP in Version 5.

> > Ich find's ja echt cool, dass die Leute sich reinhängen und solche
> > Projekte machen, aber warum zur Hölle muss es immer dieses total kaputte
> > PHP sein?
> 
> Persönliche Ansicht. Mir liegt da spontan Kritik an einer anderen
> Sprache auf der Zunge - aber sparen wir uns die Flame-Wars :-)

Hast du bemerkt, dass ich mir es verkneife über die Sprache zu lästern? Ich 
meine den Interpreter, nicht die Sprache.
 
> > Erinnert sich noch jemand daran, wie Stefan Esser das Handtuch geworfen
> > hat, weil das PHP-Team sich einen Scheiß um Sicherheitsprobleme kümmert?
> 
> Nicht ganz richtig. Es ist nicht so, daß von den Konzepten gar nichts
> umgesetzt wurde. 

Das Konzept Neumachen ist nicht umgesetzt worden, korrekt. Das wäre aber der 
einzige Weg gewesen. Aus einem Klumpen Mist macht nicht mit ein bisschen Farbe 
eine leckeres Dessert.

> Es gab nur manchmal auf persönlicher Ebene ein paar
> Differenzen sowie unterschiedliche Ansichten was "Core" oder eine
> "gehärtete PHP-Variante" ist. 

Also mal ehrlich: Zum Core gehört es, dass es nicht kaputt ist per Design. 
Wenn man das abstreitet, dann ist man ein Idiot.

> Stefan arbeitet nachwievor im Bereich Web-Security allgemein und
> Security in Bezug auf PHP im Speziellen.

Letzteres wundert mich.
 
> > Und sowas wollen die Groupware-Entwickler uns Admins zumuten? Danke auch.
> 
> Sieh dir bitte objektiv an, was mit PHP möglich ist, was mit PHP
> realisiert ist, in welchen Dimensionen PHP eingesetzt wird etc. Die
> liegen deine Meinung alle falsch? Hmm ... deine Ansicht.

Unterscheide Sprache und Interpreter. Außerdem bedeutet eine hohe Verbreitung 
von sicherheitstechnischem Schrott nicht, dass es kein Schrott wäre. Wenn es 
danach ginge, müsste ich auch überall Virenscanner installieren.

> Und bring jetzt bitte keine Beispiele wie register-globals o.ä. ... das
> ist schon seit Ewigkeiten "durch" und wenn man es auf einem PHP nicht
> zusätzlich aktiviert schon längst Geschichte (in 5.3 nun auch endlich
> offiziell deprecated).

Das ging ja schnell. ;-) Ich meine aber die Code-Qualität des PHP-
Interpreters, die ist wirklich mies und das Design ist kaputt. Und ja, Design-
Fehler lassen sich *nicht* durch einen Patch beheben. Alle 
Sicherheitsfunktionen sind hinten dran geschweißt worden, das sieht man an 
jeder Ecke im Code. Und natürlich wurde dadurch der Code noch 
unübersichtlicher, als er ohnehin schon ist.

An jeder Ecke trifft man "if (safe_mode)" oder "if (open_basedir)" - total 
krank. Anstatt ein zentrales Routing zu etablieren, in dem man dann definiert, 
was erlaubt ist und was nicht und zusätzlich Ressourcen-Klassen und 
Sicherheitsdomains einführt, um diese Definition weiter zu vereinfachen, wird 
in jeder Code-Ecke versucht das gefährliche Verhalten einzugrenzen (woran sie 
natürlich kläglich scheitern - müssen).

Ich zähle gerade grob 250 Tests darauf, ob der Safe-Mode an ist. Also wenn das 
nicht krank ist, dann weiß ich es auch nicht. Ich rede von PHP in Version 
5.3.1

Die üblichen Fehlermuster waren daher ständig wie zu erwarten, dass sie 
irgendwo vergessen haben ein if (safe_mode) einzubauen. Ja natürlich vergisst 
man das, wenn man ein Applikationsdesign so verkackt. Aber neumachen? Nee, wir 
haben uns doch soviel Arbeit damit gemacht, wir verkacken lieber weiter.

> Da machst du es dir zu einfach, sorry! Hier gilt es sehr wohl zu
> differenzieren über welchen Weg "Einbrüche" bei euch stattgefunden
> haben. Ein "populärer Weg" wie z.B. über "remote-includes" lässt
> mittlerweile per PHP (und bereits schon länger über den Suhosin-Weg)
> verbieten. Und auch im allgemeinen sollte man bei Verwundbarkeiten
> vielleicht Fragen an die Applikation etc. stellen. Aber alles pauschal
> PHP in die Schuhe schieben zu wollen ist nun wirklich etwas "einseitig
> gedacht".

Ich hab vermieden mich über kaputte PHP-Applikationen auszulassen, die gibt es 
natürlich auch viel zu oft (eigentlich ist es der Regelfall). Das mag daran 
liegen, dass diejenigen, die sich mit Software-Entwicklung auskennen, 
erkennen, wie kacke der PHP-Interpreter ist und deswegen einen Bogen drumherum 
machen.

Ich kann nichts dafür, dass es Leute gibt, die so einen Dreck wie PHP für das 
beste seit der Erfindung von geschnittenem Brot halten.
 
> > Nehmt doch bitte irgendwas anderes als PHP, irgendwas, ist wirklich egal
> > was. Alles ist besser, Perl, Python, Ruby, Java, .NET, sogar mit viel
> > Abstand. Die Welt geht echt an den Leuten zu Grunde, die es wirklich gut
> > meinen, aber keine Ahnung haben. Gute Nacht.
> 
> Hmm ... lassen wir das mal so stehen. Schlaf vielleicht nochmal drüber.

Sicher nicht. Lies den Kot, dir wird schlecht.

mfg
Oli
-------------- nächster Teil --------------
Ein Dateianhang mit Bin�rdaten wurde abgetrennt...
Dateiname   : nicht verf�gbar
Dateityp    : application/pgp-signature
Dateigr��e  : 198 bytes
Beschreibung: This is a digitally signed message part.
URL         : http://lists.guug.de/pipermail/sage/attachments/20100117/feb29ef1/attachment.pgp 


More information about the SAGE mailing list