Integrace · Linux SSH

Linux SSH 2FA s pam_radius a schválením na telefonu

Pro týmy, které spravují linuxové servery přes SSH a chtějí, aby každý shell, sudo i su vyžadoval kromě hesla také schválení na telefonu. Linux PAM má standardní RADIUS modul; nasměrujte ho na Notakey auth-proxy a celá flotila se zapojí do stejného nastavení jako vaše VPN.

Jak se připojuje

PAM, RADIUS, proxy – a na serveru nic dalšího

sshd i sudo ověřují přes PAM. Modul pam_radius pošle uživatelské jméno a heslo přes RADIUS na Notakey auth-proxy; proxy předá kontrolu hesla vašemu RADIUS serveru, pošle na telefon uživatele žádost o schválení a Access-Accept vrátí jen tehdy, když uspějí obě kontroly. Návod pokrývá Debian/Ubuntu s balíčkem libpam-radius-auth; v distribucích z rodiny RHEL se modul jmenuje pam_radius a soubory PAM mají stejné uspořádání v /etc/pam.d/.

Když je modul nastaven jako sufficient, Access-Accept uživatele rovnou přihlásí a cokoli jiného propadne do běžné kontroly lokálního hesla. Váš nouzový administrátor si ponechá čistě lokální heslo; všechny ostatní lze vytvořit bez něj. Jedinou cestou dovnitř je pro ně pak RADIUS přes proxy, tedy heslo a schválení na telefonu, a lokálně není co prolamovat hrubou silou.

Tatáž proxy a tentýž RADIUS server, které už chrání VPN a správu routeru, obslouží i linuxovou flotilu. Na straně proxy se nic nemění.

Co vědět, než začnete

  • Výchozí timeout modulu jsou 3 sekundy. Nastavte ho alespoň na hodnotu vpn_message_ttl na proxy (30 sekund); 60 sekund dává pohodlnou rezervu. Okamžité selhání bez push notifikace obvykle znamená špatný timeout nebo sdílené tajemství.
  • Přihlášení přes SSH veřejným klíčem fázi auth v PAM úplně přeskočí, takže přihlášení klíčem push notifikaci nevyvolá. Pokud chcete klíč i push, nastavte AuthenticationMethods publickey,keyboard-interactive a tuto variantu otestujte zvlášť.
  • Heslo putuje mezi serverem a proxy jako PAP. Udržujte toto spojení v management síti, nebo provozujte proxy jako kontejner přímo na hostiteli.
  • Stejné uživatelské jméno musí existovat v cílovém RADIUS serveru, ve službě Notakey se zaregistrovaným telefonem a jako lokální nebo adresářový účet na linuxovém stroji. PAM pouze ověřuje; uživatel stále potřebuje účet, ke kterému se přihlásí.
  • Ochrana sudo znamená, že každé sudo se ptá telefonu. Díky tomu, že si sudo pamatuje ověření, je to únosné.
  • sshd potřebuje UsePAM yes a KbdInteractiveAuthentication yes; obojí je v Debianu/Ubuntu výchozí.

Od nuly k prvnímu schválení

  1. 01

    Nejdříve si připravte nouzový přístup

    Než sáhnete do PAM, dejte rootovi nebo vyhrazenému nouzovému administrátorovi silné lokální heslo a ověřte ho na konzoli. Konfigurace se vždy vrací k lokálním heslům, takže tento účet je vaší cestou dovnitř, pokud proxy, RADIUS nebo síť nefungují.

  2. 02

    Nainstalujte pam_radius a nasměrujte ho na proxy

    Nainstalujte libpam-radius-auth, do /etc/pam_radius_auth.conf přidejte jeden řádek s adresou proxy, sdíleným tajemstvím odpovídajícím vpn_secret_in na proxy a timeoutem 60 sekund a soubor uzamkněte na práva 0600.

  3. 03

    Zapněte modul v PAM a otestujte z druhého terminálu

    Do /etc/pam.d/sshd (a podle potřeby do sudo, su nebo login) přidejte nad include common-auth řádek auth sufficient pam_radius_auth.so, na řádek pam_unix v common-auth doplňte try_first_pass a pak se z druhého terminálu přihlaste přes SSH jako RADIUS uživatel a schvalte push notifikaci. Než zavřete původní relaci, ověřte, že nouzový účet stále funguje.

Časté dotazy

Hrozí, že se zamknu, když proxy nebo RADIUS vypadne?
Nehrozí, pokud si ponecháte nouzového administrátora s lokálním heslem. Modul pam_radius je nastaven jako sufficient, takže cokoli jiného než Access-Accept propadne do běžné kontroly lokálního hesla.
Vyvolá přihlášení SSH klíčem push notifikaci?
Ne. Přihlášení veřejným klíčem fázi auth v PAM úplně přeskočí. Pokud chcete klíč i push, nastavte AuthenticationMethods publickey,keyboard-interactive a tuto variantu otestujte zvlášť.
Které linuxové distribuce návod pokrývá?
Debian a Ubuntu s balíčkem libpam-radius-auth. V distribucích z rodiny RHEL se modul jmenuje pam_radius a soubory PAM mají stejné uspořádání v /etc/pam.d/.

Návody a dokumentace

Související produkty

← Všechny integrace

První přihlášení bez hesla už tento týden

30minutový rozhovor s inženýrem, žádná prodejní prezentace. Společně naplánujeme, jak ve vašem prostředí s VPN, SSO nebo Windows spustit funkční pilotní projekt.