metsieder ( Philipp Freidl )




Verifikation eines bereits eingeloggten Benutzers


Es gibt verschiedene Varianten um herauszufinden, welcher Benutzer eine Seite aufruft. Zum einem kann man einen Cookie auf der Userseite setzen, zum anderen Session-Id's verwenden, welche im Endeffekt wiederum auch Cookies sind, da eine Übergabe Dieser mittels dem Querystring aus Sicherheitsgründen nicht praktisch ist.
Nun stellt sich mir jedoch die Frage, welche der beiden Varianten (die eigentlich beide im endeffekt das selbe machen) die Vernünftigere ist, und wie man die Integrität der Daten, welche im Cookie gepeichert sind, am besten sicherstellt. Oder gibt es noch andere praktikable Möglichkeiten die Identität eines Benutzers herauszufinden?
Mein Lösungsansatz wäre es aus den Daten des Cookies eine Prüfsumme zu bilden.
Auch hier meine Frage: Reicht diese Maßnahme aus um eine ausreichende Überprüfung der Integrität von Userseitigen Daten zu erreichen? Und was kann man gegen diverse sicherheitskritische Probleme von Sessions tun?
Veröffentlicht von: metsieder Veröffentlicht am: 3 Jan. 2008 Bookmarks: social bookmarking yigg it Linkarena Technorati Yahoo Mr. Wrong
Schlüsserwörter: Benutzer Authentifikation PHP User Authentication

Note: +3, Hits: 2528 | Bewertung: Keine Berechtigung!



Themenverwandte Blogeinträge


Kommentar(e) (6)


Tom sagt:

Was mir zum Thema Sicherheit auch noch einfällt: Das Passwort beim Login mittels Javascript direkt als MD5 (oder SHA, whatever...) verschlüsselt an DB SELECT senden, damit kann man zumindest nicht im Klartext erkennen, wie das Passwort aussieht, falls jemand mitsnifft.

13 Feb. 2009 22:42:51 • Antworten


ApocalypseT sagt:

session nehmen, oder selber system bauen,ca so:
du erstellst ne eindeutige id, speicherst in ner datenbank wann die erstellt wurde, wer das ist und halt die id selber.
dann guckst du bei nem auruf in der tabelle nach der cookie id, wenn die ok ist mach das für eingeloggt,wenn die abgelaufen ist lösch den cookie und wenn der garnicht vorhanden ist sperr den user für 5 min oder so

6 Aug. 2008 14:41:01 • Antworten


metsieder sagt:

Zitat ashiso:

1.) Root- keine Shared-Server (sonnst Zugriff auf Sessions im Filesystem)
2.) Suhosin-Patch
3.) Seite gegen XSS usw. absichern -> erschwert cookie grabbing / session hijacking
4.) http://de.php.net/session_regenerate_id
5.) SSL bei Login gegen packet sniffing
6.) Wenn möglich "session.cookie_secure = ON"
7.) session.cookie_lifetime = 0 (Standard)
8.) Eventuell noch "session.gc_maxlifetime" veringern. So müssen sich die User zwar öfter einloggen aber ihre Session kann nicht so schnell/leicht geklaut werden.

Wie marcelmenten schon sagte, 100% sicher ist man leider nie.
Achja! Wie an meiner Liste leicht zu erkennen ist macht "Sicherheit" mit sicherheit paranoid ;)


die sessions kann man ja per session_save_path in einen ordner des eigenen homeverzeichnisses verlegen, damit sollte das kein problem sein... eigener root ist natürlich immer besser ;) ssl sowie einstellungen am phpcore sollen nicht unbedingt aufgabe des programmieres sein. dieser soll eher im rahmen seiner möglichkeit bleiben um die portabilität der klasse zu wahren...

5 Jan. 2008 17:17:24 • Antworten


ashiso sagt:

1.) Root- keine Shared-Server (sonnst Zugriff auf Sessions im Filesystem)
2.) Suhosin-Patch
3.) Seite gegen XSS usw. absichern -> erschwert cookie grabbing / session hijacking
4.) http://de.php.net/session_regenerate_id
5.) SSL bei Login gegen packet sniffing
6.) Wenn möglich "session.cookie_secure = ON"
7.) session.cookie_lifetime = 0 (Standard)
8.) Eventuell noch "session.gc_maxlifetime" veringern. So müssen sich die User zwar öfter einloggen aber ihre Session kann nicht so schnell/leicht geklaut werden.

Wie marcelmenten schon sagte, 100% sicher ist man leider nie.
Achja! Wie an meiner Liste leicht zu erkennen ist macht "Sicherheit" mit sicherheit paranoid ;)

Zuletzt bearbeitet am: 5 Jan. 2008 13:49:12

5 Jan. 2008 13:46:57 • Antworten


metsieder sagt:

aber man kann versuchen das system so sicher wie möglich zu gestalten ;)

3 Jan. 2008 19:42:21 • Antworten


mm12 sagt:

Problem erkannt. Aber wie so oft, gibt es keine 100% Optimale und "Sichere" Lösung. Dafür müsste erst jemand das Wort "Sicher" eindeutig formulieren.

3 Jan. 2008 19:41:25 • Antworten



Anfang

<<

1

>>

Ende

Kommentar eintragen


!! Jetzt kostenlos anmelden oder einloggen und mitdiskutieren!