Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokada zużytych identyfikatorów sesji
Forum PHP.pl > Forum > PHP
missile
Witam

Stoję przed zadaniem podniesienia bezpieczeństwa pewnej witryny internetowej. W grę wchodzi między innymi wprowadzenie blokady, na jakiś określony czas, "zużytych" identyfikatorów sesji i w związku z tym mam kilka wątpliwości. Podchodząc do sprawy od strony statystycznej załóżmy że: stronę odwiedza 100 użytkowników dziennie i każdy z nich otrzymuje identyfikator, przy założeniu ze blokada identyfikatora trwa 3 tygodnie w bazie powstaje 2100 rekordów które są przetwarzane przy każdym żądaniu strony. Pytanie czy straty w wydajności aplikacji z tym związane warte są wzrostu bezpieczeństwa po implementacji takiego rozwiązania.

Chętnie poznam Wasze opinie na ten temat
Pozdrawiam
tmgryf
Ja zaawansowany az tak bardzo nie jestem, ale przy 100 userach to bardzo "malo popularna" strona - stosowanie warunku unikalnosci identyfikatorow na pewno wplynie az tak na poprawe bezpieczenstwa (w sensie czy gra jest warta swieczki)? Hmm a moze by tak wysylac jednorazowe haslo dostepu na email?
Fifi209
Powiedz lepiej co chcesz zrobić...i na pewno jest lepszy sposób.
lukada
Jeśli chodzi o blokowanie identyfikatorów sesji dla użytkowników, którzy mogą być spamerami to nawet przy takiej liczbie odwiedzających jest to warte, zwłaszcza, gdy jest możliwość komentowania. Podczepi ci się taki i masz zaspamowaną stronę.
missile
tmgryf
100 użytkowników to założenia, może ich być 200, 400, 1000 i w takim scenariuszu sprawa wydajności nabiera jeszcze większego znaczenia. Po drugie identyfikatory stosuje się do identyfikacji żądań http pochodzących od tego samego użytkownika a nie do dostępu do jakiejś strefy chronionej.

fifi209
Pomysł opisany przeze mnie to tylko jeden z wielu takich jak sprawdzanie adresu ip w ramach jednej sesji, właściciela bloku sieci z której pochodzi żądanie strony, ciągu HTTP_USER_AGENT oraz wyżej opisany na którym chciałbym się skupić i poznać różne opinie
erix
Cytat
Pomysł opisany przeze mnie to tylko jeden z wielu takich jak sprawdzanie adresu ip w ramach jednej sesji, właściciela bloku sieci z której pochodzi żądanie strony, ciągu HTTP_USER_AGENT oraz wyżej opisany na którym chciałbym się skupić i poznać różne opinie

Niektóre sieci osiedlowe forwardują wewnętrzny IP (G: x-forwarded-for).

Cytat
Pytanie czy straty w wydajności aplikacji z tym związane warte są wzrostu bezpieczeństwa po implementacji takiego rozwiązania.

No ok, ale jak user wyczyści ciastka, to co mu zrobisz?
missile
erix
Oczywiście nie można bazować na pełnym adresie ip który może być, jak napisałeś, forwardowany lub być zmiennym ip. Chodzi tu raczej o sprawdzanie czy żądanie pochodzi z tej samej sieci. Zwykle zmianie, nawet na serwerach proxy, ulegają dwa ostatnie oktety adresu ip ale sieć pozostanie zawsze ta sama. Jeśli nie jest to dobry powód co najmniej na poproszenie użytkownika o ponowne zalogowanie.

A jeśli usunie ciastka to zostanie mu przydzielony nowy identyfikator z puli dostępnych a poprzedni zostanie zablokowany na zadany okres czasu.
pzdr
erix
Cytat
ulegają dwa ostatnie oktety adresu ip ale sieć pozostanie zawsze ta sama

Nie zawsze dwa ostatnie. Siedzę na ADSL i czasem zmienia się pierwszy.

Cytat
Jeśli nie jest to dobry powód co najmniej na poproszenie użytkownika o ponowne zalogowanie.

No to w czym problem? Trzymasz w sesji IP po zalogowaniu, jeśli się zmieni - unieważniasz sesję i jest monit o logowanie, po co utrudniasz sprawę? ;p
missile
erix
Nie ma problemu bo główne pytanie było: Jakie są, jeśli są, zalety i wady blokowania na zadany okres czasu wykorzystanych identyfikatorów sesji, np po wylogowaniu użytkownika lub wygaśnięciu sesji?

Po co utrudniać? Bo być może jest to próba przechwycenia sesji danego użytkownika.
erix
Cytat
Jakie są, jeśli są, zalety i wady blokowania na zadany okres czasu wykorzystanych identyfikatorów sesji, np po wylogowaniu użytkownika lub wygaśnięciu sesji?

Wady? Takie, że będziesz miał tabelę-śmietnik i marnował niepotrzebnie miejsce.

Cytat
Po co utrudniać? Bo być może jest to próba przechwycenia sesji danego użytkownika.

Do tego stosuje się dodatkowe, unikalne tokeny + zabezpieczenie przed CSRF.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.