Integrācijas · Linux SSH
Linux SSH 2FA ar pam_radius un apstiprinājumu tālrunī
Komandām, kas Linux serverus administrē caur SSH un vēlas, lai katrai čaulai, sudo un su papildus parolei būtu vajadzīgs apstiprinājums tālrunī. Linux PAM ir standarta RADIUS modulis; novirziet to uz Notakey auth-proxy, un viss serveru parks izmanto to pašu risinājumu kā jūsu VPN.
Kā tas tiek pieslēgts
No PAM caur RADIUS līdz proxy, un serverī nekas vairāk
sshd un sudo autentificē caur PAM. Modulis pam_radius nosūta lietotājvārdu un paroli Notakey auth-proxy pa RADIUS; proxy paroles pārbaudi pārsūta jūsu RADIUS serverim, nosūta apstiprinājuma pieprasījumu uz lietotāja tālruni un atgriež Access-Accept tikai tad, ja izdevušās abas pārbaudes. Ceļvedis apraksta Debian/Ubuntu ar libpam-radius-auth; RHEL saimes distribūcijās modulis ir pakotnē pam_radius, un PAM faili atrodas tajā pašā /etc/pam.d/ struktūrā.
Ja modulis iestatīts kā sufficient, Access-Accept lietotāju ielaiž uzreiz, bet jebkas cits tiek nodots parastajai lokālās paroles pārbaudei. Jūsu ārkārtas administratoram paliek tikai lokāla parole; visus pārējos var izveidot bez tās. Tad viņu vienīgais ceļš iekšā ir RADIUS caur proxy, proti, parole un apstiprinājums tālrunī, un lokāli nav nekā, ko lauzt ar pārlasi.
Tas pats proxy un RADIUS serveris, kas jau aizsargā VPN un maršrutētāja administrēšanu, apkalpo arī Linux serverus. Proxy pusē nekas nemainās.
Kas jāzina pirms sākšanas
- Moduļa noklusējuma noildze ir 3 sekundes. Iestatiet to vismaz proxy vpn_message_ttl garumā (30 sekundes); ar 60 sekundēm ir ērta rezerve. Tūlītēja kļūme bez push paziņojuma parasti nozīmē nepareizu noildzi vai koplietoto slepeno atslēgu.
- SSH publiskās atslēgas pieteikšanās pilnībā izlaiž PAM autentifikācijas fāzi, tāpēc pieteikšanās ar atslēgu push paziņojumu neizraisa. Ja vajag atslēgu un push paziņojumu kopā, iestatiet AuthenticationMethods publickey,keyboard-interactive un pārbaudiet šo variantu atsevišķi.
- Starp serveri un proxy parole tiek pārraidīta ar PAP. Uzturiet šo savienojumu pārvaldības tīklā vai palaidiet proxy kā konteineru tajā pašā resursdatorā.
- Tam pašam lietotājvārdam jāeksistē lejupējā RADIUS serverī, Notakey servisā ar reģistrētu tālruni un kā lokālam vai direktorija kontam Linux serverī. PAM tikai autentificē; lietotājam joprojām vajadzīgs konts, kurā pieteikties.
- Aizsargāts sudo nozīmē, ka katrs sudo prasa apstiprinājumu tālrunī. Sudo piekļuves datu kešošana to padara panesamu.
- sshd vajadzīgi iestatījumi UsePAM yes un KbdInteractiveAuthentication yes; Debian/Ubuntu tie abi ir noklusējuma vērtības.
No nulles līdz pirmajam apstiprinājumam
- 01
Vispirms parūpējieties par ārkārtas izeju
Pirms ķeraties pie PAM, piešķiriet root vai atsevišķam ārkārtas administratora kontam stipru lokālu paroli un pārbaudiet to pie konsoles. Konfigurācija vienmēr atkāpjas uz lokālajām parolēm, tāpēc šis konts ir jūsu ceļš iekšā, ja proxy, RADIUS vai tīkls nav pieejams.
- 02
Instalējiet pam_radius un novirziet to uz proxy
Instalējiet libpam-radius-auth, pievienojiet failā /etc/pam_radius_auth.conf vienu rindu ar proxy adresi, koplietoto slepeno atslēgu, kas atbilst proxy vpn_secret_in, un 60 sekunžu noildzi, un iestatiet failam tiesības 0600.
- 03
Ieslēdziet to PAM un pārbaudiet no otra termināļa
Failā /etc/pam.d/sshd (un pēc vajadzības sudo, su vai login) virs common-auth iekļaušanas pievienojiet auth sufficient pam_radius_auth.so, failā common-auth pam_unix rindai pievienojiet try_first_pass, tad no otra termināļa pieslēdzieties caur SSH ar RADIUS lietotājvārdu un apstipriniet push paziņojumu. Pirms aizverat sākotnējo sesiju, pārliecinieties, ka ārkārtas konts joprojām darbojas.
Bieži uzdotie jautājumi
- Vai zaudēšu piekļuvi, ja proxy vai RADIUS nedarbojas?
- Nē, ja uzturat ārkārtas administratora kontu ar lokālu paroli. Modulis pam_radius ir iestatīts kā sufficient, tāpēc jebkura atbilde, kas nav Access-Accept, tiek nodota parastajai lokālās paroles pārbaudei.
- Vai pieteikšanās ar SSH atslēgu izraisa push paziņojumu?
- Nē. Publiskās atslēgas pieteikšanās pilnībā izlaiž PAM autentifikācijas fāzi. Ja vajag atslēgu un push paziņojumu kopā, iestatiet AuthenticationMethods publickey,keyboard-interactive un pārbaudiet šo variantu atsevišķi.
- Kuras Linux distribūcijas aptver ceļvedis?
- Debian un Ubuntu ar libpam-radius-auth. RHEL saimes distribūcijās modulis ir pakotnē pam_radius, un PAM faili atrodas tajā pašā /etc/pam.d/ struktūrā.