Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 07-10-2019, 21:50
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.655
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Takeshi Beitrag anzeigen
Unter anderem Wikipedia empfiehlt noch die Session an eine IP oder einen Fingerprint des Clienten binden. Die Bindung an die IP bringt mit sich, dass der Anwender sich jeden Tag neu einloggen muss, nicht zielführend. Wäre höchstens sinnvoll IPs zu speichern, von denen aus zugegriffen wird und wenn die IP wechselt und die alte danach wieder auftaucht, dann wird es verdächtig.
Ein permanenter Login hat nichts mit der Session zu tun. Eine Session hat in der Regel eine recht kurze Lebenszeit und nicht über Tage hinweg.

Desweiteren kann eine Einschränkung auf eine IP zu Problemen führen. Es gibt auch Internetanschlüsse, bei denen die IP häufig wechselt. Zum Beispiel wenn mehrere Proxies dazwischen hängen die sich abwechseln, oder bei instabilen mobilen Verbindungen mit vielen Reconnects.

Ich würde das ganze Thema nicht zu komplex sehen. Wenn ein Angreifer eine Session-ID abfangen kann, dann oft auch die Eingabe von Username und Passwort beim Login. Das ist halt ein Problem, dass beim Client und nicht beim Server besteht. Somit muss das Problem auch beim Client angegangen werden und nicht beim Server. Man kann noch so eine gute Sicherheitstür mit unknackbarem Schloss bauen, hilft das alles nichts, wenn dem Benutzer selber der Schlüssel gestohlen wird. Aber darauf hat der Hersteller der Tür keinen Einfluss.

Eine Session-ID ist an sich als sicher anzusehen, da mit heutigem Stand der Technik nicht ermittelbar, außer die Netzwerkverbindung oder der Client/Server ist manipuliert. Aber in solchen Fällen ist der Diebstahl der Session-ID das kleinste Problem.

Viel wichtiger ist die korrekte Behandlung von Kontextwechseln, damit keine schadhafte Inhalte in die Seite eingeschleust werden. Denn wenn ein Angreifer in die Position kommt im Namen deiner Seite JavaScript beim Client auszuführen, dann ist so gut wie alles möglich.
Mit Zitat antworten