<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi,<br>
<br>
I get it :-), I needed to enter the following code to the authorize
section in /sites-enabled/default<br>
<br>
<pre style="margin: 0em;">authorize {
...
ntlm_auth
if (ok) {
update control {
Auth-Type := Accept
}
}
...
}
</pre>
<br>
<br>
Am 09.01.2014 09:39, schrieb Carsten Czerner:
<blockquote cite="mid:52CE6059.3010800@leuphana.de" type="cite">Hi,
<br>
<br>
I tried to setup a radius server with ntlm_auth but it didn't
work. I used this howto for the basic setup:
<br>
<br>
<a class="moz-txt-link-freetext" href="http://wiki.freeradius.org/guide/FreeRADIUS-Active-Directory-Integration-HOWTO">http://wiki.freeradius.org/guide/FreeRADIUS-Active-Directory-Integration-HOWTO</a>
<br>
<br>
And I made some progress:
<br>
<br>
- The ntlm_auth returned "ok"
<br>
- The radius_server accepted the pap-auth from the user-file
<br>
<br>
But when I try to enable the ntlm_auth I get these results:
<br>
<br>
+- entering group authorize {...}
<br>
[ntlm_auth] expand: --username=%{mschap:User-Name} ->
--username=peterpan
<br>
[ntlm_auth] expand: --password=%{User-Password} ->
--password=1234567
<br>
Exec-Program output: NT_STATUS_OK: Success (0x0)
<br>
Exec-Program-Wait: plaintext: NT_STATUS_OK: Success (0x0)
<br>
Exec-Program: returned: 0
<br>
++[ntlm_auth] returns ok
<br>
++[preprocess] returns ok
<br>
++[chap] returns noop
<br>
++[mschap] returns noop
<br>
++[digest] returns noop
<br>
[suffix] No '@' in User-Name = "peterpan", looking up realm NULL
<br>
[suffix] No such realm "NULL"
<br>
++[suffix] returns noop
<br>
[eap] No EAP-Message, not doing EAP
<br>
++[eap] returns noop
<br>
++[files] returns noop
<br>
++[expiration] returns noop
<br>
++[logintime] returns noop
<br>
ERROR: No authenticate method (Auth-Type) found for the request:
Rejecting the user
<br>
<br>
Why do I get this error?
<br>
<br>
cat default / inner-tunnel
<br>
<br>
authenticate {
<br>
#
<br>
# PAP authentication, when a back-end database listed
<br>
# in the 'authorize' section supplies a password. The
<br>
# password can be clear-text, or encrypted.
<br>
Auth-Type PAP {
<br>
pap
<br>
}
<br>
Auth-Type ntlm_auth {
<br>
ntlm_auth
<br>
<br>
<br>
Regards
<br>
Carsten
<br>
<br>
<br>
-------------- Complete Log
<br>
<br>
root@rad1:~# freeradius -X
<br>
FreeRADIUS Version 2.1.12, for host x86_64-pc-linux-gnu, built on
Dec 16 2012 at 13:28:43
<br>
Copyright (C) 1999-2009 The FreeRADIUS server project and
contributors.
<br>
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR
A
<br>
PARTICULAR PURPOSE.
<br>
You may redistribute copies of FreeRADIUS under the terms of the
<br>
GNU General Public License v2.
<br>
Starting - reading configuration files ...
<br>
including configuration file /etc/freeradius/radiusd.conf
<br>
including configuration file /etc/freeradius/proxy.conf
<br>
including configuration file /etc/freeradius/clients.conf
<br>
including files in directory /etc/freeradius/modules/
<br>
including configuration file /etc/freeradius/modules/exec
<br>
including configuration file
/etc/freeradius/modules/detail.example.com
<br>
including configuration file /etc/freeradius/modules/radutmp
<br>
including configuration file /etc/freeradius/modules/attr_filter
<br>
including configuration file /etc/freeradius/modules/detail.log
<br>
including configuration file /etc/freeradius/modules/ldap
<br>
including configuration file /etc/freeradius/modules/sql_log
<br>
including configuration file /etc/freeradius/modules/etc_group
<br>
including configuration file /etc/freeradius/modules/detail
<br>
including configuration file /etc/freeradius/modules/smsotp
<br>
including configuration file /etc/freeradius/modules/mschap
<br>
including configuration file /etc/freeradius/modules/ntlm_auth
<br>
including configuration file /etc/freeradius/modules/ippool
<br>
including configuration file /etc/freeradius/modules/mac2vlan
<br>
including configuration file /etc/freeradius/modules/unix
<br>
including configuration file /etc/freeradius/modules/digest
<br>
including configuration file /etc/freeradius/modules/otp
<br>
including configuration file /etc/freeradius/modules/expiration
<br>
including configuration file /etc/freeradius/modules/sradutmp
<br>
including configuration file /etc/freeradius/modules/inner-eap
<br>
including configuration file /etc/freeradius/modules/perl
<br>
including configuration file /etc/freeradius/modules/soh
<br>
including configuration file /etc/freeradius/modules/logintime
<br>
including configuration file /etc/freeradius/modules/rediswho
<br>
including configuration file /etc/freeradius/modules/echo
<br>
including configuration file /etc/freeradius/modules/pap
<br>
including configuration file /etc/freeradius/modules/always
<br>
including configuration file /etc/freeradius/modules/pam
<br>
including configuration file /etc/freeradius/modules/policy
<br>
including configuration file /etc/freeradius/modules/wimax
<br>
including configuration file
/etc/freeradius/modules/dynamic_clients
<br>
including configuration file /etc/freeradius/modules/krb5
<br>
including configuration file
/etc/freeradius/modules/sqlcounter_expire_on_login
<br>
including configuration file /etc/freeradius/modules/checkval
<br>
including configuration file /etc/freeradius/modules/expr
<br>
including configuration file /etc/freeradius/modules/counter
<br>
including configuration file /etc/freeradius/modules/replicate
<br>
including configuration file /etc/freeradius/modules/realm
<br>
including configuration file /etc/freeradius/modules/acct_unique
<br>
including configuration file /etc/freeradius/modules/attr_rewrite
<br>
including configuration file /etc/freeradius/modules/redis
<br>
including configuration file /etc/freeradius/modules/chap
<br>
including configuration file /etc/freeradius/modules/preprocess
<br>
including configuration file /etc/freeradius/modules/opendirectory
<br>
including configuration file /etc/freeradius/modules/mac2ip
<br>
including configuration file /etc/freeradius/modules/linelog
<br>
including configuration file /etc/freeradius/modules/cui
<br>
including configuration file /etc/freeradius/modules/files
<br>
including configuration file /etc/freeradius/modules/passwd
<br>
including configuration file /etc/freeradius/modules/smbpasswd
<br>
including configuration file /etc/freeradius/eap.conf
<br>
including configuration file /etc/freeradius/policy.conf
<br>
including files in directory /etc/freeradius/sites-enabled/
<br>
including configuration file
/etc/freeradius/sites-enabled/inner-tunnel
<br>
including configuration file /etc/freeradius/sites-enabled/default
<br>
main {
<br>
user = "freerad"
<br>
group = "freerad"
<br>
allow_core_dumps = no
<br>
}
<br>
including dictionary file /etc/freeradius/dictionary
<br>
main {
<br>
name = "freeradius"
<br>
prefix = "/usr"
<br>
localstatedir = "/var"
<br>
sbindir = "/usr/sbin"
<br>
logdir = "/var/log/freeradius"
<br>
run_dir = "/var/run/freeradius"
<br>
libdir = "/usr/lib/freeradius"
<br>
radacctdir = "/var/log/freeradius/radacct"
<br>
hostname_lookups = no
<br>
max_request_time = 30
<br>
cleanup_delay = 5
<br>
max_requests = 1024
<br>
pidfile = "/var/run/freeradius/freeradius.pid"
<br>
checkrad = "/usr/sbin/checkrad"
<br>
debug_level = 0
<br>
proxy_requests = yes
<br>
log {
<br>
stripped_names = no
<br>
auth = yes
<br>
auth_badpass = yes
<br>
auth_goodpass = yes
<br>
}
<br>
security {
<br>
max_attributes = 200
<br>
reject_delay = 1
<br>
status_server = yes
<br>
}
<br>
}
<br>
radiusd: #### Loading Realms and Home Servers ####
<br>
proxy server {
<br>
retry_delay = 5
<br>
retry_count = 3
<br>
default_fallback = no
<br>
dead_time = 120
<br>
wake_all_if_all_dead = no
<br>
}
<br>
home_server localhost {
<br>
ipaddr = 127.0.0.1
<br>
port = 1812
<br>
type = "auth"
<br>
secret = "testing123"
<br>
response_window = 20
<br>
max_outstanding = 65536
<br>
require_message_authenticator = yes
<br>
zombie_period = 40
<br>
status_check = "status-server"
<br>
ping_interval = 30
<br>
check_interval = 30
<br>
num_answers_to_alive = 3
<br>
num_pings_to_alive = 3
<br>
revive_interval = 120
<br>
status_check_timeout = 4
<br>
coa {
<br>
irt = 2
<br>
mrt = 16
<br>
mrc = 5
<br>
mrd = 30
<br>
}
<br>
}
<br>
home_server_pool my_auth_failover {
<br>
type = fail-over
<br>
home_server = localhost
<br>
}
<br>
realm example.com {
<br>
auth_pool = my_auth_failover
<br>
}
<br>
realm LOCAL {
<br>
}
<br>
radiusd: #### Loading Clients ####
<br>
client localhost {
<br>
ipaddr = 127.0.0.1
<br>
require_message_authenticator = no
<br>
secret = "testing123"
<br>
nastype = "other"
<br>
}
<br>
client 193.174.32.73 {
<br>
require_message_authenticator = no
<br>
secret = "insecure"
<br>
shortname = "firewall"
<br>
}
<br>
radiusd: #### Instantiating modules ####
<br>
instantiate {
<br>
Module: Linked to module rlm_exec
<br>
Module: Instantiating module "exec" from file
/etc/freeradius/modules/exec
<br>
exec {
<br>
wait = no
<br>
input_pairs = "request"
<br>
shell_escape = yes
<br>
}
<br>
Module: Linked to module rlm_expr
<br>
Module: Instantiating module "expr" from file
/etc/freeradius/modules/expr
<br>
Module: Linked to module rlm_expiration
<br>
Module: Instantiating module "expiration" from file
/etc/freeradius/modules/expiration
<br>
expiration {
<br>
reply-message = "Password Has Expired "
<br>
}
<br>
Module: Linked to module rlm_logintime
<br>
Module: Instantiating module "logintime" from file
/etc/freeradius/modules/logintime
<br>
logintime {
<br>
reply-message = "You are calling outside your allowed
timespan "
<br>
minimum-timeout = 60
<br>
}
<br>
}
<br>
radiusd: #### Loading Virtual Servers ####
<br>
server { # from file /etc/freeradius/radiusd.conf
<br>
modules {
<br>
Module: Creating Auth-Type = NTLM-AUTH
<br>
Module: Creating Auth-Type = digest
<br>
Module: Creating Post-Auth-Type = REJECT
<br>
Module: Checking authenticate {...} for more modules to load
<br>
Module: Linked to module rlm_pap
<br>
Module: Instantiating module "pap" from file
/etc/freeradius/modules/pap
<br>
pap {
<br>
encryption_scheme = "auto"
<br>
auto_header = no
<br>
}
<br>
Module: Instantiating module "ntlm_auth" from file
/etc/freeradius/modules/ntlm_auth
<br>
exec ntlm_auth {
<br>
wait = yes
<br>
program = "/usr/bin/ntlm_auth --request-nt-key
--domain=ADINT.DIR --username=%{mschap:User-Name}
--password=%{User-Password}"
<br>
input_pairs = "request"
<br>
shell_escape = yes
<br>
}
<br>
Module: Linked to module rlm_chap
<br>
Module: Instantiating module "chap" from file
/etc/freeradius/modules/chap
<br>
Module: Linked to module rlm_mschap
<br>
Module: Instantiating module "mschap" from file
/etc/freeradius/modules/mschap
<br>
mschap {
<br>
use_mppe = yes
<br>
require_encryption = no
<br>
require_strong = no
<br>
with_ntdomain_hack = yes
<br>
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key
--username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}}
--challenge=%{%{mschap:Challenge}:-00}
--domain=%{mschap:NT-Domain}
--nt-response=%{%{mschap:NT-Response}:-00}"
<br>
allow_retry = yes
<br>
}
<br>
Module: Linked to module rlm_digest
<br>
Module: Instantiating module "digest" from file
/etc/freeradius/modules/digest
<br>
Module: Linked to module rlm_unix
<br>
Module: Instantiating module "unix" from file
/etc/freeradius/modules/unix
<br>
unix {
<br>
radwtmp = "/var/log/freeradius/radwtmp"
<br>
}
<br>
Module: Linked to module rlm_eap
<br>
Module: Instantiating module "eap" from file
/etc/freeradius/eap.conf
<br>
eap {
<br>
default_eap_type = "peap"
<br>
timer_expire = 60
<br>
ignore_unknown_eap_types = no
<br>
cisco_accounting_username_bug = no
<br>
max_sessions = 4096
<br>
}
<br>
Module: Linked to sub-module rlm_eap_md5
<br>
Module: Instantiating eap-md5
<br>
Module: Linked to sub-module rlm_eap_leap
<br>
Module: Instantiating eap-leap
<br>
Module: Linked to sub-module rlm_eap_gtc
<br>
Module: Instantiating eap-gtc
<br>
gtc {
<br>
challenge = "Password: "
<br>
auth_type = "PAP"
<br>
}
<br>
Module: Linked to sub-module rlm_eap_tls
<br>
Module: Instantiating eap-tls
<br>
tls {
<br>
rsa_key_exchange = no
<br>
dh_key_exchange = yes
<br>
rsa_key_length = 512
<br>
dh_key_length = 512
<br>
verify_depth = 0
<br>
CA_path = "/etc/freeradius/certs"
<br>
pem_file_type = yes
<br>
private_key_file = "/etc/freeradius/certs/server.key"
<br>
certificate_file = "/etc/freeradius/certs/server.pem"
<br>
CA_file = "/etc/freeradius/certs/ca.pem"
<br>
private_key_password = "whatever"
<br>
dh_file = "/etc/freeradius/certs/dh"
<br>
random_file = "/dev/urandom"
<br>
fragment_size = 1024
<br>
include_length = yes
<br>
check_crl = no
<br>
cipher_list = "DEFAULT"
<br>
make_cert_command = "/etc/freeradius/certs/bootstrap"
<br>
ecdh_curve = "prime256v1"
<br>
cache {
<br>
enable = no
<br>
lifetime = 24
<br>
max_entries = 255
<br>
}
<br>
verify {
<br>
}
<br>
ocsp {
<br>
enable = no
<br>
override_cert_url = yes
<br>
url = <a class="moz-txt-link-rfc2396E" href="http://127.0.0.1/ocsp/">"http://127.0.0.1/ocsp/"</a>
<br>
}
<br>
}
<br>
Module: Linked to sub-module rlm_eap_ttls
<br>
Module: Instantiating eap-ttls
<br>
ttls {
<br>
default_eap_type = "md5"
<br>
copy_request_to_tunnel = no
<br>
use_tunneled_reply = no
<br>
virtual_server = "inner-tunnel"
<br>
include_length = yes
<br>
}
<br>
Module: Linked to sub-module rlm_eap_peap
<br>
Module: Instantiating eap-peap
<br>
peap {
<br>
default_eap_type = "mschapv2"
<br>
copy_request_to_tunnel = no
<br>
use_tunneled_reply = no
<br>
proxy_tunneled_request_as_eap = yes
<br>
virtual_server = "inner-tunnel"
<br>
soh = no
<br>
}
<br>
Module: Linked to sub-module rlm_eap_mschapv2
<br>
Module: Instantiating eap-mschapv2
<br>
mschapv2 {
<br>
with_ntdomain_hack = no
<br>
send_error = no
<br>
}
<br>
Module: Checking authorize {...} for more modules to load
<br>
Module: Linked to module rlm_preprocess
<br>
Module: Instantiating module "preprocess" from file
/etc/freeradius/modules/preprocess
<br>
preprocess {
<br>
huntgroups = "/etc/freeradius/huntgroups"
<br>
hints = "/etc/freeradius/hints"
<br>
with_ascend_hack = no
<br>
ascend_channels_per_line = 23
<br>
with_ntdomain_hack = no
<br>
with_specialix_jetstream_hack = no
<br>
with_cisco_vsa_hack = no
<br>
with_alvarion_vsa_hack = no
<br>
}
<br>
Module: Linked to module rlm_realm
<br>
Module: Instantiating module "suffix" from file
/etc/freeradius/modules/realm
<br>
realm suffix {
<br>
format = "suffix"
<br>
delimiter = "@"
<br>
ignore_default = no
<br>
ignore_null = no
<br>
}
<br>
Module: Linked to module rlm_files
<br>
Module: Instantiating module "files" from file
/etc/freeradius/modules/files
<br>
files {
<br>
usersfile = "/etc/freeradius/users"
<br>
acctusersfile = "/etc/freeradius/acct_users"
<br>
preproxy_usersfile = "/etc/freeradius/preproxy_users"
<br>
compat = "no"
<br>
}
<br>
Module: Checking preacct {...} for more modules to load
<br>
Module: Linked to module rlm_acct_unique
<br>
Module: Instantiating module "acct_unique" from file
/etc/freeradius/modules/acct_unique
<br>
acct_unique {
<br>
key = "User-Name, Acct-Session-Id, NAS-IP-Address,
Client-IP-Address, NAS-Port"
<br>
}
<br>
Module: Checking accounting {...} for more modules to load
<br>
Module: Linked to module rlm_detail
<br>
Module: Instantiating module "detail" from file
/etc/freeradius/modules/detail
<br>
detail {
<br>
detailfile =
"/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"<br>
header = "%t"
<br>
detailperm = 384
<br>
dirperm = 493
<br>
locking = no
<br>
log_packet_header = no
<br>
}
<br>
Module: Linked to module rlm_radutmp
<br>
Module: Instantiating module "radutmp" from file
/etc/freeradius/modules/radutmp
<br>
radutmp {
<br>
filename = "/var/log/freeradius/radutmp"
<br>
username = "%{User-Name}"
<br>
case_sensitive = yes
<br>
check_with_nas = yes
<br>
perm = 384
<br>
callerid = yes
<br>
}
<br>
Module: Linked to module rlm_attr_filter
<br>
Module: Instantiating module "attr_filter.accounting_response"
from file /etc/freeradius/modules/attr_filter
<br>
attr_filter attr_filter.accounting_response {
<br>
attrsfile = "/etc/freeradius/attrs.accounting_response"
<br>
key = "%{User-Name}"
<br>
relaxed = no
<br>
}
<br>
Module: Checking session {...} for more modules to load
<br>
Module: Checking post-proxy {...} for more modules to load
<br>
Module: Checking post-auth {...} for more modules to load
<br>
Module: Instantiating module "attr_filter.access_reject" from
file /etc/freeradius/modules/attr_filter
<br>
attr_filter attr_filter.access_reject {
<br>
attrsfile = "/etc/freeradius/attrs.access_reject"
<br>
key = "%{User-Name}"
<br>
relaxed = no
<br>
}
<br>
} # modules
<br>
} # server
<br>
server inner-tunnel { # from file
/etc/freeradius/sites-enabled/inner-tunnel
<br>
modules {
<br>
Module: Checking authenticate {...} for more modules to load
<br>
Module: Checking authorize {...} for more modules to load
<br>
Module: Checking session {...} for more modules to load
<br>
Module: Checking post-proxy {...} for more modules to load
<br>
Module: Checking post-auth {...} for more modules to load
<br>
} # modules
<br>
} # server
<br>
radiusd: #### Opening IP addresses and Ports ####
<br>
listen {
<br>
type = "auth"
<br>
ipaddr = *
<br>
port = 0
<br>
}
<br>
listen {
<br>
type = "acct"
<br>
ipaddr = *
<br>
port = 0
<br>
}
<br>
listen {
<br>
type = "auth"
<br>
ipaddr = 127.0.0.1
<br>
port = 18120
<br>
}
<br>
... adding new socket proxy address * port 35911
<br>
Listening on authentication address * port 1812
<br>
Listening on accounting address * port 1813
<br>
Listening on authentication address 127.0.0.1 port 18120 as server
inner-tunnel
<br>
Listening on proxy address * port 1814
<br>
Ready to process requests.
<br>
rad_recv: Access-Request packet from host 127.0.0.1 port 46572,
id=207, length=78
<br>
User-Name = "peterpan"
<br>
User-Password = "1234567"
<br>
NAS-IP-Address = 127.0.1.1
<br>
NAS-Port = 1812
<br>
Message-Authenticator = 0x20147fc89d9fff841e5fa13785e48b9a
<br>
# Executing section authorize from file
/etc/freeradius/sites-enabled/default
<br>
+- entering group authorize {...}
<br>
[ntlm_auth] expand: --username=%{mschap:User-Name} ->
--username=peterpan
<br>
[ntlm_auth] expand: --password=%{User-Password} ->
--password=1234567
<br>
Exec-Program output: NT_STATUS_OK: Success (0x0)
<br>
Exec-Program-Wait: plaintext: NT_STATUS_OK: Success (0x0)
<br>
Exec-Program: returned: 0
<br>
++[ntlm_auth] returns ok
<br>
++[preprocess] returns ok
<br>
++[chap] returns noop
<br>
++[mschap] returns noop
<br>
++[digest] returns noop
<br>
[suffix] No '@' in User-Name = "peterpan", looking up realm NULL
<br>
[suffix] No such realm "NULL"
<br>
++[suffix] returns noop
<br>
[eap] No EAP-Message, not doing EAP
<br>
++[eap] returns noop
<br>
++[files] returns noop
<br>
++[expiration] returns noop
<br>
++[logintime] returns noop
<br>
ERROR: No authenticate method (Auth-Type) found for the request:
Rejecting the user
<br>
Failed to authenticate the user.
<br>
Login incorrect: [peterpan/1234567] (from client localhost port
1812)
<br>
Using Post-Auth-Type Reject
<br>
# Executing group from file /etc/freeradius/sites-enabled/default
<br>
+- entering group REJECT {...}
<br>
[attr_filter.access_reject] expand: %{User-Name} ->
peterpan
<br>
attr_filter: Matched entry DEFAULT at line 11
<br>
++[attr_filter.access_reject] returns updated
<br>
Delaying reject of request 0 for 1 seconds
<br>
Going to the next request
<br>
Waking up in 0.9 seconds.
<br>
Sending delayed reject for request 0
<br>
Sending Access-Reject of id 207 to 127.0.0.1 port 46572
<br>
Waking up in 4.9 seconds.
<br>
Cleaning up request 0 ID 207 with timestamp +5
<br>
Ready to process requests.
<br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">-
List info/subscribe/unsubscribe? See <a class="moz-txt-link-freetext" href="http://www.freeradius.org/list/users.html">http://www.freeradius.org/list/users.html</a></pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
</pre>
</body>
</html>