Sessie beveiliging vraag.

Status
Niet open voor verdere reacties.

Remi1995

Gebruiker
Lid geworden
31 jul 2009
Berichten
291
Hallo.


Mij is vertelt dat het onveilig is om in een inlog systeem alleen een sessie te gebruiken met de accountnaam om de gebruiker te indentifiseren.
De rede die diegene vertelde waarom het onveilig was, was omdat sommige techneuten de sessies kunnen veranderen en dus hun sessie accountnaam veranderen naar een andere gebruiker, waarnaar de server dan denkt dat ze ingelogt zijn.

Nu las ik gister avond in een boek dat sessies op de server staan opgeslagen en dat alleen de sessie id in de browser als een cookie staat.

Is het echt nodig om je sessies goed te beveiligen of hoef dat niet omdat ze toch op de server staan?



Groetjes, Remi1995.
 
Het probleem zit em meer in de sessie id. Als zo'n techneut de sessie id van een andere computer namelijk kopieert, dan is hij ineens die andere gebruiker. Vandaar dat je als beveiliging vaak een token hebt (op de server) dat controleert of het IP van de andere computer nog steeds hetzelfde is, dan is het al iets veiliger.
 
Het gebruik van sessies kent inderdaad een risico: session hijacking. Hierbij komt een aanvaller het session id te weten. Deze aanvaller kan dan een bestaande sessie overnemen door dat session id in een cookie te stoppen en dat naar de server te sturen.

Dit wordt meestal tegengegaan door te controleren of het IP adres (en evt. ook de user agent) gelijk is aan dat van degene die oorspronkelijk inlogde.

[edit]Frats was me voor.[/edit]
 
IP is hiervoor niet geschikt; vooral niet wanneer je je op een internationale markt richt.

Vooral in Amerika hebben een aantal providers alle verbindingen lopen via proxies.
Er zijn dus meerdere bezoekers met hetzelfde ip (gebeurt ook veel voor kantoren en scholen e.d.) en belangrijker voor jullie; ip kan per request anders zijn.

USER_AGENT is hiervoor beter geschikt; daarnaast is het handig om suhosin op de server te hebben zodat de sessie gegevens op de server en/of de cookie op de client geencrypt zijn.

Belangrijk is ook om de sessie goed in te stellen; zie sessie configuratie
Vooral ook het gedeelte over cookie_*

En de functie session_regenerate_id() gebruiken bij een authenticatie wijziging is ook slim.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan