Ja neizmanto 2FA, pēdējais laiks sākt

Ar 2FA mēdz apzīmēt two-factor authentication (reizēm dēvē arī par 2-step verification). Ja tulkojam, sanāk divu faktoru autentifikācija vai divu pakāpju autentifikācija. Šis koncepts kalpo kā papildus aizsardzība profiliem/kontiem dažādās mājas lapās. Ja tev kaut kur ir izveidots konts (profils), tad visticamāk tev ir lietotājvārds un parole. Protams, ja kontu esi izveidojis autorizējoties ar Facebook, Google, Twitter vai kādu citu servisu, tad ir iespējams, ka tev nav ne lietotājvārda, ne paroles. Bet, ja reģistrējies klasiskā veidā, tad parolei un lietotājvārdam jābūt. Ja izmanto tikai paroli, tad tā ir viena faktora autentifikācija. Bet, ja izmanto kādu papildus rīku, tad tā jau ir divu faktoru autentifikācija. Parasti 2FA tiek izmantots telefons, uz kuru ar SMS tiek nosūtīts speciāls kods, kuru jāievada pie pieslēgšanās, vai arī telefonā tiek uzstādīta speciāla lietotne, kura ģenerē kodus. Drošības ieguvums ir tādēļ, ka, ja kāds uzzina tavu paroli, viņš nevarēs to izmantot, ja vien netiks klāt arī pie tava telefona. Ļaunprātim jāpārvar divas barjeras. Viņam jāiegūst ne tikai to, ko tu zini (parole), bet arī to, kas tev pieder (telefons).

Ne vienmēr 2FA var izglābt, jo mājas lapā 2FA loģika var būt iestrādāta nepareizi. Vai arī mājas lapas uzturētāji var uzķerties uz kādiem sociālās inženierijas (social engineering) trikiem un, piemēram, noņemt jūsu kontam 2FA, ja to pieprasa kāda trešā puse. Bet, ja mājas lapā 2FA implementācija veikta pareizi, atbalsta speciālisti ir prasmīgi, tad 2FA ir liels šķērslis kādam, kurš grib tikt klāt pie tava konta. Tādēļ noteikti iesaku izmantot 2FA visur, kur tas tiek atbalstīts. Dažus gadus atpakaļ bija ļoti maz tādu servisu/mājas lapu, kas to nodrošināja. Bet tagad to ir vairāk un vairāk. Es izmantoju 2FA vairāk kā padsmit mājas lapās. Un šis raksts man atgādina to, ka šo skaitu vajadzētu palielināt vēl vairāk. Jo kāds serviss tev ir svarīgāks, jo steidzamāk sāc tajā izmantot 2FA.

Stipri lielākā daļa no 2FA risinājumiem atbalsta Google Authenticator . Šī ir Google izstrādāta lietotne, kurā iebūvēts TOTP (Time-Based One-Time Password Algorithm)  atbalsts. Tas nozīmē, ka, ja mājas lapā 2FA implementācija veikta ar šo algoritmu, varēsiet izmantot Google Authenticator, lai ģenerētu kodus. Parasti mājas lapā tiek pateikts, vai Google Authenticator tiek atbalstīts. Tā kā katrs 2FA aktivizēšanu var realizēt nedaudz citādi, neaprakstīšu visus veidus, bet došu tikai aptuvenu aprakstu tam, kā process parasti notiek.

Vispirms mājas lapā jāsameklē sadaļu, kurā var aktivēt 2FA. Parasti tas atrodams profila iestatījumos pie drošības vai parolēm. Kad mēģina veikt aktivizāciju, tiek parādīts QR kods, kuru ar telefonu jānoskenē. Bez koda var tikt parādīta arī burtu un ciparu virkne, kas kalpo kā alternatīvs veids aktivizēšanai. Piemēram, ja telefons nevar noskenēt kodu, var ievadīt attiecīgo kombināciju un lietotnē tiks aktivizēta kodu ģenerēšana. Nākamajā solī parasti ir jāievada 1 kodu, kuru uzģenerējusi lietotne, lai pārliecinātos, ka viss noritējis pareizi (tiek ģenerēti pareizi kodi). Bieži vien tiek parādīts arī kāds veids, ar kuru 2FA var apiet vai noņemt. Tas noder gadījumos, ja, piemēram, telefons saplīst, tiek pazaudēts/nozagts. Klasisks risinājums šādiem gadījumiem ir vienreizējās lietošanas kodi, kurus var redzēt pēc 2FA aktivizēšanas. Vai arī tiek prasīts noradīt savu telefona numuru, uz kuru nepieciešamības gadījumā tiek nosūtīts SMS ar vienreizējās lietošanas kodu. Ja iespējams, iesaku izmantot norakstītus vienreizējās lietošanas kodus nevis SMS, jo tas ir drošāk. Varbūt šis process izklausās nedaudz mulsinošs, bet patiesībā ir ļoti vienkārši. Galvenais, pamēģini izdarīt un tad jau sapratīsi. Ja nesanāk, saki komentāros, kurā servisā to dari un es ielikšu instrukciju ar visiem ekrānšāviņiem (protams, tikai gadījumā, ja esmu tur reģistrējies).

Kad 2FA ir aktivizēts, pie pieslēgšanās mājas lapai būs jāievada ne tikai paroli un lietotājvārdu, bet arī īpašo kodu. Tādēļ, ja pēkšņi ieraugi, ka tev prasa verification code, nesamulsti, bet meklē rokā telefonu.

Kā jau minēju, ja izmanto 2FA, noteikti parūpējies par to, ko darīsi, ja telefons saplīsīs un vairs nevarēsi uzģenerēt kodus. Ja serviss piedāvā vienreizējās lietošanas kodus, noteikti noraksti un noglabā drošā vietā. Ja kodus nepiedāvā, bet piedāvā ievadīt telefona numuru, dari to. Vēl variants ir to pašu kodu ģenerēšanu aktivizēt uzreiz divos telefonos, ja ir tāda iespēja. Vai arī vari izmantot speciālas USB atslēgas. Piemēram, YubiKey . Tā kā tas ir dārgs variants, var izmantot arī lētāku. Es, piemēram, izmantoju šo. Nav tik izturīgs vai funkcijām bagāts kā YubiKey atslēgas, bet šobrīd man pietiek. Ar šīm atslēgām ir vēl vienkāršāk kā ar telefonu. Pievienošana (aktivizēšana) notiek līdzīgi kā telefona lietotnei. Bet izmantošanā atliek vienkārši iespraust atslēgu datora USB portā un lieta darīta (ja atslēgai ir poga, to var nākties nospiest). Lai gan atslēgas ir ērtākas par lietotni, tām ir divi mīnusi. Viens – cena. Otrs – krietni mazāks skaits mājas lapu atbalsta atslēgas kā 2FA risinājumu. Kāds uzskatīs, ka ir vēl trešais mīnuss. USB atslēgas darbojas tikai ar Chrome pārlūku, bet tā kā vairums izmanto Chrome, tad manās acīs tas nav mīnuss. Parasti atslēgu var piereģistrēt arī tad, ja izmanto lietotni telefonā. Tādā gadījumā atslēga kalpo kā papildus variants, kā autorizēties (saplīsa telefons – izmanto atslēgu, nav atslēgas pa rokai, izmanto telefonu). Ja tev ir iespēja, izmanto vairākas atslēgas. Ja viena pazūd, lai vari izmantot otru. Google, Gitlab un vēl sauja servisu atbalsta atslēgas.

Ja tu izmanto WordPress, uzliec Google Authenticator spraudni un aktivizē to. Tad pieslēdzoties administrēšanas panelim, vajadzēs ievadīt arī 2FA kodu. Papildus drošības līmenis WordPress nekad nenāk par ļaunu.

Ja esi mājas lapas izstrādātājs, padomā – varbūt, ka vari palīdzēt lietotājiem aizsargāt savus kontus. Izveido 2FA atbalstu, ja to vēl neesi izdarījis. Ja taisi mājas lapas ar PHP, vari izmantot, piemēram, PHPGangsta/GoogleAuthenticator. Strādā lieliski un man līdz šim problēmas nav sagādājis.

Vēl būtiska nianse. Ja izmanto Google Authenticator vai kadu citu lietotni, kura ģenerē TOTP kodus, seko līdzi tam, lai telefonā vienmēr būtu precīzs laiks. Pretējā gadījumā sanāks tā, kā sanāca man. TOTP algoritmā kodi tiek ģenerēti, balstoties uz tā brīža laiku. Un ja telefonā laiks ir nepareizs, kods būs nepareizs un mājas lapa to neakceptēs. Atkarībā no implementācijas mainās tas, cik pielaidīga laika nobīdei ir katra mājas lapa. Līdz ar to reizēm var gadīties, ka ja ir 1 minūtes nobīde, daļa mājas lapu kodu ņems pretī, daļa neņems. 

Šis raksts tapis 30 dienu rakstīšanas izaicinājuma ietvaros.