Tania i bezpieczna sieć bezprzewodowa z 802.1x
- Patryk Królikowski,
- 07.01.2008
Samba nie tylko w tańcu
Konfiguracja serwera FreeRADIUS jest nieco bardziej skomplikowana. Zwłaszcza, jeżeli chcemy korzystać z Active Directory. W takim przypadku konieczne będą narzędzia dostępne w serwerze Samby. Przyda się także OpenSSL do wygenerowania odpowiednich certyfikatów. Ale po kolei. Mając postawionego Linuksa, możemy przystąpić do instalacji. Najpierw serwer Samba:
[root@radius ~]# yum install samba
[root@radius ~]# yum install samba-common
[root@radius ~]# yum install samba-client
Potem oprogramowanie OpenSSL:
[root@radius ~]# yum update openssl
i wreszcie serwer FreeRADIUS:
[root@radius ~]# yum install freeradius
Pierwszą czynnością jest przygotowanie połączenia z domeną. W tym celu musimy skonfigurować serwer Samby i zmodyfikować ustawienia usługi Kerberos. W przypadku Samby modyfikacji dokonujemy w pliku smb.conf znajdującym się w katalogu /etc/samba. Można do tego użyć zarówno przypominającego notepada edytora Nano lub trochę bardziej wymyślnego Vi.
1. W pierwszej kolejności należy zaimportować do telefonu certyfikat naszego Urzędu Certyfikacji. Certyfikat powinien być w formacie DER. Najprościej otrzymać taki gotowy do importu certyfikat, eksportując go z Magazynu Certyfikatów systemu Windows (z dowolnej skonfigurowanej stacji klienckiej). Instalacja w telefonie sprowadza się do skopiowania wyeksportowanego certyfikatu np. na kartę pamięci telefonu, a następnie ( za pomocą Menedżera Plików telefonu) uruchomienia pliku certyfikatu.
2. Mając zaimportowany certyfikat, możemy przystąpić do konfiguracji samej sieci bezprzewodowej (Menu -> Narzędzia -> Ustawienia -> Połączenie -> Punkty dostępu -> Nowy punkt dostępu). Musimy więc nazwać nasze połączenie WLAN (u nas Securradius).
3. Teraz czeka nas mozolne wypełnianie poszczególnych pól tak, jak na zrzutach ekranowych poniżej.
4. Dalej musimy wejść w "Ust.zabezp.WLAN" i wybrać tryb WPA - EAP oraz przejść do linii "Ust.EAP plug-in".
5. Tutaj wyłączamy wszystkie protokoły poza EAP-PEAP, który przesuwamy na liście na miejsce pierwsze (Opcje -> Wyższy priorytet). Następnie przystępujemy do jego konfiguracji (Opcje -> Konfiguruj).
6. W zakładce "Ogólne" wskazujemy świeżo zaimportowany certyfikat naszego CA, wskazujemy dziwacznie przetłumaczoną domenę ("Dziedzina") oraz zezwalamy tylko na PEAPv0.
7. W zakładce "EAP" włączamy tylko EAP_MSCHAPv2 i przesuwamy go na miejsce pierwsze. Następnie konfigurujemy EAP_MSCHAPv2 (Opcje -> Konfiguruj).
8. W ostatniej zakładce "Szyfr." wybieramy algorytmy szyfrowania.
Wszystkie zmieniane parametry znajdują się w sekcji [Global]. Najpierw przystosowujemy wartość parametru Workgroup i wprowadzamy nazwę naszej domeny:
workgroup = VM
Następnie musimy włączyć tryb ADS (Active Directory Service) w Sambie, aktywując w ten sposób wsparcie dla Active Directory. W tym celu modyfikujemy linię security:
security = ads
Musimy również wskazać serwer, który pełni rolę kontrolera domeny:
password server = DC.VM.TEST.PL
Dodatkowo określamy samą domenę poprzez dodanie następującej linii:
realm = VM.TEST.PL
Tyle, jeśli chodzi o Sambę, przynajmniej na razie. Przejdźmy teraz do konfiguracji Kerberosa. W CentOS zmian dokonujemy w pliku krb5.conf znajdującym się w katalogu /etc. Nie jest ich wiele. W sekcji [Realms] opisujemy naszą domenę:
VM.TEST.PL {
kdc = DC.VM.TEST.PL
}
Ponieważ FreeRADIUS do uwierzytelniania w domenie wykorzystuje mechanizmy NTLM, musimy zadbać o to, aby nasz serwer zapewniał dla nich wsparcie. Jest ono realizowane poprzez wykorzystanie narzędzia dołączanego do serwera Samby - usługi winbind (demon winbind). Aby udało się uzyskać informacje, takie jak dane użytkowników, poprzez odwołanie się do Active Directory, musimy wskazać naszemu systemowi ich źródło, czyli usługę winbind. Źródła, z których Linuks uzyskuje tego typu informacje, konfigurowane są w pliku nsswitch.conf (Name Service Switch) znajdującym się w katalogu /etc.