Всем привет!
Ситуация такая, для аутентификации админов при доступе в ОС активного сетевого оборудования используется radius-сервер на freeradius.
Перед вводом в эксплуатацию сервера тестировал его с различными radhuntgroup, ну чтобы можно было делать учетки различным пользователям и они не пересекались в различных назначениях. И вроде бы все отрабатывало, как надо поначалу...
Решили потестировать удаленный доступ с использованием radius-сервера. Для того чтобы нельзя было использовать для удаленного доступа учетки, предназначенные для административного доступа к оборудованию, была заведена новая huntgroup.
Но почему-то ничего не получилось, для VPN и для административного доступа можно использовать все учетки, что не есть хорошо.
Вот debug доступа к сетевому оборудованию с учеткой VPN.
++[preprocess] returns ok
sql_xlat
expand: %{User-Name} -> VPN2
sql_set_user escaped user --> 'VPN2'
expand: SELECT groupname FROM radhuntgroup WHERE nasipaddress='%{NAS-IP-Address}' -> SELECT groupname FROM radhuntgroup WHERE nasipaddress='10.200.2.152'
rlm_sql (sql): Reserving sql socket id: 3
sql_xlat finished
rlm_sql (sql): Released sql socket id: 3
expand: %{sql:SELECT groupname FROM radhuntgroup WHERE nasipaddress='%{NAS-IP-Address}'} -> act_set_oborudovanie# Здесь в preprocess он определяет что NAS принадлежит huntgroup act_set_oborudovanie, что действительно так и есть. Почему же дальше продолжается процесс аутентификации, хотя пользователь VPN2 входит в группу, которая матчит атрибут Huntgroup-Name=VPN_ASA
]++[request] returns ok
[auth_log] expand: /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d -> /var/log/radius/radacct/10.200.2.152/auth-detail-20120111
[auth_log] /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /var/log/radius/radacct/10.200.2.152/auth-detail-20120111
[auth_log] expand: %t -> Wed Jan 11 09:51:18 2012
++[auth_log] returns ok
++[chap] returns noop
++[mschap] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
[sql] expand: %{User-Name} -> VPN2
[sql] sql_set_user escaped user --> 'VPN2'
rlm_sql (sql): Reserving sql socket id: 3
[sql] expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'vpn' ORDER BY id
[sql] User found in radcheck table
[sql] expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'vpn' ORDER BY id
[sql] expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'vpn' ORDER BY priority
[sql] expand: SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = '%{Sql-Group}' ORDER BY id -> SELECT id, groupname, attribute, Value, op FROM radgroupcheck WHERE groupname = 'VPN' ORDER BY id
rlm_sql (sql): Released sql socket id: 3
++[sql] returns ok
++[expiration] returns noop
++[logintime] returns noop
++[pap] returns updated
Found Auth-Type = PAP
# Executing group from file /etc/raddb/sites-enabled/default
+- entering group PAP {...}
[pap] login attempt with password "qwerty123"
[pap] Using clear text password "qwerty123"
[pap] User authenticated successfully
Прошу помочь, если кто сталкивался. Обновлений Radius не делал.