Mam więc tego zręcznego małego yubikey i chcę dodać dodatkową warstwę bezpieczeństwa podczas uwierzytelniania sesji ssh. Po stronie serwera wyłączyłem już uwierzytelnianie hasłem i zezwalam na używanie kluczy ssh tylko podczas logowania.
Problem polega na tym, że po skonfigurowaniu sshd i PAM dla yubikey auth, sshd wciąż wymaga tylko klucza ssh, nigdy nie jestem proszony o udzielenie odpowiedzi od yubikey.
Jak potrzebuję zarówno klucza ssh, jak i yubikey?
(ubuntu 14.04 - trusty)
/etc/pam.d/common-auth
:
auth required pam_yubico.so mode=client try_first_pass id=<id> key=<secret>
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
/etc/ssh/sshd_config
:
...
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes
ssh
two-factor
Ben Lemasurier
źródło
źródło
Odpowiedzi:
Ok, trzymałem się tego i myślę, że wpadłem na rozsądne rozwiązanie. Najważniejsze, czego wcześniej mi brakowało, to sshd
AuthenticationMethods publickey,password
. Wymusza to wymóg zarówno klucza publicznego, jak i hasła - „hasło” jest teraz obsługiwane przezPAM->auth-yubi
. Potrzebne były również dodatkowe zmiany, patrz poniżej:(ubuntu 14.04 - zaufany):
/etc/pam.d/yubi-auth
Uwaga: można uzyskać identyfikator dostępu i tajny klucz tutaj
/etc/pam.d/sshd
/ etc / ssh / sshd_config
service ssh restart
Weryfikacja
SSH ze zdalnego hosta bez klucza publicznego
SSH ze zdalnego hosta z kluczem publicznym
Poprawa
Byłoby miło widzieć „Yubikey Auth:” zamiast „password:” ze zdalnego serwera ssh podczas uwierzytelniania.
Co się stanie, gdy serwer ssh nie będzie mógł skontaktować się z systemem weryfikacji autoryzacji yubico? Idealne rozwiązanie byłoby całkowicie samodzielne.
Doceniamy komentarze i sugestie.
źródło
Konfiguracja 2FA z Yubikey może być trudna (myślałam, że jest łatka openssh dla U2F ), ale najłatwiejszym sposobem jest prawdopodobnie ten opisany na oficjalnej stronie Yubico .
Jest to w zasadzie sposób przechowywania klucza prywatnego na Yubikey i ochrony go za pomocą kodu PIN. To nie jest dokładnie 2fa jesteś opisane (ale to jest coś, co ma i co i wiedzieć ), ale zwiększa bezpieczeństwo nawet więcej (YubiKey zamki Po kilku nieudanych próbach).
TL: DR;
źródło