Ako pridať dvojfaktorové overenie do aplikácie
Na pridanie dvojfaktorového overenia (2FA) do aplikácie nechajte používateľov prepojiť aplikáciu autentifikátora naskenovaním QR kódu, po hesle od nich vyžadujte šesťmiestny kód, ktorý zobrazuje, a plnú reláciu na serveri vytvorte až vtedy, keď kód prejde kontrolou. Každému používateľovi dajte pri zapnutí jednorazové záložné kódy, obmedzte, koľko kódov môže niekto uhádnuť, a pred vypnutím 2FA vyžadujte heslo spolu s aktuálnym kódom. Ak používate hostovaného poskytovateľa autentifikácie, zapnite jeho vstavanú možnosť viacfaktorového overenia namiesto budovania vlastnej.
Tento návod prechádza voľbami, presný postup, prompty pre AI nástroj a chyby, vďaka ktorým 2FA vyzerá ako prítomná, ale nerobí nič. Ak je pojem nový, začnite článkom čo je dvojfaktorové overenie.
Skôr než začnete: potrebujete funkčné prihlásenie
2FA stojí na existujúcom prihlásení. Najprv potrebujete jedno z nasledujúcich:
- Vlastné prihlásenie s používateľmi a zahashovanými heslami uloženými v databáze vašej aplikácie.
- Hostovaného poskytovateľa autentifikácie, ktorý spravuje používateľov za vás.
Ak ešte nemáte ani jedno, začnite s ako pridať prihlásenie do aplikácie. Zvyšok tohto návodu predpokladá, že krok s heslom už funguje.
Vyberte druhý faktor
| Metóda | Úsilie používateľa | Bezpečnosť | Náklady na prevádzku | Dobrá predvoľba? |
|---|---|---|---|---|
| Aplikácia autentifikátora (TOTP) | Raz naskenovať QR kód, pri prihlásení zadať kód | Dobrá; dá sa vylákať, ak falošná stránka kód požaduje | Zadarmo | Áno, pre väčšinu aplikácií |
| Prístupový kľúč alebo bezpečnostný kľúč | Dotyk alebo odtlačok prsta | Najsilnejšie; odolné voči phishingu | Zadarmo | Áno, ak sú na to používatelia zvyknutí |
| Kód e-mailom | Pri prihlásení skontrolovať schránku | Silné len toľko, koľko e-mailový účet | Náklady na odosielanie e-mailov | Len ako záloha |
| Kód SMS | Čakať na správu | Najslabšie; výmena SIM karty a phishing | Poplatky za správu | Len ak nemôžu použiť aplikáciu |
TOTP znamená jednorazové heslo založené na čase, štandard (RFC 6238), ktorý používajú aplikácie autentifikátorov. Váš server a telefón používateľa zdieľajú tajomstvo; každý z neho a z aktuálneho času vygeneruje rovnaký krátky kód, ktorý sa zvyčajne mení každých 30 sekúnd. Nepotrebuje sieťové pripojenie ani poskytovateľa SMS.
Prístupové kľúče nahrádzajú alebo dopĺňajú heslá kryptografickým kľúčom uloženým na zariadení používateľa. Sú silnejšie, ale ich vlastné vybudovanie je náročnejšie, takže mnohé aplikácie začínajú s TOTP a prístupové kľúče pridajú neskôr, alebo ich získajú od poskytovateľa autentifikácie.
Vytvoriť ho alebo zapnúť?
| Prístup | Výhody | Nevýhody |
|---|---|---|
| Viacfaktorové overenie hostovaného poskytovateľa | Menej kódu; bezpečnostné detaily spravuje poskytovateľ | Mesačný náklad pri väčšom rozsahu; závislosť od možností poskytovateľa |
| Vlastné TOTP cez knižnicu | Plná kontrola; žiadny poplatok na používateľa | Riešite hraničné prípady sami: zamknutia, obnovu, ukladanie tajomstva |
Pozrite si aktuálnu dokumentáciu poskytovateľa, ktoré faktory podporuje a v ktorých plánoch. Tak či onak nikdy nepíšte matematiku generovania kódov sami; použite široko používanú knižnicu.
Najprv rozhodnite o pravidlách
Odpovedzte na tieto otázky skôr, než začnete písať prompty, pretože menia návrh:
- Kto ho musí používať? Voliteľné pre všetkých, povinné pre adminov a zamestnancov, alebo povinné pre všetkých. Bežné je vyžadovať ho od každého s administrátorskými právami. Pozrite si riadenie prístupu na základe rolí.
- Ako často musia používatelia zadávať kód? Pri každom prihlásení, alebo raz na zariadenie na 30 dní („zapamätať si toto zariadenie“).
- Ktoré akcie vyžadujú čerstvú kontrolu? Dobrými kandidátmi sú zmena e-mailu, údajov o výplate alebo vypnutie 2FA. Hovorí sa tomu step-up autentifikácia.
- Aký je postup pri stratenom telefóne? Záložné kódy plus manuálna záložná možnosť, ktorú ste ochotní prevádzkovať.
Postup krok za krokom: TOTP 2FA na vlastnom prihlásení
1. Uložte správne polia
Každý používateľ potrebuje: či je 2FA zapnutá, TOTP tajomstvo (šifrované v úložisku, nie ako čistý text), čas zapnutia a zoznam záložných kódov uložených zahashovane, rovnako ako heslá. Pridajte miesto na počítanie neúspešných pokusov.
2. Zapnutie
- Používateľ otvorí nastavenia a klikne na Zapnúť dvojfaktorové overenie.
- Server vygeneruje nové tajomstvo a vráti ho ako QR kód plus textovú verziu pre ľudí, ktorí nemôžu skenovať.
- Používateľ ho naskenuje v aplikácii autentifikátora a zadá aktuálny kód.
- Server kód skontroluje. Až ak je správny, uloží tajomstvo a označí 2FA ako zapnutú.
- Aplikácia zobrazí 8–10 záložných kódov iba raz a požiada používateľa, aby si ich uložil.
Krok 4 je dôležitý: zapnúť 2FA pred potvrdením kódu zamkne každého, komu sa skenovanie nepodarilo.
3. Prihlásenie s druhým krokom
- Používateľ odošle e-mail a heslo. Server ich skontroluje.
- Ak je 2FA zapnutá, server nevytvorí plnú reláciu. Namiesto toho vytvorí krátkodobý stav „čaká sa na druhý faktor“.
- Aplikácia zobrazí obrazovku s kódom. Server kód skontroluje a povolí malé okno na odchýlku hodín.
- Až teraz server vydá skutočnú reláciu.
Každá chránená trasa a koncový bod API musí stav čakania odmietnuť. Obrazovka 2FA, ktorá skrýva stránky len v prehliadači, sa dá obísť volaním API priamo.
4. Limity a upozornenia
Šesťmiestny kód má milión kombinácií, takže sa dá uhádnuť bez limitov. Obmedzte pokusy, po opakovaných zlyhaniach na čas uzamknite druhý krok a pošlite používateľovi e-mail, keď sa to stane. Pozrite si obmedzovanie počtu požiadaviek a odosielanie e-mailov z aplikácie.
5. Obnova a vypnutie
- Záložný kód funguje raz a potom sa vymaže.
- Vypnutie 2FA vyžaduje heslo a aktuálny kód alebo záložný kód.
- Obnovenie záložných kódov zneplatní starú sadu.
- Pri každom zapnutí alebo vypnutí 2FA pošlite používateľovi e-mail.
Prompty pre váš AI nástroj
Začnite základným tokom:
Pridaj voliteľné dvojfaktorové overenie pomocou aplikácií autentifikátorov (TOTP) do nášho existujúceho prihlásenia e-mailom a heslom. Použi známu TOTP knižnicu, algoritmus nepíš sám. V nastaveniach zobraz QR kód a textové tajomstvo a 2FA zapni až po tom, čo používateľ zadá platný kód. Tajomstvo ukladaj šifrované a po nastavení ho už nikdy nezobrazuj. Zobraz 10 jednorazových záložných kódov iba raz a ulož ich zahashované.
Potom presadzovanie, kde vygenerovaný kód najčastejšie zlyháva:
Presadzuj 2FA na serveri. Po správnom hesle dostanú používatelia s 2FA krátkodobý stav čakania, nie plnú reláciu. Každá chránená stránka a API trasa musí stav čakania odmietnuť. Pokusy o kód obmedz na 5, potom na 15 minút zamkni druhý krok a pošli používateľovi e-mail.
Potom politika:
Vyžaduj 2FA pre admin účty: admin bez 2FA je presmerovaný na nastavenie a k dashboardu sa nedostane, kým ho nedokončí. Na vypnutie 2FA alebo zmenu e-mailu účtu vyžaduj heslo a aktuálny kód. Pri zapnutí alebo vypnutí 2FA pošli používateľovi e-mail.
Nakoniec požiadajte agenta, aby vysvetlil, čo postavil:
Vypíš každú trasu, ktorá kontroluje dokončený druhý faktor, kde sa ukladajú TOTP tajomstvo a záložné kódy a ako sú chránené.
Časté chyby
- Relácia vydaná po hesle. Najvážnejšia chyba. Ak plná relácia existuje pred kontrolou kódu, 2FA je len dekorácia. Otestujte volaním chráneného API len po kroku s heslom.
- Žiadny limit pokusov. Neobmedzené hádanie robí kód zraniteľným voči hrubej sile.
- Tajomstvá alebo záložné kódy v čistom texte. Únik databázy potom vydá druhý faktor všetkých používateľov.
- Zapnutie pred overením. Používatelia, ktorí zle naskenovali kód, sú zamknutí pri ďalšom prihlásení.
- Žiadna cesta obnovy. Každý stratený telefón sa stane podporným tiketom alebo stratenými zákazníkom.
- Ľahké vypnutie. Ak ukradnutá relácia dokáže vypnúť 2FA bez kódu, ochrana zanikne.
- Kódy v logoch. Uistite sa, že kódy a tajomstvá sa nikdy neobjavia v serverových logoch ani chybových hláseniach.
- Kontrola len na prihlasovacej stránke. Obnova hesla, prihlásenie cez „magic link“ a akékoľvek sociálne prihlásenie musia rešpektovať 2FA tiež, inak sa z nich stane obchádzka.
Kontrolný zoznam testovania
- Zapnutie sa dokončí až po platnom kóde
- Prihlásenie so správnym heslom bez kódu nedá prístup k žiadnej chránenej stránke ani API
- Zlý kód je odmietnutý; opakované zlé kódy spustia zamknutie a e-mail
- Kód z pred niekoľkých minút je odmietnutý
- Každý záložný kód funguje presne raz
- Vypnutie 2FA vyžaduje heslo a aktuálny kód
- Obnova hesla neobíde 2FA
- Admini bez 2FA sa nedostanú na administračné stránky (ak je to vyžadované)
- Tajomstvá a záložné kódy sú v databáze šifrované alebo zahashované
- Žiadne kódy ani tajomstvá sa neobjavujú v logoch
Pred spustením spustite aj celý bezpečnostný kontrolný zoznam pre aplikácie vytvorené AI.
Pridanie 2FA v Mythex
Mythex neobsahuje vstavaný systém prihlásenia pre koncových používateľov vašej aplikácie, takže 2FA je súčasťou toho prístupu k autentifikácii, ktorý zvolíte: vlastné prihlásenie e-mailom a heslom s databázou projektu, alebo hostovaný poskytovateľ s podporou viacfaktorového overenia. Čo chcete, opíšete v chate pomocou promptov ako vyššie a kľúče poskytovateľa idú do tajomstiev projektu (cez /secrets, nastavenia projektu alebo kartu tajomstiev, ktorú agent zobrazí), nie do správy v chate. Recept v dokumentácii Pridanie prihlásenia do aplikácie obsahuje štartovací prompt a Bezpečnosť pre aplikácie, ktoré vytvárate pokrýva návyky okolo kľúčov a oprávnení. Keď agent skončí, otestujte každú položku kontrolného zoznamu v náhľade a až potom publikujte.
Otázky
Aký je najjednoduchší spôsob, ako pridať dvojfaktorové overenie do aplikácie?
Ak používate hostovaného poskytovateľa autentifikácie, zapnite jeho vstavanú možnosť viacfaktorového overenia; zvyčajne je to najmenej kódu. Ak prevádzkujete vlastné prihlásenie, pridajte kódy z aplikácie autentifikátora (TOTP) pomocou známej knižnice, plus záložné kódy a kontrolu na serveri.
Mám na 2FA používať kódy cez SMS?
SMS je lepšia než žiadny druhý faktor, ale je to najslabšia bežná možnosť, lebo správy sa dajú presmerovať výmenou SIM karty a kódy sa dajú vylákať phishingom. Ako predvolenú ponúknite aplikáciu autentifikátora a prístupové kľúče, ak sú na ne vaši používatelia pripravení.
Potrebujem na pridanie 2FA databázu?
Ak prevádzkujete vlastné prihlásenie, áno. Tajný kľúč 2FA každého používateľa, to, či je 2FA zapnutá, a jeho zahashované záložné kódy musia byť uložené na mieste, ktoré môže server skontrolovať. Hostovaný poskytovateľ autentifikácie to ukladá za vás.
Čo sa stane, keď používateľ stratí telefón?
Prihlási sa jedným z jednorazových záložných kódov, ktoré mu ukážete pri zapnutí 2FA, a potom 2FA znovu nastaví na novom zariadení. Bez záložných kódov potrebujete manuálne overenie totožnosti, preto tento postup rozhodnite ešte pred spustením.