Я настраиваю беспроводную сеть для ~ 150 пользователей. Короче говоря, я ищу руководство по настройке сервера RADIUS для аутентификации WPA2 по LDAP. На Ubuntu.
- Я получил работающий LDAP, но, поскольку он не используется в рабочей среде, его можно легко адаптировать к любым изменениям, которые могут потребоваться в этом проекте.
- Я смотрел на FreeRADIUS, но подойдет любой сервер RADIUS.
- У нас есть отдельная физическая сеть только для WiFi, поэтому не стоит беспокоиться о безопасности на этом фронте.
- Наши точки доступа - это корпоративные продукты от HP - кажется, они поддерживают все, о чем вы только можете подумать.
- Весь сервер Ubuntu, детка!
И плохие новости:
- Теперь кто-то менее знающий, чем я, в конце концов возьмет на себя администрирование, поэтому настройка должна быть как можно более «тривиальной».
- Пока что наша установка основана только на программном обеспечении из репозиториев Ubuntu, за исключением нашего веб-приложения для администрирования LDAP и нескольких небольших специальных сценариев. Так что не "извлекайте пакет X, untar, ./configure"-things, если этого можно избежать.
ОБНОВЛЕНИЕ 2009-08-18:
Хотя я нашел несколько полезных ресурсов, есть одно серьезное препятствие:
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.
В основном версия FreeRADIUS для Ubuntu не поддерживает SSL ( ошибка 183840 ), что делает все защищенные типы EAP бесполезными. Облом.
Но некоторые полезные документы для всех, кто заинтересован:
- http://vuksan.com/linux/dot1x/802-1x-LDAP.html
- http://tldp.org/HOWTO/html_single/8021X-HOWTO/#confradius
ОБНОВЛЕНИЕ 2009-08-19:
Вчера вечером я скомпилировал свой собственный пакет FreeRADIUS - на http://www.linuxinsight.com/building-debian-freeradius-package-with-eap-tls-ttls-peap-support.html есть действительно хороший рецепт (см. комментарии к посту для обновленных инструкций).
Я получил сертификат от http://CACert.org (если возможно, вы должны получить «настоящий» сертификат)
Затем я следовал инструкциям по адресу http://vuksan.com/linux/dot1x/802-1x-LDAP.html . Это ссылка на http://tldp.org/HOWTO/html_single/8021X-HOWTO/ , который очень стоит прочитать, если вы хотите знать, как работает безопасность WiFi.
ОБНОВЛЕНИЕ 2009-08-27:
Следуя вышеприведенному руководству, мне удалось заставить FreeRADIUS общаться с LDAP:
Я создал тестового пользователя в LDAP с паролем mr2Yx36M
- это дает запись LDAP примерно из:
uid: testuser
sambaLMPassword: CF3D6F8A92967E0FE72C57EF50F76A05
sambaNTPassword: DA44187ECA97B7C14A22F29F52BEBD90
userPassword: {SSHA}Z0SwaKO5tuGxgxtceRDjiDGFy6bRL6ja
При использовании radtest
могу нормально подключиться:
> 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
>
Но когда я пытаюсь пройти через AP, он не вылетает - хотя он и подтверждает, что вычисляет пароли NT и 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
...
Понятно, что пароли NT и LM отличаются от приведенных выше, но все же сообщение [ldap] user testuser authorized to use remote access
- и пользователь позже отклоняется ...