Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



14.07.2021

Platforma AQUILA

IBM zaprezentował platformę opartą na sztucznej inteligencji służącą do kompleksowej, w...
14.07.2021

Przenoszenie Javy do chmury

JBoss Enterprise
14.07.2021

Nowe okna

Windows 11
14.07.2021

Monitoring sieci

nVision 12.5
14.07.2021

Automatyczna ochrona

Nowości w FortiEDR
14.07.2021

Seria monitorów...

Firma Newline prezentuje serię monitorów interaktywnych MIRA.
14.07.2021

Modularne routery IoT

Cisco Catalyst
14.07.2021

Nowy poziom pracy

Radeon PRO W6000
14.07.2021

SI w monitoringu

Kamery i-PRO S-Series

Uwierzytelnianie wieloskładnikowe w Ubuntu

Data publikacji: 01-04-2021 Autor: Maciej Olanicki

Grubą przesadą byłoby twierdzić, że uwierzytelnianie z użyciem kilku składników logowania, najczęściej rozproszonych dystrybucyjnie pośród różnych urządzeń, gwarantuje całkowitą skuteczność ochrony konta użytkownika. Niemniej stanowi ono spore utrudnienie dla potencjalnego napastnika. Warto przyjrzeć się zatem, w jaki sposób z MFA można korzystać w najpopularniejszej dystrybucji Linuksa.

 

Pewnym zaskoczeniem może być, że w porównaniu z kontami w różnych usługach internetowych najpopularniejsze systemy operacyjne wykorzystywane na stacjach roboczych oferują domyślnie niewiele pod kątem uwierzytelniania wieloskładnikowego, które przecież może stanowić świetną dodatkową warstwę (a nawet wiele warstw) ochrony dla firmowych kont. Mowa tu nie tylko o linuksowych systemach klasy enterprise, ale także o Windowsie 10 – tam co prawda stosuje się zmyślny mechanizm bazujący na PIN-ach (PIN uprawnia do dostępu do konta, ale tylko do konkretnego konta wyłącznie na danym urządzeniu, ochrona polega więc na nieprzenaszalności danych uwierzytelniających), ale trudno to uznać za pełnoprawne MFA. Problemu nie rozwiązuje także biometria – w wielu przypadkach odcisk palca czy skan twarzy użytkownika nie stanowi dodatkowej warstwy ochrony (tj. składnika uwierzytelniania), lecz zastępuje wszystkie inne, de facto osłabiając bezpieczeństwo konta, zamiast je zwiększać.


Również systemy linuksowe nie mają się czym pochwalić w kwestii obsługi uwierzytelniania wieloskładnikowego zaraz po „czystej” instalacji. Jednak w ich przypadku, przy relatywnie niewielkim nakładzie pracy, można skonfigurować system tak, aby logowanie było dodatkowo uwierzytelniane na różne sposoby – z użyciem tokenów, sprzętowych kluczy uwierzytelniających czy w końcu popularnych aplikacji mobilnych. Z racji tego, że nie każdy dysponuje sprzętowym kluczem, w niniejszym omówieniu prześledzimy scenariusz wdrożenia MFA z użyciem aplikacji Google Authenticator. Jest dostępna zarówno na Androida, jak i iOS-a, nie brakuje również opensource’owych klientów pecetowych, a dostęp do usługi jest całkowicie bezpłatny. Środowiskiem testowym będzie zaś Ubuntu 20.04 LTS – wybór ten motywujemy przede wszystkim popularnością systemu Canonicala w środowiskach enterprise i na stacjach roboczych ekspertów IT, zaś wykorzystanie tej konkretnej wersji wiąże się z popularnością wydań o wydłużonym okresie wsparcia. Według danych producenta aż 95% instalacji Ubuntu to wersje LTS. Warto zaznaczyć, że nasz scenariusz z powodzeniem można odtworzyć także na Ubuntu 18.04 LTS, jak i na Ubuntu 20.10.

 

> PLUGGABLE AUTHENTICATION MODULES


Niezależnie od tego, czy decydujemy się na wykorzystanie fizycznych kluczy, czy aplikacji zewnętrznych, fundamentem wdrożenia uwierzytelniania wieloskładnikowego w Ubuntu będą Pluggable Authentication Modules, czyli PMA (rys.1). Jest to zestaw bibliotek pozwalający na wdrożenie różnych metod uwierzytelniania dla różnych procesów i programów w systemach linuksowych. Zrozumienie mechanizmów uwierzytelniania wykorzystywanych w Linux-PAM będzie przydatne we wdrożeniu konkretnych warstw zabezpieczeń w późniejszych etapach. Jak wskazuje sama nazwa, zestaw bibliotek ma modułową budowę. Proces uwierzytelniania rozbity jest na cztery podstawowe grupy modułów:

 

  • konto (account) – identyfikacja konkretnego użytkownika na podstawie danych uwierzytelniających, jak również weryfikacja dodatkowych informacji, np. okres ważności hasła, sprawdzenie, czy grupa, do której należy użytkownik, dysponuje odpowiednimi uprawnieniami;
  • uwierzytelnianie (auth) – zestaw modułów wykorzystywanych do ustanawiania danych uwierzytelniających użytkownika oraz wskazywania metody uwierzytelniania. To również auth odpowiadają za wysłanie do użytkownika żądań, np. podania hasła, wykorzystania urządzenia uwierzytelniającego czy użycia biometrii;
  • hasło (password) – ściśle powiązana z auth grupa, której zadaniem jest aktualizowanie mechanizmów uwierzytelniania;
  • sesja (session) – grupa zadań realizowanych przed uzyskaniem dostępu do usługi i po wycofaniu dostępu do usługi, np. montowanie folderu domowego użytkownika.

 

W nawiasach podane zostały nazwy kolejnych grup modułów wykorzystywane w pliku konfiguracyjnym Linux-PAM, który znaleźć można w lokalizacji /etc/pam.conf, choć dziś znacznie częściej aplikacje wykorzystują plik /etc/pam.d i to na nim skupimy się w naszym omówieniu. Różnica polega przede wszystkim na tym, że pam.d zawiera osobne pliki konfiguracyjne dla każdej aplikacji wykorzystującej PAM, podczas gdy pam.conf sumuje ogół, niestety kosztem czytelności całego pliku. Zarówno podstawy składni będącej w użyciu w plikach konfiguracyjnych Linux-PAM, jak i optymalną konfigurację dla naszego scenariusza wdrożenia MFA omówimy w dalszej części artykułu.


> GOOGLE AUTHENTICATOR


Czas na instalację Google Authenticatora. Jak wspomniano, aplikacje mobilne dostępne są w Google Play i App Store, ale klienta usługi musimy zainstalować także na stacji roboczej z Ubuntu. Aby tego dokonać, wystarczy zainstalować w systemie pakiet libpam-google-authenticator. Jest on dostępny w oficjalnych repozytoriach Ubuntu, nie ma potrzeby dodawania PPA czy pobierania paczek snap.

 

[...]

 

Dziennikarz, redaktor, bloger. Entuzjasta i popularyzator wolnego oprogramowania. Redaktor prowadzący „IT Professional”.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"