22. juni 2006 - 16:07Der er
8 kommentarer og 2 løsninger
Sikkerhed i login system mht. Session hijack og hacker..
Hej eksperter,
Jeg sidder og er ved at arbejde på sikkerheden på mit site, og jeg skal lige høre hvad det tager at lave et site sikkert nok til at blive sat på nettet.
Det er administrations systemet jeg lige skal have tjekket op på, da det kun er administratorene der kan redigere elementer der vil blive synlige på sitet.
Først og fremmest logger jeg dem ind med et match på brugernavn og password hentet fra databasen. Hvis denne information er korrekt bliver de logget ind. så når siden opdateres bliver der tjekket på om Deres sessions er set, hvilket er ID, Level og Login. Der efter tjekker jeg, om computeren de sidder ved's IP er den samme som den de oprettede brugeren med, og hvis ´den ikke er den samme bliver alle sessions sat til 0 før siden loades, og de bliver smidt til en fejl/login side.
Er der mere jeg skal bruge ud over det, eller er det godt nok for at lave en sikker side? Jeg tænkte på at lave en unik streng der bliver gemt som en cookie, og smidt i databasen når man logger ind, og så bliver der checket om de to matcher, samt den bliver erstattet med en ny, hver gang siden loades, men så tænkte jeg på, at ikke alle modtager cookies, fordi det kan disables osv, men som sagt, har jeg brug for mere sikkerhed?
1. Hvis du tjekker på ip, så kræver det jo at man er det samme sted hele tiden. Det kunne da godt skabe problemer.. Jeg kunne sikkert godt tænke mig at logge ind via andres computere eller i hvert fald andre ip'er - administration på nettet er jo unikt, fordi man bare behøver internet og sin laptop, samt selvf. logins
2. Hvis du vil tjekke om brugerens cookie med den unikke streng eksisterer, så har han eller hun problemer, hvis de har fået slettet deres cookies, eller hvis de ikke har enabled cookies i deres browser.
En mere sikkert måde kunne være, at sørge for at passworded var lidt svært. F.eks. at det skulle indeholde tal, store og små bogstaver eller lign. - det samme evt. med brugernavnet
psycho42 > Et svært password hjælper ikke imod session hijackers, de er jo lige glade med hvad der står, de sniffer jo bare sessions og bruger dem.
esbenp > Det er også lidt det jeg har gjordt, jeg smider dem af hvis deres IP ikke er den, som brugeren blev oprettet med, eller ID sessionen og level sessionen ikke svare til det der står i databasen, men du mener vel at jeg skal gemme den IP der bliver logget ind med og den User-Agent, og hvis de ændre sig imens man er logget ind, så skal man smides af?
psycho -> Det er fint nok, jeg er ny programmør, så jeg lær noget hele tiden ;)
Jeg tænkte bare lige i hijack only da jeg svarede.. Men ja, det er sådan at det kun er administratorene der kender deres brugernavn, så det eneste måde andre kan finde dem på er ved af administratoren fortæller det selv. Så når de skal finde en kombination af password og username, så får de problemer, da det er så godt som umuligt. Jeg er mere bekymret for session hijack.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.