Konfiguruję sieć bezprzewodową dla ~ 150 użytkowników. Krótko mówiąc, szukam przewodnika, aby ustawić serwer RADIUS do uwierzytelniania WPA2 względem LDAP. Na Ubuntu.
- Mam działający LDAP, ale ponieważ nie jest on wykorzystywany w produkcji, można go bardzo łatwo dostosować do wszelkich zmian, których może wymagać ten projekt.
- Patrzyłem na FreeRADIUS, ale zrobi to każdy serwer RADIUS.
- Mamy oddzielną fizyczną sieć tylko dla Wi-Fi, więc nie ma zbyt wielu obaw o bezpieczeństwo na tym froncie.
- Nasze AP to produkty HP klasy korporacyjnej - wydają się obsługiwać wszystko, co tylko możesz wymyślić.
- Wszystkie serwery Ubuntu, kochanie!
I złe wieści:
- Teraz ktoś mniej kompetentny ode mnie w końcu przejmie administrację, więc konfiguracja musi być jak najbardziej „trywialna”.
- Jak dotąd nasza konfiguracja oparta jest wyłącznie na oprogramowaniu z repozytoriów Ubuntu, z wyjątkiem naszej administracyjnej aplikacji internetowej LDAP i kilku małych specjalnych skryptów. Więc nie "pobierz pakietu X, untar, ./configure"-things, jeśli można tego uniknąć.
AKTUALIZACJA 18.08.2009:
Chociaż znalazłem kilka przydatnych zasobów, jest jedna poważna przeszkoda:
Ignoring EAP-Type/tls because we do not have OpenSSL support.
Ignoring EAP-Type/ttls because we do not have OpenSSL support.
Ignoring EAP-Type/peap because we do not have OpenSSL support.
Zasadniczo wersja FreeRADIUS Ubuntu nie obsługuje SSL ( błąd 183840 ), co czyni wszystkie bezpieczne typy EAP bezużytecznymi. Porażka.
Ale przydatna dokumentacja dla wszystkich zainteresowanych:
- http://vuksan.com/linux/dot1x/802-1x-LDAP.html
- http://tldp.org/HOWTO/html_single/8021X-HOWTO/#confradius
AKTUALIZACJA 2009-08-19:
Wczoraj wieczorem skończyłem kompilowanie własnego pakietu FreeRADIUS - istnieje naprawdę dobry przepis na stronie http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html (zobacz komentarze do wpisu zawierające zaktualizowane instrukcje).
Mam certyfikat z http://CACert.org (prawdopodobnie powinieneś dostać „prawdziwy” certyfikat, jeśli to możliwe)
Następnie postępowałem zgodnie z instrukcjami na stronie http://vuksan.com/linux/dot1x/802-1x-LDAP.html . To łącze do http://tldp.org/HOWTO/html_single/8021X-HOWTO/ , które jest bardzo przydatne, jeśli chcesz wiedzieć, jak działa bezpieczeństwo Wi-Fi.
AKTUALIZACJA 27.08.2009:
Po wykonaniu powyższego przewodnika udało mi się przekonać FreeRADIUS do rozmowy z LDAP:
Utworzyłem użytkownika testowego w LDAP z hasłem mr2Yx36M
- daje to wpis LDAP w przybliżeniu:
uid: testuser
sambaLMPassword: CF3D6F8A92967E0FE72C57EF50F76A05
sambaNTPassword: DA44187ECA97B7C14A22F29F52BEBD90
userPassword: {SSHA}Z0SwaKO5tuGxgxtceRDjiDGFy6bRL6ja
Podczas używania radtest
mogę dobrze połączyć:
> radtest testuser "mr2Yx36N" sbhr.dk 0 radius-private-password
Sending Access-Request of id 215 to 130.225.235.6 port 1812
User-Name = "msiebuhr"
User-Password = "mr2Yx36N"
NAS-IP-Address = 127.0.1.1
NAS-Port = 0
rad_recv: Access-Accept packet from host 130.225.235.6 port 1812, id=215, length=20
>
Ale kiedy próbuję przez AP, nie leci - podczas gdy potwierdza, że rozpoznaje hasła NT i LM:
...
rlm_ldap: sambaNTPassword -> NT-Password == 0x4441343431383745434139374237433134413232463239463532424542443930
rlm_ldap: sambaLMPassword -> LM-Password == 0x4346334436463841393239363745304645373243353745463530463736413035
[ldap] looking for reply items in directory...
WARNING: No "known good" password was found in LDAP. Are you sure that the user is configured correctly?
[ldap] user testuser authorized to use remote access
rlm_ldap: ldap_release_conn: Release Id: 0
++[ldap] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] Normalizing NT-Password from hex encoding
[pap] Normalizing LM-Password from hex encoding
...
Oczywiste jest, że hasła NT i LM różnią się od powyższych, ale komunikat [ldap] user testuser authorized to use remote access
- a użytkownik zostanie później odrzucony ...
Odpowiedzi:
Spróbuję odpowiedzieć na pytanie LDAP tutaj.
Oto krótka odpowiedź: upewnij się, że
ldap
moduł został usunięty zauthenticate
sekcji i upewnij się, żemschap
moduł jest obecny zarównoauthorize
wauthenticate
sekcji, jak i w sekcji. I po prostu zignoruj hasło „Nie„ znane ”dobre hasło”.A oto (bardzo) długa odpowiedź.
Jak działa moduł LDAP?
Gdy aktywujesz
ldap
moduł wauthorize
sekcji, dzieje się tak, gdy FreeRADIUS odbiera pakiet RADIUS:ldap.conf
)ldap.conf
).ldap.attrmap
, i konwertuje je na atrybuty RADIUS.Gdy aktywujesz
ldap
moduł wauthenticate
sekcji, to właśnie robi FreeRADIUS:Radius-Accept
pakiet zostanie odesłany z powrotem do klienta, w przeciwnym razie jest to błąd prowadzący doRadius-Reject
pakietu.Jak więc skonfigurować FreeRADIUS, aby PEAP / MS-CHAP-v2 działał z LDAP?
Ważną kwestią jest to, że wiązanie, ponieważ użytkownik będzie działał tylko wtedy, gdy serwer FreeRADIUS będzie mógł pobrać hasło użytkownika w postaci jawnego tekstu z otrzymanego pakietu RADIUS. Dzieje się tak tylko wtedy, gdy stosowane są metody uwierzytelniania PAP lub TTLS / PAP (i ewentualnie także EAP / GTC). Tylko metoda TTLS / PAP jest naprawdę bezpieczna i domyślnie nie jest dostępna w systemie Windows. Jeśli chcesz, aby Twoi użytkownicy łączyli się z TTLS / PAP, musisz poprosić ich o zainstalowanie oprogramowania suplikanta TTLS, co rzadko jest opcją. Przez większość czasu, gdy wdrażasz WiFi z WPA Enterprise securiy, PEAP / MS-CHAP-v2 jest jedyną rozsądną opcją.
Podsumowując, jeśli nie używasz PAP lub TTLS / PAP, możesz bezpiecznie usunąć
ldap
moduł zauthenticate
sekcji, a właściwie powinieneś: powiązać, ponieważ użytkownik nie będzie działał.Jeśli twój test działa, gdy go używasz
radtest
, prawdopodobnie oznacza to, żeldap
moduł został aktywowany wauthenticate
sekcji: spróbuje się połączyć jako użytkownik, a ponieważ radtest używa uwierzytelnienia PAP, powiedzie się. Ale nie powiedzie się, jeśli spróbujesz połączyć się przez punkt dostępu, ponieważ używasz PEAP / MS-CHAP-v2.Co należy zrobić, to usunąć
ldap
moduł zauthenticate
sekcji i upewnij się, że aktywowałeśmschap
moduł zarównoauthorize
wauthenticate
sekcji, jak i w sekcji. Stanie się tak, żemschap
moduł zajmie się uwierzytelnianiem za pomocąNT-Password
atrybutu, który jest pobierany z serwera LDAP podczasauthorize
fazy.Oto jak
sites-enabled/default
powinien wyglądać Twój plik (bez wszystkich komentarzy):A oto jak
sites-enabled/inner-tunnel
powinien wyglądać twój plik:Co powiesz na ostrzeżenie „Brak„ dobrego ”hasła?
Cóż, możesz to bezpiecznie zignorować. Po prostu dlatego, że
ldap
moduł nie mógł znaleźćUserPassword
atrybutu, gdy pobierał dane użytkownika z serwera LDAP podczasauthorize
fazy. W twoim przypadku masz tenNT-Password
atrybut, i to doskonale nadaje się doPEAP/MS-CHAP-v2
uwierzytelnienia.Wydaje mi się, że ostrzeżenie istnieje, ponieważ kiedy
ldap
moduł został zaprojektowany,PEAP/MS-CHAP-v2
jeszcze nie istniał, więc jedyną rzeczą, która wydawała się wtedy sensowna, było pobranie atrybutu UserPassword z serwera LDAP, aby użyć PAP, CHAP, EAP / MD5 lub takie metody uwierzytelniania.źródło
Spróbuję odpowiedzieć na pytanie OpenSSL tutaj: krótką odpowiedzią jest użycie FreeRADIUS 2.1.8 lub nowszej, która obejmuje OpenSSL . Jest dostępny w backportach Ubuntu Lucid i Debian Lenny (i prawdopodobnie znajdzie się również w backportach Ubuntu Karmic).
Oto długa odpowiedź:
Niestety, licencja OpenSSL była (nieco) niezgodna z licencją FreeRADIUS. Dlatego ludzie Ubuntu zdecydował się zapewnić binarny freeradius nie połączony z OpenSSL. Jeśli chciał EAP / TLS, PEAP lub TTLS, to miał dostać źródła i skompilować je z
--with-openssl
opcją (jak przepis użyłeś wyjaśnia).Ale ostatnio problem z licencjonowaniem został naprawiony . FreeRADIUS w wersji 2.1.8 lub nowszej może być kompilowany i dystrybuowany za pomocą OpenSSL. Zła wiadomość jest taka, że najnowsza stabilna dystrybucja Ubuntu (Karmic Koala) zawiera tylko FreeRADIUS 2.1.0, bez OpenSSL (to samo dotyczy Debiana, ponieważ Lenny zawiera tylko FreeRADIUS 2.0.4). Sprawdziłem backporty Karmic, ale wygląda na to, że FreeRADIUS 2.1.8 lub wyższy nie został jeszcze tam przesłany (ale można go wkrótce dodać, sprawdź tutaj). Na razie musisz przełączyć się na Ubuntu Lucid (który zawiera FreeRADIUS 2.1.8) lub trzymać się kompilacji. Dla użytkowników Debiana sprawy są nieco jaśniejsze: backports Lenny'ego obejmuje FreeRADIUS 2.1.8. Więc jeśli chcesz czegoś bardzo stabilnego, łatwego w instalacji i utrzymaniu, proponuję wdrożyć serwer z Debianem Lennym i zainstalować backportowany pakiet FreeRADIUS (daje również możliwość pisania modułów python za darmo, bez konieczności ponownej kompilacji z wszystkie moduły eksperymentalne).
Jest jedna „gotcha” z „prawdziwymi” certyfikatami (w przeciwieństwie do certyfikatów z podpisem własnym).
Użyłem jednego podpisanego przez Thawte. Działa dobrze, a użytkownicy widzą piękny „ważny” certyfikat o nazwie coś w rodzaju
www.my-web-site.com
. Kiedy użytkownik akceptuje certyfikat, jego komputer w rzeczywistości rozumie, że wszystkie certyfikaty wydane przez ten sam urząd certyfikacji powinny być zaufane (przetestowałem to w systemie Windows Vista i MacOSX Snow Leopard)! Więc w moim przypadku, jeśli haker ma certyfikat, powiedzmy,www.some-other-web-site.com
podpisany również przez Thawte, może łatwo przeprowadzić atak Man-in-the-middle, bez wyświetlania ostrzeżenia na komputerze użytkownika!Rozwiązanie tego leży głęboko w konfiguracji sieci komputera użytkownika, aby konkretnie określić, że należy ufać tylko „www.my-web-site.com”. To zajmuje tylko minutę, ale większość użytkowników nie będzie wiedziała, gdzie to skonfigurować, chyba że dasz im jasną procedurę i upewnisz się, że każdy użytkownik postępuje zgodnie z nią. Nadal używam „ważnych” certyfikatów, ale szczerze mówiąc, rozczarowujące jest to, że zarówno Windows, jak i MacOSX udostępniają ten „błąd”: ufanie urzędowi certyfikacji zamiast konkretnego certyfikatu. Auć...
źródło
Według raportu o błędzie prosta przebudowa FreeRADIUS powinna naprawić problem obsługi OpenSSH. Trzeba to zrobić tylko raz.
Nie jestem pewien, co łatwość administracji ma wspólnego z konfiguracją. Często im bardziej zaangażowana i szczegółowa jest konfiguracja, tym łatwiej jest nią administrować, ponieważ konfiguracja obejmowała wszystkie podstawy. Czy masz na myśli, że konfigurację należy łatwo usunąć na inne serwery? Ile bezprzewodowych sieci LAN konfigurujesz?
Po skonfigurowaniu administracja powinna ograniczać się do dodawania, usuwania i modyfikowania przez użytkownika LDAP. Powinny one być łatwe do skryptu za pomocą ldapmodify (i in.) Lub znalezienia przyzwoitego graficznego interfejsu użytkownika LDAP i udokumentowania procesów za pomocą zrzutów ekranu.
źródło
Natrafiłem na ten sam problem. Musiałem pobrać źródła RADIUS i sam je skompilować.
źródło
Możesz użyć FreeRADIUS2 (z OpenSSL) + EAP-TLS + WPA2-Enterprice. Oto bardzo szczegółowe instrukcje . Windows XP SP3 ma natywną obsługę, a także Windows 7, Android 2.3, iPhone, Symbian. Ale nie wiem o kompatybilności z SLDAP w takim schemacie.
źródło