Freeradius + Active Directory
Rowley, Mathew
Mathew_Rowley at cable.comcast.com
Wed Oct 20 23:59:49 CEST 2010
I was able to configure FreeRadius/AD differently than most tutorials – just using Kerberos as an authentication mechanism (sorry for any weird formatting, coming from a wiki):
All sample configuration will be for cada dev ula environment
*Pre-Requisite:*
# You have a keytab file for the Kerberos server located at /etc/freeradius/radius.keytab
# Your Kerberos principal username is 'freeradius/mat-desktop.security.lab.company.net'
{code:title=Define kerberos configurations. (/etc/krb5.conf)}
[realms]
COMPANY.NET = {
kdc = kdc01.security.lab.company.net:88
kdc = kdc02.security.lab.company.net:88
admin_server = kdc01.security.lab.company.net:749
}
company.net = {
kdc = kdc01.security.lab.company.net:88
kdc = kdc02.security.lab.company.net:88
admin_server = kdc01.security.lab.company.net:749
}
{code}
_Note: The hostnames MUST resolve through DNS (not /etc/hosts)_
{code:title=Configure the FreeRadius kdc plugin (FREERADIUS_CONFIG_DIR/modules/kdc.conf)}
krb5 {
keytab = /etc/freeradius/radius.keytab
service_principal =freeradius/mat-desktop.security.lab.company.net
}
{code}
{code:title=Add your domain for FreeRadius. (FREERADIUS_CONFIG_DIR/proxy.conf)}
realm company.net {
}
realm COMPANY.NET {
}
{code}
{code:title=Add Kerberos to possible authentication subsystems. (FREERADIUS_CONFIG_DIR/sites-available/default)}
authenticate {
Auth-Type Kerberos {
krb5
}
{code}
_Note: 'Kerberos' is the string used for 'Auth-Type' RADIUS key; it can be anything, but must be matched with RADIUS attribute 'Auth-Type'_
{code:title=Set your Auth-Type for the realm to authenticate against Kerberos (FREERADIUS_CONFIG_DIR/users)}
DEFAULT Realm == "company.net", Auth-Type := Kerberos
DEFAULT Realm == "COMPANY.NET", Auth-Type := Kerberos
{code}
_Note: The ':=' means that the user MUST authenticate using Kerberos_
_Note2: Syntax for users file_
_key \[comparison to request list, assignments to control list\]_
_assignments to reply list #1,_
_assignments to reply list #2,_
_etc._
_Setting "Auth-Type := Kerberos" on the 1st line sets a control item._
_Setting it on the 2nd or subsequent lines sets it in the reply items,_
_where it's meaningless._
Mathew Rowley
IIS Network Security Architecture
From: Rashard Roberts <grroberts at gmail.com<mailto:grroberts at gmail.com>>
Reply-To: FreeRadius users mailing list <freeradius-users at lists.freeradius.org<mailto:freeradius-users at lists.freeradius.org>>
Date: Wed, 20 Oct 2010 17:38:30 -0400
To: <freeradius-devel at lists.freeradius.org<mailto:freeradius-devel at lists.freeradius.org>>
Cc: <freeradius-users at lists.freeradius.org<mailto:freeradius-users at lists.freeradius.org>>
Subject: Freeradius + Active Directory
Hello
I am trying to get Freeradius to authenticate end-user using Active Directory. The end-user will be using be there AD username and password to login to network devices. Would some please help me? I have embedded a copy of the debug log from the radius server.
rad_recv: Access-Request packet from host 192.168.168.252:1645<http://192.168.168.252:1645/>, id=94, length=92
User-Name = "svc-ldap-01 at corp-test"
User-Password = "WindowsXP!"
Service-Type = NAS-Prompt-User
NAS-IP-Address = 192.168.168.252
NAS-Port = 10
Calling-Station-Id = "192.168.168.194"
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
modcall[authorize]: module "preprocess" returns ok for request 0
modcall[authorize]: module "chap" returns noop for request 0
modcall[authorize]: module "mschap" returns noop for request 0
rlm_realm: Looking up realm "corp-test" for User-Name = "svc-ldap-01 at corp-test"
rlm_realm: No such realm "corp-test"
modcall[authorize]: module "suffix" returns noop for request 0
rlm_eap: No EAP-Message, not doing EAP
modcall[authorize]: module "eap" returns noop for request 0
users: Matched entry DEFAULT at line 152
modcall[authorize]: module "files" returns ok for request 0
modcall: leaving group authorize (returns ok) for request 0
rad_check_password: Found Auth-Type System
auth: type "System"
Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 0
modcall[authenticate]: module "unix" returns notfound for request 0
modcall: leaving group authenticate (returns notfound) for request 0
auth: Failed to validate the user.
Delaying request 0 for 1 seconds
Finished request 0
Going to the next request
--- Walking the entire request list ---
Waking up in 1 seconds...
--- Walking the entire request list ---
Waking up in 1 seconds...
--- Walking the entire request list ---
Sending Access-Reject of id 94 to 192.168.168.252 port 1645
Waking up in 4 seconds...
--- Walking the entire request list ---
Cleaning up request 0 ID 94 with timestamp 4cbf5aee
Nothing to do. Sleeping until we see a request.
rad_recv: Access-Request packet from host 192.168.168.252:1645<http://192.168.168.252:1645/>, id=95, length=104
User-Name = "svc-ldap-01 at corp-test.weather.com<mailto:svc-ldap-01 at corp-test.weather.com>"
User-Password = "WindowsXP!"
Service-Type = NAS-Prompt-User
NAS-IP-Address = 192.168.168.252
NAS-Port = 10
Calling-Station-Id = "192.168.168.194"
Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 1
modcall[authorize]: module "preprocess" returns ok for request 1
modcall[authorize]: module "chap" returns noop for request 1
modcall[authorize]: module "mschap" returns noop for request 1
rlm_realm: Looking up realm "corp-test.weather.com<http://corp-test.weather.com/>" for User-Name = "svc-ldap-01 at corp-test.weather.com<mailto:svc-ldap-01 at corp-test.weather.com>"
rlm_realm: No such realm "corp-test.weather.com<http://corp-test.weather.com/>"
modcall[authorize]: module "suffix" returns noop for request 1
rlm_eap: No EAP-Message, not doing EAP
modcall[authorize]: module "eap" returns noop for request 1
users: Matched entry DEFAULT at line 152
modcall[authorize]: module "files" returns ok for request 1
modcall: leaving group authorize (returns ok) for request 1
rad_check_password: Found Auth-Type System
auth: type "System"
Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 1
modcall[authenticate]: module "unix" returns notfound for request 1
modcall: leaving group authenticate (returns notfound) for request 1
auth: Failed to validate the user.
Delaying request 1 for 1 seconds
Finished request 1
Going to the next request
--- Walking the entire request list ---
Waking up in 1 seconds...
--- Walking the entire request list ---
Waking up in 1 seconds...
--- Walking the entire request list ---
Sending Access-Reject of id 95 to 192.168.168.252 port 1645
Waking up in 4 seconds...
--- Walking the entire request list ---
Cleaning up request 1 ID 95 with timestamp 4cbf5b25
Nothing to do. Sleeping until we see a request.- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list