802.1x +EAP Auth +FreeRadius
802.1x +EAP Auth +FreeRadius
Господа разработчики скажите пожалуста, скоро ли появится поддержка в радиусе аутентификации PAE.
Интересно а как другие выкручиваются в ситуации авторизовывания пользователей на порту коммутатора а не на ВПН. Понятно что использовать внешний радиус тогда вопрос какой посоветуете лучше для freebsd 5.4
Интересно а как другие выкручиваются в ситуации авторизовывания пользователей на порту коммутатора а не на ВПН. Понятно что использовать внешний радиус тогда вопрос какой посоветуете лучше для freebsd 5.4
Последний раз редактировалось kalex Ср май 31, 2006 07:02, всего редактировалось 2 раза.
Установил freeradius 1.1.1 на FreeBSD 5.4, по команде radiusd -x выдает
------
Starting - reading configuration files ...
Using deprecated naslist file. Support for this will go away soon.
Module: Loaded exec
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded MS-CHAP
Module: Instantiated mschap (mschap)
Module: Loaded eap
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type mschapv2
rlm_eap_tls: Loading the certificate file as a chain
rlm_eap: Loaded and initialized type tls
rlm_eap: Loaded and initialized type peap
Module: Instantiated eap (eap)
Module: Loaded preprocess
Module: Instantiated preprocess (preprocess)
Module: Loaded detail
Module: Instantiated detail (auth_log)
Module: Loaded realm
Module: Instantiated realm (IPASS)
Module: Instantiated realm (suffix)
Module: Instantiated realm (ntdomain)
Module: Loaded SQL
------
Вроде все нормально, запускаю, по top видно что процесс запущен но загрузка процессора 99% понять не могу чем радиус грузит. Может у кого уже была такая же ситуация.
------
Starting - reading configuration files ...
Using deprecated naslist file. Support for this will go away soon.
Module: Loaded exec
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded MS-CHAP
Module: Instantiated mschap (mschap)
Module: Loaded eap
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type mschapv2
rlm_eap_tls: Loading the certificate file as a chain
rlm_eap: Loaded and initialized type tls
rlm_eap: Loaded and initialized type peap
Module: Instantiated eap (eap)
Module: Loaded preprocess
Module: Instantiated preprocess (preprocess)
Module: Loaded detail
Module: Instantiated detail (auth_log)
Module: Loaded realm
Module: Instantiated realm (IPASS)
Module: Instantiated realm (suffix)
Module: Instantiated realm (ntdomain)
Module: Loaded SQL
------
Вроде все нормально, запускаю, по top видно что процесс запущен но загрузка процессора 99% понять не могу чем радиус грузит. Может у кого уже была такая же ситуация.
На будущее отвечу если у кого возникнет такая же ситуация...
проблема заключалась в сборке radius 1.1.1 как я ни пытался подружить его с mysql он упорно шел в отказ, в конце концов откатился до версии 1.0.1 где поддержка mysql встала как родная. С другими версиями не стал эксперементировать и так дофига времени потратил в борьбе...
проблема заключалась в сборке radius 1.1.1 как я ни пытался подружить его с mysql он упорно шел в отказ, в конце концов откатился до версии 1.0.1 где поддержка mysql встала как родная. С другими версиями не стал эксперементировать и так дофига времени потратил в борьбе...
Пожалуй мне уже можно открывать театр одного актера 
Или в дурку здавать за тихие беседы с самим собой.....
Итак отчет о работе.... имеем комутаторы с 802.1x Auth - Radius EAP, UTM5, Freeradius 1.1.2, клиентов на Ethernet. Требуется получить авторизацию на порту по 802.1х (при этом на одном порту должны будут авторизироваться несколько клиентов), инвормацию о клиентах брать из базы УТМ сама авторизация в связке логин/пароль/мак адрес.
Начнем с комутатора, включаем на нем собственно протокол 802.1х и выбираем 802.1х как MAC BASE (если конечно комутатор позволяет, это нужно для разрешения только маса на порту при успешной авторизации, иначе успешная откроет весь порт что нам не нужно если на этом порту сидят больше одного клиента.) Выбираем Auth Protocol как RADIUS EAP. Прописываем настройки радиуса это ip адрес, auth и acct порт, секретный ключ. В ключаем на портах комутатора обязательную проверку 802.1х (по умолчанию она выключена) кроме порта который непосредственно соединен с сервером радиус.
Freeradius. весь конфиг приводить смысла нет поэтому так как основные настройки базовые а где делаются изменения я приведу:
[radiusd.conf]
# PROXY CONFIGURATION
proxy_requests = no
#$INCLUDE ${confdir}/proxy.conf
сервер радиус у меня один поэтому прокси оключен
# MODULE CONFIGURATION
modules {
$INCLUDE ${confdir}/eap.conf
mschap {
authtype = MS-CHAP
use_mppe = yes
require_encryption = yes
require_strong = yes
with_ntdomain_hack = yes
}
always fail {
rcode = fail
}
always reject {
rcode = reject
}
always ok {
rcode = ok
simulcount = 0
mpp = no
}
}
instantiate {
}
authorize {
mschap
eap
sql
}
authenticate {
Auth-Type MS-CHAP {
mschap
}
eap
}
preacct {
}
accounting {
}
session {
}
post-auth {
}
pre-proxy {
}
post-proxy {
}
Все ненужное убрано, что не требуется для заданной цели.
[eap.conf]
eap {
default_eap_type = md5
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
# Supported EAP-types
md5 {
}
mschapv2 {
}
}
Здесь убрана поддержка PEAP.
[sql.conf]
приводятся только изменения
nas_table = "nas"
readclients = yes
authorize_check_query = "SELECT ip_groups.id AS id,ip_groups.uname AS login,'Password', ip_groups.upass AS 'values','==' FROM UTM5.ip_groups,UTM5.iptraffic_service_links, UTM5.service_links,UTM5.accounts WHERE ip_groups.uname = '%{SQL-User-Name}' AND REPLACE(REPLACE(UPPER(ip_groups.mac),'-',''),':','')=REPLACE(REPLACE(UPPER('%{Calling-Station-Id}'),'-',''),':','') AND ip_groups.is_deleted = '0' AND iptraffic_servicelinks.is_deleted = '0' AND service_links.is_deleted = '0' AND accounts.is_deleted = '0' AND accounts.int_status = '1' AND ip_groups.ip_group_id = iptraffic_service_links.ip_group_id AND iptraffic_service_links.id = service_links.id AND service_links.account_id = accounts.id ORDER BY ip_groups.id"
authorize_reply_query = "SELECT id,uname,'Framed-IP-Address',INET_NTOA((ip+0x100000000) % 0x100000000) AS ip,'=' FROM UTM5.ip_groups WHERE uname = '%{SQL-User-Name}' AND is_deleted = '0' ORDER BY id DESC"
Операторы REPLACE(REPLACE(UPPER('%{Calling-Station-Id}'),'-',''),':','') приводят мак адрес к верхнему регистру без тире и двоеточий, т.к. разные комутаторы по разному выводят, тоже самое далается и с мак из базы.
Теперь запускаем радиус.
Клиент. Включаем у клиента в настройках проверку подлинности и выбираем тип EAP как MD5-Challenge. Тип Protected EAP (PEAP) мне пока не удалось привязать к маку, проверка идет только по логин/пароль, поэтому для блокирования данного типа авторизации и чтоб клиенты не пользовались учетками других в конфиге eap.conf и был убран PEAP.

Или в дурку здавать за тихие беседы с самим собой.....

Итак отчет о работе.... имеем комутаторы с 802.1x Auth - Radius EAP, UTM5, Freeradius 1.1.2, клиентов на Ethernet. Требуется получить авторизацию на порту по 802.1х (при этом на одном порту должны будут авторизироваться несколько клиентов), инвормацию о клиентах брать из базы УТМ сама авторизация в связке логин/пароль/мак адрес.
Начнем с комутатора, включаем на нем собственно протокол 802.1х и выбираем 802.1х как MAC BASE (если конечно комутатор позволяет, это нужно для разрешения только маса на порту при успешной авторизации, иначе успешная откроет весь порт что нам не нужно если на этом порту сидят больше одного клиента.) Выбираем Auth Protocol как RADIUS EAP. Прописываем настройки радиуса это ip адрес, auth и acct порт, секретный ключ. В ключаем на портах комутатора обязательную проверку 802.1х (по умолчанию она выключена) кроме порта который непосредственно соединен с сервером радиус.
Freeradius. весь конфиг приводить смысла нет поэтому так как основные настройки базовые а где делаются изменения я приведу:
[radiusd.conf]
# PROXY CONFIGURATION
proxy_requests = no
#$INCLUDE ${confdir}/proxy.conf
сервер радиус у меня один поэтому прокси оключен
# MODULE CONFIGURATION
modules {
$INCLUDE ${confdir}/eap.conf
mschap {
authtype = MS-CHAP
use_mppe = yes
require_encryption = yes
require_strong = yes
with_ntdomain_hack = yes
}
always fail {
rcode = fail
}
always reject {
rcode = reject
}
always ok {
rcode = ok
simulcount = 0
mpp = no
}
}
instantiate {
}
authorize {
mschap
eap
sql
}
authenticate {
Auth-Type MS-CHAP {
mschap
}
eap
}
preacct {
}
accounting {
}
session {
}
post-auth {
}
pre-proxy {
}
post-proxy {
}
Все ненужное убрано, что не требуется для заданной цели.
[eap.conf]
eap {
default_eap_type = md5
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
# Supported EAP-types
md5 {
}
mschapv2 {
}
}
Здесь убрана поддержка PEAP.
[sql.conf]
приводятся только изменения
nas_table = "nas"
readclients = yes
authorize_check_query = "SELECT ip_groups.id AS id,ip_groups.uname AS login,'Password', ip_groups.upass AS 'values','==' FROM UTM5.ip_groups,UTM5.iptraffic_service_links, UTM5.service_links,UTM5.accounts WHERE ip_groups.uname = '%{SQL-User-Name}' AND REPLACE(REPLACE(UPPER(ip_groups.mac),'-',''),':','')=REPLACE(REPLACE(UPPER('%{Calling-Station-Id}'),'-',''),':','') AND ip_groups.is_deleted = '0' AND iptraffic_servicelinks.is_deleted = '0' AND service_links.is_deleted = '0' AND accounts.is_deleted = '0' AND accounts.int_status = '1' AND ip_groups.ip_group_id = iptraffic_service_links.ip_group_id AND iptraffic_service_links.id = service_links.id AND service_links.account_id = accounts.id ORDER BY ip_groups.id"
authorize_reply_query = "SELECT id,uname,'Framed-IP-Address',INET_NTOA((ip+0x100000000) % 0x100000000) AS ip,'=' FROM UTM5.ip_groups WHERE uname = '%{SQL-User-Name}' AND is_deleted = '0' ORDER BY id DESC"
Операторы REPLACE(REPLACE(UPPER('%{Calling-Station-Id}'),'-',''),':','') приводят мак адрес к верхнему регистру без тире и двоеточий, т.к. разные комутаторы по разному выводят, тоже самое далается и с мак из базы.
Теперь запускаем радиус.
Клиент. Включаем у клиента в настройках проверку подлинности и выбираем тип EAP как MD5-Challenge. Тип Protected EAP (PEAP) мне пока не удалось привязать к маку, проверка идет только по логин/пароль, поэтому для блокирования данного типа авторизации и чтоб клиенты не пользовались учетками других в конфиге eap.conf и был убран PEAP.
- Raul_Ardzenba
- Сообщения: 12
- Зарегистрирован: Чт ноя 16, 2006 09:36
- Откуда: Сатурн...
- Контактная информация: