Integracijos · Linux SSH

Linux SSH 2FA su pam_radius ir patvirtinimu telefone

Komandoms, administruojančioms Linux serverius per SSH ir norinčioms, kad kiekvienas apvalkalas, sudo ir su reikalautų ne tik slaptažodžio, bet ir patvirtinimo telefone. Linux PAM turi standartinį RADIUS modulį; nukreipkite jį į Notakey auth-proxy, ir visas serverių parkas naudos tą pačią sąranką kaip jūsų VPN.

Kaip jungiama

PAM, RADIUS, tarpinis serveris – ir nieko daugiau serveryje

sshd ir sudo autentifikuoja per PAM. Modulis pam_radius per RADIUS siunčia naudotojo vardą ir slaptažodį Notakey auth-proxy; tarpinis serveris slaptažodžio patikrą persiunčia jūsų RADIUS serveriui, išsiunčia patvirtinimo užklausą į naudotojo telefoną ir grąžina Access-Accept tik tada, kai sėkmingi abu žingsniai. Vadovas skirtas Debian/Ubuntu su libpam-radius-auth; RHEL šeimos distribucijose modulis pateikiamas kaip pam_radius, o PAM failai yra toje pačioje /etc/pam.d/ struktūroje.

Kai modulis nustatytas kaip sufficient, Access-Accept naudotoją įleidžia iš karto, o bet koks kitas atsakymas pereina prie įprastos vietinio slaptažodžio patikros. Jūsų avarinė administratoriaus paskyra turi tik vietinį slaptažodį; visus kitus naudotojus galima sukurti be jo. Tada vienintelis jų kelias vidun yra RADIUS per tarpinį serverį, t. y. slaptažodis ir patvirtinimas telefone, o serveryje nelieka jokio vietinio slaptažodžio, kurį būtų galima laužti perrinkimo ataka.

Tas pats tarpinis serveris ir RADIUS serveris, kurie jau saugo VPN ir maršrutizatoriaus administravimą, aptarnauja ir Linux serverius. Tarpinio serverio pusėje niekas nesikeičia.

Ką žinoti prieš pradedant

  • Numatytasis modulio skirtasis laikas yra 3 sekundės. Nustatykite jį ne trumpesnį nei tarpinio serverio vpn_message_ttl (30 sekundžių); 60 sekundžių duoda patogią atsargą. Jei prisijungimas atmetamas akimirksniu ir push pranešimas neateina, dažniausiai neteisingas skirtasis laikas arba bendroji paslaptis.
  • SSH prisijungimai viešuoju raktu visiškai praleidžia PAM autentifikacijos etapą, todėl prisijungimas raktu push pranešimo nesukelia. Jei reikia rakto ir push pranešimo kartu, nustatykite AuthenticationMethods publickey,keyboard-interactive ir šį variantą išbandykite atskirai.
  • Tarp serverio ir tarpinio serverio slaptažodis perduodamas PAP protokolu. Šį ryšį laikykite valdymo tinkle arba paleiskite tarpinį serverį kaip konteinerį pačiame serveryje.
  • Tas pats naudotojo vardas turi egzistuoti galiniame RADIUS serveryje, Notakey servise su užregistruotu telefonu ir kaip vietinė ar katalogo paskyra Linux serveryje. PAM tik autentifikuoja; naudotojui vis tiek reikia paskyros, į kurią jis jungiasi.
  • Apsaugojus sudo, kiekviena sudo komanda klausia telefono. Tai pakenčiama, nes sudo kurį laiką įsimena sėkmingą autentifikaciją.
  • sshd reikia UsePAM yes ir KbdInteractiveAuthentication yes; Debian/Ubuntu abu yra numatytieji.

Nuo nulio iki pirmojo patvirtinimo

  1. 01

    Pirmiausia pasiruoškite avarinį išėjimą

    Prieš keisdami PAM, suteikite root arba specialiai avarinei administratoriaus paskyrai stiprų vietinį slaptažodį ir patikrinkite jį konsolėje. Konfigūracija visada grįžta prie vietinių slaptažodžių, todėl ši paskyra yra jūsų kelias vidun, jei neveikia tarpinis serveris, RADIUS ar tinklas.

  2. 02

    Įdiekite pam_radius ir nukreipkite jį į tarpinį serverį

    Įdiekite libpam-radius-auth, į /etc/pam_radius_auth.conf įrašykite vieną eilutę su tarpinio serverio adresu, bendrąja paslaptimi, atitinkančia tarpinio serverio vpn_secret_in, ir 60 sekundžių skirtuoju laiku, o failo teises apribokite iki 0600.

  3. 03

    Įjunkite modulį PAM ir išbandykite iš antro terminalo

    Faile /etc/pam.d/sshd (ir, jei norite, sudo, su ar login) virš common-auth įtraukimo pridėkite auth sufficient pam_radius_auth.so, common-auth faile prie pam_unix eilutės pridėkite try_first_pass, tada iš antro terminalo prisijunkite per SSH su RADIUS naudotojo vardu ir patvirtinkite push pranešimą. Prieš uždarydami pradinę sesiją, įsitikinkite, kad avarinė paskyra vis dar veikia.

Dažniausiai užduodami klausimai

Ar neliksiu už durų, jei neveiks tarpinis serveris ar RADIUS?
Ne, jei turite avarinę administratoriaus paskyrą su vietiniu slaptažodžiu. pam_radius nustatytas kaip sufficient, todėl gavus bet kokį kitą atsakymą nei Access-Accept pereinama prie įprastos vietinio slaptažodžio patikros.
Ar prisijungimas SSH raktu sukelia push pranešimą?
Ne. Jungiantis viešuoju raktu PAM autentifikacijos etapas visiškai praleidžiamas. Jei norite rakto ir push pranešimo kartu, nustatykite AuthenticationMethods publickey,keyboard-interactive ir šį variantą išbandykite atskirai.
Kurioms Linux distribucijoms skirtas vadovas?
Debian ir Ubuntu su libpam-radius-auth. RHEL šeimos distribucijose modulis pateikiamas kaip pam_radius, o PAM failai yra toje pačioje /etc/pam.d/ struktūroje.

Vadovai ir dokumentacija

Susiję produktai

← Visos integracijos

Pirmasis prisijungimas be slaptažodžio – jau šią savaitę

30 minučių pokalbis su inžinieriumi, o ne pardavimų prezentacija. Kartu suplanuosime, kaip jūsų VPN, SSO ar Windows aplinkoje paleisti veikiantį bandomąjį projektą.