Jeśli stwierdzisz, że uwierzytelnianie oparte na hasłach i uwierzytelnianie dwuskładnikowe jest zawodne, rozważ skonfigurowanie uwierzytelniania sprzętowego w systemie Linux za pomocą YubiKey.

Nie jesteś sam, jeśli martwisz się stale rosnącym zagrożeniem ze strony hakerów. Podczas gdy monity o uwierzytelnienie i uwierzytelnianie dwuskładnikowe są wystarczające, aby odeprzeć większość potencjalnych hakerów, tysiące naruszeń nadal udaje się każdego dnia.

Jednym z najczęściej reklamowanych rozwiązań problemu z uwierzytelnianiem jest YubiKey. Ale czym jest YubiKey i jak działa uwierzytelnianie sprzętowe? Czy możesz zabezpieczyć swój komputer z systemem Linux za pomocą YubiKey?

Dlaczego warto używać YubiKey do uwierzytelniania sprzętowego?

Istnieje wiele różnych rodzajów uwierzytelniania, w tym hasła, uwierzytelnianie SMS, a nawet aplikacje uwierzytelniające, których możesz używać z telefonem. Mniej popularnym typem jest uwierzytelnianie sprzętowe, które polega na użyciu małego urządzenia typu plug-in do wysłania tokena uwierzytelniającego po wyświetleniu monitu.

instagram viewer

YubiKeys i inne sprzętowe urządzenia uwierzytelniające mają kilka zalet w porównaniu z innymi uwierzytelniaczami. Są łatwiejsze w użyciu, znacznie bezpieczniejsze i prawie niemożliwe do złamania bez dostępu do samego fizycznego klucza YubiKey.

Pierwsze kroki z Yubikey

Możesz zacząć z YubiKey w zaledwie kilku prostych krokach. Jako pierwszy krok powinieneś skorzystać z quizu przygotowanego przez Yubico aby kupić najlepszy YubiKey dla specyfikacji twojego urządzenia. Gdy masz już pod ręką klucz YubiKey, możesz go używać jako urządzenia uwierzytelniającego strony internetowe i aplikacje.

Możesz nawet użyć go do uwierzytelnienia sudo i SSH na komputerze z systemem Linux. Wyjaśnimy wszystko, co musisz wiedzieć o wyborze klucza YubiKey zgodnego z Sudo/SSH i skonfigurowaniu go do uwierzytelniania.

Źródło zdjęcia: Tony Webster/Flickr

Wybór odpowiedniego YubiKey dla twojego systemu

Jeśli chcesz używać klucza YubiKey do uwierzytelniania na komputerze z systemem Linux, istnieje kilka kluczy YubiKey, które wyróżniają się jako doskonałe opcje. YubiKey 5 i YubiKey 5 NFC to klasyki, które dobrze współpracują z systemami odpowiednio z USB-A i USB-C.

Jeśli chcesz używać YubiKey z komputerem z systemem Linux i telefonem z Androidem, powinieneś rozważyć YubiKey 5c NFC. Jeśli masz komputer z systemem Linux i iPhone'a, powinieneś rozważyć YubiKey 5ci, ponieważ obsługuje on USB-C i błyskawice.

Należy zauważyć, że seria YubiHSM nie jest kompatybilna z uwierzytelnianiem sudo. Starsze klucze YubiKeys mogą, ale nie muszą być zgodne z uwierzytelnianiem Sudo/SSH, w zależności od ich specyficznych funkcji.

Przed rozpoczęciem uwierzytelniania sudo lub SSH należy zainstalować YubiKey PPA. Otwórz terminal i wprowadź następujące polecenia, aby zaktualizować pakiety i zainstalować YubiKey Authenticator i YubiKey Manager:

sudo add-apt-repository ppa: yubico/stable
sudo apt-get update
sudo apt zainstaluj yubikey-manager libpam-yubico libpam-u2f

Następnie musisz sprawdzić, czy Twój system jest gotowy do pracy z kluczem YubiKey. Uruchom następujące polecenie w terminalu, aby sprawdzić wersję udev:

sudo udevadm --wersja

Terminal zwróci liczbę. Jeśli liczba wynosi 244 lub więcej, twój system jest kompatybilny z YubiKey. W takim przypadku możesz pominąć następny krok.

W przeciwnym razie będziesz musiał skonfigurować system. Powinieneś użyć następujących poleceń, aby sprawdzić, czy udev jest zainstalowany na twoim komputerze - i zainstalować go, jeśli nie jest:

dpkg -s libu2f-udev
sudo apt zainstaluj libu2f-udev

Następnie sprawdź, czy interfejs U2F twojego YubiKey jest odblokowany. Jeśli masz YubiKey NEO lub YubiKey NEO-n, włóż swój YubiKey, otwórz YubiKey Manager i przejdź do Interfejsy. Włącz Interfejs U2F i naciśnij Ratować.

Skonfiguruj YubiKey do uwierzytelniania sudo w systemie Linux

sudo to jedno z najniebezpieczniejszych poleceń w środowisku Linux. We właściwych rękach zapewnia imponujący poziom dostępu, wystarczający do wykonania większości zadań. W niepowołanych rękach dostęp na poziomie root, który zapewnia sudo, może pozwolić złośliwym użytkownikom na wykorzystanie lub zniszczenie systemu.

Klucze YubiKey doskonale nadają się do uwierzytelniania sudo, ponieważ replikacja ich uwierzytelniania jest prawie niemożliwa bez dostępu do samego klucza YubiKey. Większość YubiKeys jest zgodna z uwierzytelnianiem sudo, w tym 5 FIPs Series, Key Series, 4 FIPs Series, Bio Series, 5 Series i 4 Series.

Według Yubico, pierwszym krokiem, który należy wykonać, aby skonfigurować uwierzytelnianie sudo, jest utworzenie pliku reguł. Jeśli twoja wersja udev to 188 lub nowsza, zainstaluj nowe reguły U2F z GitHub i skopiuj 70-u2f.zasady plik do /etc/udev/rules.d.

Jeśli twoja wersja udev jest niższa niż 188, zainstaluj starsze reguły U2F z GitHub i skopiuj 70-old-u2f.rules plik do /etc/udev/rules.d.

Jeśli twoja wersja udev to 244 lub nowsza lub utworzyłeś niezbędne pliki reguł, możesz połączyć swój klucz YubiKey ze swoim kontem.

Włóż klucz YubiKey do komputera, otwórz terminal i wprowadź następujące polecenia, aby połączyć klucz YubiKey ze swoim kontem:

mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys

Poczekaj kilka chwil, aż lampka kontrolna na twoim YubiKey zacznie migać. Dotknij przycisku na YubiKey, aby potwierdzić połączenie z urządzeniem.

Jeśli masz pod ręką inny YubiKey, powinieneś dodać go jako urządzenie zapasowe, wprowadzając następujące polecenie i wykonując ten sam proces:

pamu2fcfg -n >> ~/.config/Yubico/u2f_keys

Na koniec musisz skonfigurować polecenie sudo, aby wymagało uwierzytelnienia YubiKey. Powinieneś zacząć od wprowadzenia następującego polecenia, aby otworzyć plik konfiguracyjny sudo:

sudo vi /etc/pam.d/sudo

Po otwarciu pliku konfiguracyjnego wklej następujący wiersz tuż pod plikiem @include wspólne uwierzytelnianie wiersz, aby skonfigurować Sudo, aby wymagał uwierzytelnienia YubiKey:

wymagane uwierzytelnienie pam_u2f.so

Zapisz i wyjdź z pliku, naciskając Ucieczka, wpisując :wqi naciskając Wchodzić, ale pozostaw terminal otwarty. Nie będziesz w stanie cofnąć zmian wprowadzonych do uwierzytelniania sudo, jeśli terminal zostanie zamknięty.

Otwórz drugi terminal i uruchom następujące polecenie przy odłączonym YubiKey, a następnie wprowadź hasło:

sudo testowanie echa

Proces uwierzytelniania zakończy się niepowodzeniem. Włóż klucz YubiKey i ponownie wprowadź polecenie oraz hasło. Gdy wskaźnik YubiKey zacznie migać, dotknij przycisku na swoim YubiKey. Powinien uwierzytelnić polecenie. Jeśli tak, Twój YubiKey jest w pełni skonfigurowany do uwierzytelniania sudo.

Źródło zdjęcia: Håkan Dahlström/Flickr

Jak skonfigurować YubiKey do uwierzytelniania SSH

Możesz także użyć YubiKey do uwierzytelnienia SSH! Kilka serii YubiKey jest kompatybilnych z SSH, w tym seria 5 FIPS, seria 5, seria 4 FIPS i seria 4. Używanie YubiKey do uwierzytelniania połączeń pozwoli ci to zrobić sprawiają, że każde logowanie SSH jest znacznie bezpieczniejsze.

Najlepsza metoda konfiguracji YubiKey została opisana przez doświadczonego użytkownika GitHub. Będziesz potrzebował SSH 8.2 lub nowszego i YubiKey z oprogramowaniem układowym 5.2.3 lub nowszym. Możesz sprawdzić swoją wersję OpenSSH — i zaktualizować ją, jeśli to konieczne — za pomocą następujących poleceń:

ssh -V
sudo apt aktualizacja && sudo apt aktualizacja

Następnie musisz skonfigurować SSH, aby zaakceptować swój YubiKey. Wprowadź następujące polecenie, aby otwórz edytor vi i edytuj plik konfiguracyjny:

sudo vi /etc/ssh/sshd_config

Dodaj następujący wiersz do pliku konfiguracyjnego, aby twój YubiKey został zaakceptowany:

PubkeyAcceptedKeyTypes [email protected], [email protected]

Zapisz i wyjdź z pliku, naciskając Ucieczka, wpisując :wqi uderzenie Wchodzić. Na koniec zrestartuj usługę SSH za pomocą następującego polecenia, aby nowa konfiguracja stała się aktywna:

sudo ponowne uruchomienie usługi ssh

Na koniec możesz utworzyć parę kluczy, której będziesz używać do uwierzytelniania SSH. Przejdź do katalogu SSH i utwórz nowy klucz SSH za pomocą następujących poleceń:

cd home/nazwa użytkownika/.ssh
ssh-keygen -t ed25519-sk

Zostaną utworzone dwa pliki w formacie ~/.ssh/ informator. Pamiętaj, że może być konieczne użycie ecdsa-sk zamiast ed25519-sk jeśli twój system jest niekompatybilny, a terminal wyświetla monit o niepowodzenie rejestracji klucza.

Następnie musisz dodać klucz publiczny do swojego serwera za pomocą następującego polecenia:

ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub nazwa_użytkownika@serwer

Powinieneś również dodać się do pliku sudoers, aby zachować uprawnienia po wyłączeniu logowania root. Uzyskaj dostęp do pliku i otwórz go za pomocą visudo.

Nie otwieraj pliku sudoers za pomocą zwykłego edytora tekstu.

Pod wierszem, który brzmi root WSZYSTKO=(WSZYSTKO: WSZYSTKO) WSZYSTKO, dodaj następujący wiersz:

nazwa użytkownika ALL=(ALL: ALL) ALL

Otworzyć /etc/ssh/ssd_config file i dodaj następujące wiersze, aby wyłączyć logowanie root i logowanie oparte na haśle:

WyzwanieOdpowiedźUwierzytelnianie niePermitRootLogin nr

Na koniec wprowadź następujące polecenie, aby załadować klucz do agenta SSH na czas trwania sesji:

ssh-add ~/.ssh/id_ed25519_sk

Możesz teraz używać klucza YubiKey do uwierzytelniania SSH. Po wyświetleniu monitu będziesz musiał włożyć YubiKey do komputera i nacisnąć przycisk, gdy wskaźnik zacznie migać. Dzięki tej nowej metodzie uwierzytelniania dostęp SSH do zdalnego serwera będzie znacznie bezpieczniejszy.

Inne potencjalne zastosowania YubiKey

Nie ma żadnych ograniczeń co do tego, jak możesz używać YubiKey w systemie Linux. Jeśli chcesz, aby Twój komputer był wyjątkowo bezpieczny, rozważ użycie YubiKey do szyfrowania dysku lub bez hasła. Jeśli chcesz, możesz nawet używać go do podpisywania wiadomości e-mail i plików.

Zabezpiecz swój system Linux za pomocą YubiKey

Nie musisz ograniczać się do używania klucza YubiKey do uwierzytelniania SSH i sudo. Możesz także użyć YubiKey do uwierzytelnienia dostępu do wielu swoich kont w Internecie. Najlepsze jest to, że rozpoczęcie pracy z YubiKey 2FA jest prostym procesem.