• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Ocena uwierzytelnianie użytkownika & systemu rejestracji

Aruba Cloud - Virtual Private Server VPS
+1 głos
328 wizyt
pytanie zadane 12 lipca 2022 w Bezpieczeństwo, hacking przez Bruo Nowicjusz (180 p.)

Cześć, napisałem w Node.js - Express.js proste API do tworzenia konta, zmiany hasla oraz logowania, najbardziej gryzie mnie czy poprawnie napisałem logikę tych rzeczy a nie sam kod.

Do potwierdzenia emailu użytkownika używam krótkiego kodu (8 dużych alfa numerycznych znaków) np. 4K2Y V1F0 wysyłanego na email

Proces tworzenia konta:

  1. Użytkownik wpisuje email i zostaje na niego wysłany kod do potwierdzenia (wygenerowanie kodu)
  2. Użytkownik musi wpisać otrzymany kod i potwierdzić (aktywowanie kodu i utworzenie konta bez hasła)
  3. Użytkownik musi wpisać dwukrotnie nowe hasło (przypisuje się do wcześniej utworzonego konta)

po stworzeniu konta, poprzez weryfikację kodu i wpisanie hasła, wysyłane są do każdego requestu takie dane jak:

  1. token urządzenia = losowy id dla urządzenia dla potwierdzenia że wszystkie czynności są z tego samego urządzenia
  2. adres IP = dla potwierdzenia wiarygodności użytkownika (pomijając fakt że jednego adresu może używać wiele osob)
  3. email = główny parametr wobec którego jest cały proces tworzenia konta.
  4. kod = wysylany do drugiego i trzeciego kroku, hasło zostanie utworzone/zmienione jeśli wszystkie 4 parametry się zgadzają a sam kod jest aktywowany

Kod od utworzenia istnieje 8 minut, po tym czasie już nie jest aktywny,

w ciągu doby jeden adres IP może wysłać max 30 nowych kodów na email.

I teraz punkt który mnie najbardziej martwi, dowolny kod można potwierdzić max 15 razy na godzinę z jednego adresu ip, w przypadku gdy ktoś w jakikolwiek sposób będzie używać adresu innej osoby (np. ta sama sieć, komuś przypisze adres z wykorzystanymi próbami) to w tym momencie jeśli jedna osoba zużyje limit, to druga nie może ustawić nowego hasła przy zmianie bo nie może potwierdzić kodu, zdjęcie limitu 15 potwierdzeń na godzinę pozwoli na mnóstwo prób w odgadnięciu kodu np. atakującemu, więc nie za bardzo wiem czy tutaj limit na ilośc potwierdzeń kodu w ogóle jest sens ustawiać.

przedstawiłem proces rejestracji, ale zmiany hasła wygląda praktycznie podobnie, prosiłbym o ocenę i opinie, nie chce zbytnio przesadzać z bezpieczeństwem, ale też nie chce zostawić luk pozwalających przejąć kogoś konto

 

 

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 182 wizyt
pytanie zadane 17 września 2020 w PHP przez Bakkit Dyskutant (7,600 p.)
0 głosów
0 odpowiedzi 436 wizyt
pytanie zadane 26 listopada 2016 w PHP przez zgrybus Pasjonat (24,860 p.)
–11 głosów
3 odpowiedzi 4,557 wizyt

93,326 zapytań

142,323 odpowiedzi

322,391 komentarzy

62,655 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...