2012-08-07 12 views
8

Nie jestem pewien, czy powinienem zamieścić to na nim security lub/stackoverflow, ponieważ martwię się bezpieczeństwem i wydajnością.Prawidłowe zarządzanie plikami cookie

Próbuję znaleźć wiarygodne źródło zarządzania plikami cookie. Czytałem przez OWASP, więc z grubsza wiem, co może być niebezpieczne.

Ale muszę uwierzytelnić użytkowników za pomocą plików cookie. Czy istnieje kompletny przewodnik krok po kroku?

Co zrobiłem:

  • wygenerować losowy ciąg znaków i niepowtarzalny.

  • współpracownik losowy ciąg z użytkownikiem w mojej pamięci podręcznej rndstring -> użytkownik

  • utworzyć bezpieczne i podpisany ciasteczko. value = hash (rndstring + secret) | rndstring

  • jeśli użytkownik wróci, sprawdzam, czy hashe pasuje, i czy rndstring znajduje się w mojej pamięci podręcznej.

  • jeśli tak, uzyskaj użytkownika.

Myślę, że moje podejście jest wadliwe, ponieważ zrobiłem to sam.

Kolejny problem polegał na tym, że zabezpieczyłem obiekt użytkownika przed db w mojej pamięci podręcznej. Jeśli użytkownik zaktualizuje swój profil, będę musiał również zaktualizować pamięć podręczną.

Używam java z ramką play2 + mongoDB.

Jakie zasoby możesz polecić mi?

+2

+1 za "Myślę, że moje podejście jest wadliwe, ponieważ zrobiłem to sam". –

Odpowiedz

2

Myślę, że to jest pytanie dla Security StackExchange i zauważam, że zadałeś tam podobne pytania, ostatnio z numerem excellent answer from DW. Na forum security.stackexchange.com jest mnóstwo osób, które krytykują twoją metodologię.

Osobiście nie polecam rozwijania własnego zarządzania sesjami, w rzeczywistości odradzam go. Zarządzanie sesją "ram gry" zostało sprawdzone przez wielu ludzi, podczas gdy twoja nie ma i może łatwo mieć luki, których po prostu przegapiłeś. Korzystałbym z wbudowanego zarządzania sesjami zapewnionego przez wybrane ramy programistyczne. Czytaliście luz documentation?

pod względem zasobów, należy sprawdzić Bezpieczne zasad rozwoju David Rook - here i here.

Jeśli zmienisz zdanie za pomocą plików cookie, możesz spojrzeć na web keys,, która jest metodą wstawiania tokena nieodłącznego w adres URL.

Czytając Owasp, przeczytałeś najnowszą wersję: Session Management cheatsheet? Myślę, że na nie odpowiedziano wiele waszych pytań.

Jednym z ostatnich zasobów jest SANS Top 25 Software Errors.

+0

dzięki niektórym linkom są dla mnie nowe. Robię to po prostu dlatego, że używam Play 2 i nie ma dokumentacji na ten temat, jest też przykład, ale nie ma to dla mnie większego sensu. Powinienem również powiedzieć, że również korzystam z wbudowanych ciasteczek. Właśnie z mojego własnego uwierzytelnienia. Zadałem także pytanie dotyczące play2 auth tutaj http://stackoverflow.com/questions/11820273/java-play-2-authentication-does-not-make-sense Ale pokaz slajdów/pdf wydaje mi się obiecujący! –

+0

Cóż, dziękuję, staram się korzystać z funkcji, które gra2 oferuje tyle, ile mogę. –

1

Polecam również wygenerować nowy unikatowy ciąg i zaktualizować wartość cookie za każdym razem, gdy sprawdzasz hasze i pasują do siebie. Poprawi to bezpieczeństwo twojego systemu. Ponieważ prawdopodobieństwo włamania się zmniejsza się w przypadku kradzieży plików cookie.

Powiązane problemy