Tania i bezpieczna sieć bezprzewodowa z 802.1x

Dodajemy więc kolejne źródło, czyli winbind, do następujących linii: passwd, shadow, group, protocols, services, netgroup oraz automount (np. passwd: files winbind). Do wykonania pozostaje jeszcze jedna czynność związana z tą usługą. Winbind podczas wykonywania swoich zadań korzysta z katalogu "/var/cache/samba/winbindd_privileged" oraz znajdującego się tam podkatalogu "pipe". Domyślnie uprawnienia do korzystania z tych katalogów ma tylko i wyłącznie konto oraz grupa "root". Jeżeli tych uprawnień nie zmienimy, wówczas, wybiegając nieco w przyszłość, FreeRADIUS nie będzie mógł prawidłowo funkcjonować, będąc uruchamianym w kontekście użytkownika "radiusd". W takiej sytuacji musielibyśmy zmienić kontekst na "roota", a jest to ostatnia rzecz, którą chcielibyśmy zrobić. Nie mamy więc wyboru. Trzeba zmienić uprawnienia na obydwu katalogach tak, aby grupa "radiusd" miała do nich dostęp:

[root@radius ~]# chgrp -R radiusd /var/cache/samba/winbindd_privileged

Po tej operacji możemy dodać demony Samby smbd i nmbd oraz usługę winbind do listy usług uruchamianych podczas startu systemu. Dzięki takiemu narzędziu jak ntvsys, przeprowadzenie tej czynności w CentOS jest niezwykle proste - Ekran 1.

Zrestartujmy teraz serwer i sprawdźmy, czy wszystkie, wskazane przez nas usługi, są aktywne. Łatwo to zrobić:

[root@radius ~]# /etc/init.d/smb status

[root@radius ~]# /etc/init.d/wibind status

Tania i bezpieczna sieć bezprzewodowa z 802.1x

Ekran 3

Koniecznie trzeba przy okazji zadbać o synchronizację czasu naszego serwera z jakimś miarodajnym źródłem, np. serwerem czasu wystawianym przez Centrum Badań Kosmicznych PAN. Czas jest o tyle ważny, że usługa winbind nie wystartuje, jeżeli rozbieżność pomiędzy kontrolerem domeny a naszym serwerem będzie zbyt duża. Żeby tej czynności nie powtarzać, ręcznie skorzystamy ze starego dobrego crona. Wywołujemy zatem:

[root@radius ~]# crontab -e

Następnie ustawiamy:

0-59/10 * * * * /usr/sbin/ntpdate vega.cbk.poznan.pl | logger -t NTP

W ten sposób co 10 minut będziemy synchronizować nasz serwer Radius z serwerem NTP (vega.cbk.poznan.pl), a następnie przesyłać komunikat o tym fakcie do sysloga (plik /var/log/messages). Żeby łatwo było rozeznać się w gąszczu logów, zdarzenie synchronizacji czasu poprzedzimy tagiem "NTP".

Jeżeli wszystko poszło zgodnie z planem, powinniśmy teraz móc podpiąć nasz serwer do domeny:

[root@radius ~]# net join -U Administrator

Podajemy hasło i czekamy na potwierdzenie:

Using short domain name - VM

Joined ‘RADIUS' to realm ‘VM.TEST.PL'

Sukces! Po podpięciu do domeny zobaczmy, czy demon winbind prawidłowo przekazuje informacje o użytkowniku:

[root@radius ~]# wbinfo -a patryk%qazwsx

Powinniśmy otrzymać komunikat o błędzie, będący paradoksalnie znakiem prawidłowego działania demona:

plaintext password authentication failed

error code was NT_STATUS_NO_SUCH_USER (0xc0000064)

error message was: No such user

Could not authenticate user patryk%qazwsx with plaintext password

Tania i bezpieczna sieć bezprzewodowa z 802.1x

Ekran 4

challenge/response password authentication succeeded

Najważniejsza jest ostatnia linia. Mówi ona, że proces uwierzytelniania w trybie challenge/response zakończył się powodzeniem. Jeżeli demon winbind nie może uwierzytelnić użytkownika za pomocą niezaszyfrowanego hasła, wówczas próbuje właśnie tego trybu. Jak na razie, wszystko idzie zgodnie z planem. Pora na chrzest bojowy. Zobaczmy, jak wypadnie uwierzytelnianie poprzez NTLM. Właśnie ten mechanizm będzie wykorzystywany przez FreeRADIUS-a.

[root@radius ~]# ntlm_auth —request-nt-key —domain=VM —username=patryk

password: [podajemy hasło]

NT_STATUS_OK: Success (0x0)

No i znowu pełne zwycięstwo.


TOP 200