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.

Flattr this!

1 comment

  1. Daži ieteikumi – viens ir nelietot Google Authenticator aplikāciju. Nezinu kā ir tagad, bet pirms dažiem gadiem tai bija variāki mīnusi. Piemēram – to nevar lietot vienlaicīgi uz vairākiem telefoniem (bez rootošanas). Ja man ir tablets un telefons, es gribu dabūt 2FA kodu uz tā ko es patlaban lietoju, nevis vienmēr vilkt ārā telefonu no kabatas. Otrs mīnuss ir tāds, ja nav backup’a (ja nerooto). Ja telefonu nozog, vai pazaudē, vai tas saplīst, tad jāņemas ar recovery kodiem visās vietās, kas ir čakarīgi. Tāpēc es silti iesaku lietot “Authenticator Plus”. Tai ir backups, to var lietot no vairākām iekārtām vienlaicīgi.

    Otrs ieteikums ir ieteikt/piespiest/rekomendēt developeriem implementēt U2F risinājmu, lai var lietot 2FA ar U2F palīdzību. 2FA pats par sevi ir laba lieta no drošības puses, bet tas ir relatīvi nedrošs, ja lietotājs neseko līdzi kur un kā tas tiek lietots. Piemēram – vairāki 2FA risinājumi ir apejami vairākos veidos. Ja izvēlētais 2FA risinājums sūta SMS, tad SMS tiks hakots, nevis 2FA. 2FA aplikācijas kā Google Authenticator paļaujas uz Androīda drošību, lai ļaunie hakeri neizvelk ārā slepeno atslēgu. Taču gan aplikācijā, gan telefonā operētājsistēmā ir bugi. It īpaši vecākos Androīdos, kas vairs nekad nedabūs updeitus. Tāpec U2F ir daudz daudz labāks risinājums. Tas glabā atslēgu atsevišķā hardwarē, kas ir fiziski izolēta no telefona OS. Tā tiek iedarbināta tikai tad, kad tiek nospiesta poga. Tas ir arī labāks risinājums lietošanai browseros, jo tā drošība balstās uz faktu ka tikai noteikta mājslapa (pēc adreses) drīkst prasīt specifisko kodu. Parasta 2FA gadījumā, ka lietotājs ievada kodu no savas Androīda aplikācijas, var gadīties, ka mājaslapa nebija īstā – un lietotājs neievēroja ka adrese ir cita. Ar U2F tas neies cauri.

    Papildus bonuss U2F atslēgām ir, ka tās var izmantot, piemēram, ssh privāto atslēgu parolēm, pašas ssh vai gpg atslēgas glabāšanai, vai arī FDE atslēgas glabāšanai.

Atbildēt

Jūsu e-pasta adrese netiks publicēta.