Kaip naudoti dviejų faktorių autentifikavimą su Ubuntu


Laikui bėgant tradicinis vartotojo vardo ir slaptažodžio autentifikavimas pasirodė esąs nepakankamas užtikrinant patikimą programų ir sistemų apsaugą. Vartotojo vardus ir slaptažodžius galima lengvai nulaužti naudojant daugybę įsilaužimo įrankių, todėl jūsų sistema gali būti pažeidžiama dėl pažeidimų. Dėl šios priežasties bet kuri įmonė ar subjektas, kuris rimtai žiūri į saugumą, turi įdiegti 2 faktorių autentifikavimą.

Šnekamojoje kalboje žinomas kaip MFA (Multi-Factor Authentication), 2 faktorių autentifikavimas suteikia papildomą saugos lygį, dėl kurio naudotojai turi pateikti tam tikrą informaciją, pvz., kodus. arba OTP (Vienkartinis slaptažodis) prieš arba po autentifikavimo naudojant įprastą naudotojo vardą ir slaptažodį.

Šiais laikais kelios įmonės, pvz., Google, Facebook, Twitter ir AWS, pavyzdžiui, kelios, suteikia vartotojams galimybę rinktis nustatyti MFA, kad toliau apsaugotų savo paskyras.

Šiame vadove parodome, kaip galite naudoti dviejų veiksnių autentifikavimą su Ubuntu.

1 veiksmas: įdiekite „Google“ PAM paketą

Pirmiausia įdiekite Google PAM paketą. PAM, santrumpa nuo Pluggable Authentication Module, yra mechanizmas, suteikiantis papildomą autentifikavimo lygį Linux platformoje.

Paketas yra talpinamas Ubuntu saugykloje, todėl tęskite ir naudokite komandą apt, kad jį įdiegtumėte taip:

sudo apt install libpam-google-authenticator

Kai būsite paraginti, paspauskite Y ir paspauskite ENTER, kad tęstumėte diegimą.

2 veiksmas: įdiekite „Google Authenticator“ programą savo išmaniajame telefone

Be to, planšetiniame kompiuteryje arba išmaniajame telefone turite įdiegti „Google“ autentifikavimo priemonę. Programa pateiks 6 skaitmenų vienkartinį kodą, kuris automatiškai atnaujinamas kas 30 sekundžių.

3 veiksmas: sukonfigūruokite „Google PAM“ Ubuntu

Įdiegus programą „Google“ autentifikavimo priemonė, mes tęsime ir sukonfigūruosime „Google PAM“ paketą Ubuntu, pakeisdami /etc/pam.d/common-auth< failą, kaip parodyta.

sudo vim /etc/pam.d/common-auth

Pridėkite žemiau esančią eilutę prie failo, kaip nurodyta.

auth required pam_google_authenticator.so

Išsaugokite failą ir išeikite.

Dabar paleiskite toliau pateiktą komandą, kad inicijuotų PAM.

google-authenticator

Tai sukels keletą klausimų terminalo ekrane. Pirmiausia jūsų bus paklausta, ar norite, kad autentifikavimo prieigos raktai būtų pagrįsti laiku.

Laiku pagrįsto autentifikavimo prieigos raktai nustoja galioti po tam tikro laiko. Pagal numatytuosius nustatymus tai įvyksta po 30 sek., kai sugeneruojamas naujas prieigos raktų rinkinys. Šie prieigos raktai laikomi saugesniais už ne laiku pagrįstus prieigos raktus, todėl įveskite y', jei norite patvirtinti „taip“, ir paspauskite ENTER.

Tada terminale bus rodomas QR kodas, kaip parodyta žemiau, o tiesiai po juo bus rodoma tam tikra informacija. Rodoma informacija apima:

  • Slaptas raktas
  • Patvirtinimo kodas
  • Avariniai įbrėžimų kodai

Turite išsaugoti šią informaciją saugykloje, kad galėtumėte ją naudoti ateityje. Neatidėliotinos nutrinimo kodai yra labai naudingi, jei pametėte autentifikavimo įrenginį. Jei kas nors nutiktų jūsų autentifikavimo įrenginiui, naudokite kodus.

Išmaniajame įrenginyje paleiskite programą Google Authenticator ir pasirinkite Nuskaityti QR kodą, kad nuskaitytumėte pateiktą QR kodą.

PASTABA: norėdami nuskaityti visą QR kodą, turite padidinti terminalo langą. Kai QR kodas bus nuskaitytas, programėlėje bus rodomas šešių skaitmenų vienkartinis protokolas, kuris keičiasi kas 30 sekundžių.

Tada pasirinkite y', kad atnaujintumėte „Google“ autentifikavimo failą savo namų aplanke.

Kitame raginime apribokite prisijungimą iki vieno prisijungimo kas 30 sekundžių, kad išvengtumėte atakų, kurios gali kilti dėl tarpininko atakų. Taigi pasirinkite 'y'

Kitame raginime pasirinkite n', kad neleistumėte pratęsti laiko trukmės, kuri sprendžia serverio ir kliento laiko iškreipimą. Tai saugesnė parinktis, nebent susiduriate su sunkumais dėl prasto laiko sinchronizavimo.

Ir galiausiai įgalinkite greičio ribojimą iki 3 prisijungimo bandymų.

Šiuo metu baigėme diegti dviejų veiksnių autentifikavimo funkciją. Tiesą sakant, jei paleisite bet kurią sudo komandą, būsite paraginti įvesti patvirtinimo kodą, kurį galite gauti iš „Google“ autentifikavimo programos.

Galite dar labiau tai patvirtinti paleisdami iš naujo, o kai pateksite į prisijungimo ekraną, jūsų bus paprašyta pateikti patvirtinimo kodą.

Pateikę kodą iš programos Google Authenticator, tiesiog pateikite slaptažodį, kad galėtumėte pasiekti sistemą.

4 veiksmas: integruokite SSH su „Google Authenticator“.

Jei ketinate naudoti SSH su Google PAM moduliu, turite juos integruoti. Tai galite pasiekti dviem būdais.

SSH slaptažodžio autentifikavimui

Norėdami įgalinti SSH slaptažodžio autentifikavimą įprastam vartotojui, pirmiausia atidarykite numatytąjį SSH konfigūracijos failą.

sudo vim /etc/ssh/sshd_config

Ir nustatykite toliau nurodytus atributus į taip, kaip parodyta

Jei naudojate šakninį vartotoją, atributą „PermitRootLogin“ nustatykite į taip.

PermitRootLogin yes

Išsaugokite failą ir išeikite.

Tada pakeiskite PAM taisyklę, skirtą SSH

sudo vim /etc/pam.d/sshd

Tada pridėkite šią eilutę

auth   required   pam_google_authenticator.so

Galiausiai iš naujo paleiskite SSH paslaugą, kad pakeitimai įsigaliotų.

sudo systemctl restart ssh

Toliau pateiktame pavyzdyje mes prisijungiame prie Ubuntu sistemos naudodami „Putty“ klientą.

SSH viešojo rakto autentifikavimui

Jei naudojate viešojo rakto autentifikavimą, pakartokite anksčiau nurodytus veiksmus ir pridėkite eilutę, rodomą failo /etc/ssh/sshd_config apačioje.

AuthenticationMethods publickey,keyboard-interactive

Dar kartą redaguokite PAM taisyklę SSH demonui.

sudo vim /etc/pam.d/sshd

Tada pridėkite šią eilutę.

auth   required   pam_google_authenticator.so

Išsaugokite failą ir iš naujo paleiskite SSH paslaugą, kaip matėme anksčiau.

sudo systemctl restart ssh

Išjunkite dviejų veiksnių autentifikavimą Ubuntu

Jei pametėte autentifikavimo įrenginį arba slaptąjį raktą, nenusiminkite. Galite lengvai išjungti 2FA autentifikavimo sluoksnį ir grįžti prie paprasto prisijungimo prie vartotojo vardo/slaptažodžio metodo.

Pirmiausia iš naujo paleiskite sistemą ir pirmame GRUB įraše paspauskite e.

Slinkite ir suraskite eilutę, kuri prasideda linux ir baigiasi tyliu splash $vt_handoff. Pridėkite eilutę systemd.unit=rescue.target ir paspauskite ctrl+x, kad įjungtumėte gelbėjimo režimą

Kai gausite apvalkalą, pateikite pagrindinį slaptažodį ir paspauskite ENTER.

Tada tęskite ir ištrinkite .google-authenticator failą savo namų kataloge, kaip nurodyta toliau. Būtinai pakeiskite vartotojo vardą savo vartotojo vardu.


rm /home/username/.google_authenticator

Tada redaguokite failą /etc/pam.d/common-auth.


$ vim /etc/pam.d/common-auth

Komentuokite arba ištrinkite šią eilutę:


auth required pam_google_authenticator.so

Išsaugokite failą ir iš naujo paleiskite sistemą. Prisijungimo ekrane turėsite pateikti tik savo vartotojo vardą ir slaptažodį, kad galėtumėte autentifikuoti.

Ir tai priveda mus prie šio straipsnio pabaigos. Mums bus malonu išgirsti, kaip sekėsi.