Auf ein letztes Mal! :)
ich will das hier auc gar nicht mehr groß ausdehnen, aber Dein Tenor ist ja im prinzip - "Lasse alles wie es ist und bau ein paar Sicherungen ein, das man nicht so ohne weiters raten kann", oder?
Richtig. Die Frage ist: Wie gut werden von PHP die Session-IDs generiert? Wie zufällig sind sie? Vermutlich läßt sich das irgendwo nachlesen, daß die Systemzeit MD5-verschlüsselt wird, vorher noch einen Zufallswert mitkriegt, und fertig. Wenn du diesem noch einen Timestamp hinzufügst, kriegst du nicht notwendigerweise mehr Sicherheit rein (es können immer noch zwei User gleichzeitig eine Session eröffnen), du kriegst nur längere Session-IDs, die schwerer zu raten sind. Das ist grundsätzlich nicht schlecht, also spricht nichts dagegen, es zu machen. Es bringt aber nicht notwendigerweise den ultimativen Sicherheitsgewinn, den du dir davon versprichst.
Die Zusätzliche Sicherheit aus Timestamp etc. wäre doch einfach wenn man Cookies vorschreibt und diese Information darin speichert! Der Cookie wird wohl nirgendwo geloggt und um da dran zu kommen müßte man nicht nur an irgendwelche Logfiles kommen, sondern an einem der Rechner oder irgendwo dazwischen lauschen, was meiner Meinung nach ein ganz erheblicher Unterschied ist! Auch das Codieren oder mit anderen Header Informationen anreichern bringt wohl nichts, denn nicht das erraten des Wertes im Cookie ist das problem(selbst wenn man das könnte), sondern wohl eher diesen Cookie nachzubauen, und das wird man nur schaffen, wenn man den Verkehr belauscht. Oder? Ist doch so das cookies durch irgendeinen Mechanismus nur an den einen Server geschickt werden, ich denke nicht das man sich so ohne weiteres einen eigenen Cookie basteln kann, oder?
Ob mit Timestamp oder ohne: Der Cookie wird vom Browser wirklich nur an den Server geschickt - wer da ran will, muß lauschen. Insofern schränkt das die Zahl der möglichen Angreifer ein: Die Mehrzahl der Benutzer im Netz wird als Angreifer ausscheiden, hingegen ist eine interessante Gruppe von Angreifern weiterhin im Spiel: Die lieben Kollegen, welche im gleichen Netzwerk hängen (das kann auch durch einen Switch nicht ausgeschlossen werden), und natürlich der Systemadministrator - der kann sowieso alle Netzverbindungen belauschen, nur bei SSL muß er aufgeben. Bei diesen Personengruppen ist die persönliche Beziehung zum Opfer sehr interessant - irgendein anonymer Mensch ist viel uninteressanter als der Schnösel von nebenan, wenn man z.B. Material fürs Mobbing sucht.
Viele Grüße und Danke Euch beiden und vor allem Sven für die sehr hilfreichen und ausführlichen Antworten, und den ich auch gar nicht weiter nerven möchte :-)
Du siehst: Sicherheit ist ein sehr komplexes Thema. Man muß immer abwägen, was man will, und wie wichtig einem Sicherheit ist, bzw. wie wichtig das für die Benutzer sein könnte.
- Sven Rautenberg