Autentifikácia, autorizácia a bezpečnosť

Séria: Ako písať dokumentáciu a manuály v IT projekte

 

Reálny problém z praxe

Tester hlási:

„Používateľ vidí dáta, ktoré by nemal.“

Vývojár odpovie:

„Ale je prihlásený.“

Používateľ je prihlásený.
Ale nemá mať prístup k týmto dátam.

Nakoniec sa zistí:

  • role sú nastavené nesprávne
  • kontrola oprávnení sa robí len na frontende
  • API neoveruje prístup

Používateľ prešiel autentifikáciou.
Ale autorizácia zlyhala.

 

Čo sa tu vlastne pokazilo (analýza systému)

Problém nie je v jednej chybe.
Problém je, že nie je jasne oddelené:

  • kto je používateľ
  • čo smie robiť

Autentifikácia odpovedá na otázku:

kto si?

Autorizácia odpovedá na otázku:

čo smieš robiť?

Tieto dve veci sa v praxi často miešajú.

A bezpečnosť sa berie ako „nejako to funguje“.

 

Skutočné náklady (čas, chaos, riziko)

Keď autentifikácia a autorizácia nie sú zdokumentované:

  • tester nevie, čo má overiť
  • vznikajú bezpečnostné chyby
  • support nevie vysvetliť správanie systému
  • admin nevie správne nastaviť role

Najhorší stav:

používateľ vidí alebo robí to, čo nemá

To už nie je bug.
To je bezpečnostný problém.

 

Minimálny model riešenia

Dokumentácia bezpečnosti nemusí byť komplikovaná.
Ale musí byť jasná.

1. Autentifikácia

  • ako sa používateľ prihlasuje (heslo, SSO, token)
  • aké sú pravidlá (expirácia, obnovovanie)
  • čo sa deje pri neúspešnom prihlásení

 

2. Autorizácia

  • aké role existujú
  • aké oprávnenia majú
  • čo je povolené a čo zakázané

Nestačí napísať „admin má všetko“.

 

3. Kontrola prístupu

  • kde sa kontrola vykonáva (frontend, backend, API)
  • čo sa stane pri porušení pravidiel
  • aký kód sa vracia (napr. 403)

Kontrola len na frontende nestačí.

 

4. Prístup k dátam

  • kto vidí ktoré dáta
  • podľa akých pravidiel
  • ako sa filtrujú

Toto je častý zdroj chýb.

 

5. Bezpečnostné scenáre

  • čo sa stane pri pokuse o neoprávnený prístup
  • čo sa loguje
  • ako sa rieši incident

 

Príklad

Bez dokumentácie:

„Používateľ je prihlásený.“

S dokumentáciou:

  • používateľ sa autentifikuje cez token
  • má rolu „user“
  • nemá prístup k dátam iných používateľov
  • API pri pokuse vráti 403

Zrazu je jasné:

čo je správne správanie
čo je chyba
čo testovať

 

Mini checklist

Je jasné, ako prebieha prihlásenie?
Sú definované role a oprávnenia?
Je popísané, kto vidí aké dáta?
Je jasné, kde sa kontroluje prístup?
Sú uvedené chybové scenáre?

Ak nie, bezpečnosť nie je pod kontrolou.

 

Prepojenie na kvalitu a workflow

Autentifikácia a autorizácia nie sú len bezpečnostná téma.

Sú základ pre:

  • testovanie
  • správu používateľov
  • integrácie
  • audit

Pre testera je to kritické:

Bez toho nevieš:

  • pripraviť testy rôznych rolí
  • overiť prístup k dátam
  • odhaliť bezpečnostné chyby

Bezpečnosť sa netestuje len „či sa dá prihlásiť“.
Testuje sa, čo sa dá urobiť po prihlásení.

 

Krátke zhrnutie

Autentifikácia a autorizácia nie sú to isté.

Autentifikácia rieši:

kto si.

Autorizácia rieši:

čo smieš robiť.

Ak to nie je zdokumentované:

  • vznikajú bezpečnostné chyby
  • systém je nepredvídateľný

Ak to zdokumentované je:

  • vieš, čo testovať
  • vieš, čo je chyba
  • vieš, kde sú hranice systému

A to je základ bezpečného produktu.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Návrat hore