Restricting users to their own devices
Sudheer Satyanarayana
sudheer at techchorus.net
Thu Apr 25 09:56:15 CEST 2019
On 22/04/19 10:07 PM, Alan DeKok wrote:
> On Apr 22, 2019, at 12:10 PM, Sudheer S <sudheer at techchorus.net> wrote:
>> I am using Freeraidius and I want to restrict users to their own devices.
>>
>> I have inserted the Mac addresses of the users in radcheck table with the attribute Calling-Station-Id. Here's an example:
>>
>> SELECT * FROM radcheck;
>> id | username | attribute | op | value
>> -------+------------+--------------------+----+--------------
>> 23175 | testuser01 | Cleartext-Password | := | password
>> 23177 | testuser01 | Calling-Station-Id | := | aabbccddeefa
>> 23178 | testuser01 | Calling-Station-Id | := | aabbccddeeff
>>
>> In this case, the user testuser01 has two devices. aabbccddeefa and aabbccddeeff are their respective mac addresses.
> No.
>
> Read the Wiki for rlm_sql to see how it works. You're using the ":=" operator, which means you're *setting* the Calling-Station-Id, not *checking* it.
I did the following:
1. Removed the custom query and unlang
2. Used the operator == instead of := in radcheck for the attribute
Calling-Station-Id
3. In eap, peap section, set
copy_request_to_tunnel = yes
use_tunneled_reply = yes
Expectation: A user might have one or more devices. As part of
on-boarding process, the mac address of each user's device is inserted
into radcheck table with the attribute Calling-Station-Id. Freeradius
authorizes users only if they login using one of their own devices.
Problem: Freeradius does not authorize user if there is more than one
entry with the attribute Calling-Station-Id for the user.
When there is one row in the table radcheck with the attribute
Calling-Station-Id for the given user, it works as expected.
SELECT * FROM radcheck;
id | username | attribute | op | value
----+----------+--------------------+----+--------------
8 | testuser01 | Cleartext-Password | := | password
9 | testuser01 | Calling-Station-Id | == | 70bbe9363cbc
When there are two rows with the attribute Calling-Station-Id, the
authentication fails:
SELECT * FROM radcheck;
id | username | attribute | op | value
----+------------+--------------------+----+--------------
8 | testuser01 | Cleartext-Password | := | password
26 | testuser01 | Calling-Station-Id | == | 70bbe9363cbc
27 | testuser01 | Calling-Station-Id | == | 70bbe9363cbd
Does having two rows with attribute Calling-Station-Id a problem? Or is
it a configuration error on my side? Do I need custom unlang and query
to restrict users to their own devices?
Here's the debug output:
FreeRADIUS Version 3.0.13
Copyright (C) 1999-2017 The FreeRADIUS server project and contributors
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE
You may redistribute copies of FreeRADIUS under the terms of the
GNU General Public License
For more information about these matters, see the file named COPYRIGHT
Starting - reading configuration files ...
including dictionary file /usr/share/freeradius/dictionary
including dictionary file /usr/share/freeradius/dictionary.dhcp
including dictionary file /usr/share/freeradius/dictionary.vqp
including dictionary file /etc/raddb/dictionary
including configuration file /etc/raddb/radiusd.conf
including configuration file /etc/raddb/proxy.conf
including files in directory /etc/raddb/mods-enabled/
including configuration file /etc/raddb/mods-enabled/always
including configuration file /etc/raddb/mods-enabled/attr_filter
including configuration file /etc/raddb/mods-enabled/cache_eap
including configuration file /etc/raddb/mods-enabled/chap
including configuration file /etc/raddb/mods-enabled/date
including configuration file /etc/raddb/mods-enabled/detail
including configuration file /etc/raddb/mods-enabled/detail.log
including configuration file /etc/raddb/mods-enabled/dhcp
including configuration file /etc/raddb/mods-enabled/digest
including configuration file /etc/raddb/mods-enabled/dynamic_clients
including configuration file /etc/raddb/mods-enabled/eap
including configuration file /etc/raddb/mods-enabled/echo
including configuration file /etc/raddb/mods-enabled/exec
including configuration file /etc/raddb/mods-enabled/expiration
including configuration file /etc/raddb/mods-enabled/expr
including configuration file /etc/raddb/mods-enabled/files
including configuration file /etc/raddb/mods-enabled/linelog
including configuration file /etc/raddb/mods-enabled/logintime
including configuration file /etc/raddb/mods-enabled/mschap
including configuration file /etc/raddb/mods-enabled/ntlm_auth
including configuration file /etc/raddb/mods-enabled/pap
including configuration file /etc/raddb/mods-enabled/passwd
including configuration file /etc/raddb/mods-enabled/preprocess
including configuration file /etc/raddb/mods-enabled/radutmp
including configuration file /etc/raddb/mods-enabled/realm
including configuration file /etc/raddb/mods-enabled/replicate
including configuration file /etc/raddb/mods-enabled/soh
including configuration file /etc/raddb/mods-enabled/sradutmp
including configuration file /etc/raddb/mods-enabled/unix
including configuration file /etc/raddb/mods-enabled/unpack
including configuration file /etc/raddb/mods-enabled/utf8
including configuration file /etc/raddb/mods-enabled/sql
including configuration file
/etc/raddb/mods-config/sql/main/postgresql/queries.conf
including files in directory /etc/raddb/policy.d/
including configuration file /etc/raddb/policy.d/accounting
including configuration file /etc/raddb/policy.d/canonicalization
including configuration file /etc/raddb/policy.d/control
including configuration file /etc/raddb/policy.d/cui
including configuration file /etc/raddb/policy.d/debug
including configuration file /etc/raddb/policy.d/dhcp
including configuration file /etc/raddb/policy.d/eap
including configuration file /etc/raddb/policy.d/filter
including configuration file /etc/raddb/policy.d/operator-name
including files in directory /etc/raddb/sites-enabled/
including configuration file /etc/raddb/sites-enabled/default
including configuration file /etc/raddb/sites-enabled/inner-tunnel
main {
security {
user = "radiusd"
group = "radiusd"
allow_core_dumps = no
}
name = "radiusd"
prefix = "/usr"
localstatedir = "/var"
logdir = "/var/log/radius"
run_dir = "/var/run/radiusd"
}
main {
name = "radiusd"
prefix = "/usr"
localstatedir = "/var"
sbindir = "/usr/sbin"
logdir = "/var/log/radius"
run_dir = "/var/run/radiusd"
libdir = "/usr/lib64/freeradius"
radacctdir = "/var/log/radius/radacct"
hostname_lookups = no
max_request_time = 30
cleanup_delay = 5
max_requests = 16384
pidfile = "/var/run/radiusd/radiusd.pid"
checkrad = "/usr/sbin/checkrad"
debug_level = 0
proxy_requests = yes
log {
stripped_names = no
auth = no
auth_badpass = no
auth_goodpass = no
colourise = yes
msg_denied = "You are already logged in - access denied"
}
resources {
}
security {
max_attributes = 200
reject_delay = 1.000000
status_server = yes
}
}
radiusd: #### Loading Realms and Home Servers ####
proxy server {
retry_delay = 5
retry_count = 3
default_fallback = no
dead_time = 120
wake_all_if_all_dead = no
}
home_server localhost {
ipaddr = 127.0.0.1
port = 1812
type = "auth"
secret = <<< secret >>>
response_window = 20.000000
response_timeouts = 1
max_outstanding = 65536
zombie_period = 40
status_check = "status-server"
ping_interval = 30
check_interval = 30
check_timeout = 4
num_answers_to_alive = 3
revive_interval = 120
limit {
max_connections = 16
max_requests = 0
lifetime = 0
idle_timeout = 0
}
coa {
irt = 2
mrt = 16
mrc = 5
mrd = 30
}
}
home_server_pool my_auth_failover {
type = fail-over
home_server = localhost
}
realm example.com {
auth_pool = my_auth_failover
}
realm LOCAL {
}
radiusd: #### Loading Clients ####
Debugger not attached
# Creating Auth-Type = mschap
# Creating Auth-Type = digest
# Creating Auth-Type = eap
# Creating Auth-Type = PAP
# Creating Auth-Type = CHAP
# Creating Auth-Type = MS-CHAP
radiusd: #### Instantiating modules ####
modules {
# Loaded module rlm_always
# Loading module "reject" from file /etc/raddb/mods-enabled/always
always reject {
rcode = "reject"
simulcount = 0
mpp = no
}
# Loading module "fail" from file /etc/raddb/mods-enabled/always
always fail {
rcode = "fail"
simulcount = 0
mpp = no
}
# Loading module "ok" from file /etc/raddb/mods-enabled/always
always ok {
rcode = "ok"
simulcount = 0
mpp = no
}
# Loading module "handled" from file /etc/raddb/mods-enabled/always
always handled {
rcode = "handled"
simulcount = 0
mpp = no
}
# Loading module "invalid" from file /etc/raddb/mods-enabled/always
always invalid {
rcode = "invalid"
simulcount = 0
mpp = no
}
# Loading module "userlock" from file /etc/raddb/mods-enabled/always
always userlock {
rcode = "userlock"
simulcount = 0
mpp = no
}
# Loading module "notfound" from file /etc/raddb/mods-enabled/always
always notfound {
rcode = "notfound"
simulcount = 0
mpp = no
}
# Loading module "noop" from file /etc/raddb/mods-enabled/always
always noop {
rcode = "noop"
simulcount = 0
mpp = no
}
# Loading module "updated" from file /etc/raddb/mods-enabled/always
always updated {
rcode = "updated"
simulcount = 0
mpp = no
}
# Loaded module rlm_attr_filter
# Loading module "attr_filter.post-proxy" from file
/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.post-proxy {
filename = "/etc/raddb/mods-config/attr_filter/post-proxy"
key = "%{Realm}"
relaxed = no
}
# Loading module "attr_filter.pre-proxy" from file
/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.pre-proxy {
filename = "/etc/raddb/mods-config/attr_filter/pre-proxy"
key = "%{Realm}"
relaxed = no
}
# Loading module "attr_filter.access_reject" from file
/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.access_reject {
filename = "/etc/raddb/mods-config/attr_filter/access_reject"
key = "%{User-Name}"
relaxed = no
}
# Loading module "attr_filter.access_challenge" from file
/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.access_challenge {
filename = "/etc/raddb/mods-config/attr_filter/access_challenge"
key = "%{User-Name}"
relaxed = no
}
# Loading module "attr_filter.accounting_response" from file
/etc/raddb/mods-enabled/attr_filter
attr_filter attr_filter.accounting_response {
filename = "/etc/raddb/mods-config/attr_filter/accounting_response"
key = "%{User-Name}"
relaxed = no
}
# Loaded module rlm_cache
# Loading module "cache_eap" from file /etc/raddb/mods-enabled/cache_eap
cache cache_eap {
driver = "rlm_cache_rbtree"
key = "%{%{control:State}:-%{%{reply:State}:-%{State}}}"
ttl = 15
max_entries = 0
epoch = 0
add_stats = no
}
# Loaded module rlm_chap
# Loading module "chap" from file /etc/raddb/mods-enabled/chap
# Loaded module rlm_date
# Loading module "date" from file /etc/raddb/mods-enabled/date
date {
format = "%b %e %Y %H:%M:%S %Z"
}
# Loaded module rlm_detail
# Loading module "detail" from file /etc/raddb/mods-enabled/detail
detail {
filename =
"/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "auth_log" from file /etc/raddb/mods-enabled/detail.log
detail auth_log {
filename =
"/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "reply_log" from file /etc/raddb/mods-enabled/detail.log
detail reply_log {
filename =
"/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/reply-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "pre_proxy_log" from file
/etc/raddb/mods-enabled/detail.log
detail pre_proxy_log {
filename =
"/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/pre-proxy-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loading module "post_proxy_log" from file
/etc/raddb/mods-enabled/detail.log
detail post_proxy_log {
filename =
"/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/post-proxy-detail-%Y%m%d"
header = "%t"
permissions = 384
locking = no
escape_filenames = no
log_packet_header = no
}
# Loaded module rlm_dhcp
# Loading module "dhcp" from file /etc/raddb/mods-enabled/dhcp
# Loaded module rlm_digest
# Loading module "digest" from file /etc/raddb/mods-enabled/digest
# Loaded module rlm_dynamic_clients
# Loading module "dynamic_clients" from file
/etc/raddb/mods-enabled/dynamic_clients
# Loaded module rlm_eap
# Loading module "eap" from file /etc/raddb/mods-enabled/eap
eap {
default_eap_type = "md5"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 16384
}
# Loaded module rlm_exec
# Loading module "echo" from file /etc/raddb/mods-enabled/echo
exec echo {
wait = yes
program = "/bin/echo %{User-Name}"
input_pairs = "request"
output_pairs = "reply"
shell_escape = yes
}
# Loading module "exec" from file /etc/raddb/mods-enabled/exec
exec {
wait = no
input_pairs = "request"
shell_escape = yes
timeout = 10
}
# Loaded module rlm_expiration
# Loading module "expiration" from file
/etc/raddb/mods-enabled/expiration
# Loaded module rlm_expr
# Loading module "expr" from file /etc/raddb/mods-enabled/expr
expr {
safe_characters =
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_:
/äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
}
# Loaded module rlm_files
# Loading module "files" from file /etc/raddb/mods-enabled/files
files {
filename = "/etc/raddb/mods-config/files/authorize"
acctusersfile = "/etc/raddb/mods-config/files/accounting"
preproxy_usersfile = "/etc/raddb/mods-config/files/pre-proxy"
}
# Loaded module rlm_linelog
# Loading module "linelog" from file /etc/raddb/mods-enabled/linelog
linelog {
filename = "/var/log/radius/linelog"
escape_filenames = no
syslog_severity = "info"
permissions = 384
format = "This is a log message for %{User-Name}"
reference = "messages.%{%{reply:Packet-Type}:-default}"
}
# Loading module "log_accounting" from file
/etc/raddb/mods-enabled/linelog
linelog log_accounting {
filename = "/var/log/radius/linelog-accounting"
escape_filenames = no
syslog_severity = "info"
permissions = 384
format = ""
reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
}
# Loaded module rlm_logintime
# Loading module "logintime" from file /etc/raddb/mods-enabled/logintime
logintime {
minimum_timeout = 60
}
# Loaded module rlm_mschap
# Loading module "mschap" from file /etc/raddb/mods-enabled/mschap
mschap {
use_mppe = yes
require_encryption = no
require_strong = no
with_ntdomain_hack = yes
passchange {
}
allow_retry = yes
winbind_retry_with_normalised_username = no
}
# Loading module "ntlm_auth" from file /etc/raddb/mods-enabled/ntlm_auth
exec ntlm_auth {
wait = yes
program = "/path/to/ntlm_auth --request-nt-key --domain=MYDOMAIN
--username=%{mschap:User-Name} --password=%{User-Password}"
shell_escape = yes
}
# Loaded module rlm_pap
# Loading module "pap" from file /etc/raddb/mods-enabled/pap
pap {
normalise = yes
}
# Loaded module rlm_passwd
# Loading module "etc_passwd" from file /etc/raddb/mods-enabled/passwd
passwd etc_passwd {
filename = "/etc/passwd"
format = "*User-Name:Crypt-Password:"
delimiter = ":"
ignore_nislike = no
ignore_empty = yes
allow_multiple_keys = no
hash_size = 100
}
# Loaded module rlm_preprocess
# Loading module "preprocess" from file
/etc/raddb/mods-enabled/preprocess
preprocess {
huntgroups = "/etc/raddb/mods-config/preprocess/huntgroups"
hints = "/etc/raddb/mods-config/preprocess/hints"
with_ascend_hack = no
ascend_channels_per_line = 23
with_ntdomain_hack = no
with_specialix_jetstream_hack = no
with_cisco_vsa_hack = no
with_alvarion_vsa_hack = no
}
# Loaded module rlm_radutmp
# Loading module "radutmp" from file /etc/raddb/mods-enabled/radutmp
radutmp {
filename = "/var/log/radius/radutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
permissions = 384
caller_id = yes
}
# Loaded module rlm_realm
# Loading module "IPASS" from file /etc/raddb/mods-enabled/realm
realm IPASS {
format = "prefix"
delimiter = "/"
ignore_default = no
ignore_null = no
}
# Loading module "suffix" from file /etc/raddb/mods-enabled/realm
realm suffix {
format = "suffix"
delimiter = "@"
ignore_default = no
ignore_null = no
}
# Loading module "realmpercent" from file /etc/raddb/mods-enabled/realm
realm realmpercent {
format = "suffix"
delimiter = "%"
ignore_default = no
ignore_null = no
}
# Loading module "ntdomain" from file /etc/raddb/mods-enabled/realm
realm ntdomain {
format = "prefix"
delimiter = "\\"
ignore_default = no
ignore_null = no
}
# Loaded module rlm_replicate
# Loading module "replicate" from file /etc/raddb/mods-enabled/replicate
# Loaded module rlm_soh
# Loading module "soh" from file /etc/raddb/mods-enabled/soh
soh {
dhcp = yes
}
# Loading module "sradutmp" from file /etc/raddb/mods-enabled/sradutmp
radutmp sradutmp {
filename = "/var/log/radius/sradutmp"
username = "%{User-Name}"
case_sensitive = yes
check_with_nas = yes
permissions = 420
caller_id = no
}
# Loaded module rlm_unix
# Loading module "unix" from file /etc/raddb/mods-enabled/unix
unix {
radwtmp = "/var/log/radius/radwtmp"
}
Creating attribute Unix-Group
# Loaded module rlm_unpack
# Loading module "unpack" from file /etc/raddb/mods-enabled/unpack
# Loaded module rlm_utf8
# Loading module "utf8" from file /etc/raddb/mods-enabled/utf8
# Loaded module rlm_sql
# Loading module "sql" from file /etc/raddb/mods-enabled/sql
sql {
driver = "rlm_sql_postgresql"
server = ""
port = 0
login = ""
password = <<< secret >>>
radius_db = "dbname=gradius host=localhost user=gradius
password=password"
read_groups = yes
read_profiles = yes
read_clients = yes
delete_stale_sessions = yes
sql_user_name = "%{User-Name}"
logfile = "/var/log/radius/sqllog.sql"
default_user_profile = ""
client_query = "SELECT id, nasname, shortname, type, secret,
server FROM nas"
authorize_check_query = "SELECT id, username, attribute, value,
op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id"
authorize_reply_query = "SELECT id, userName, attribute, value,
op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id"
authorize_group_check_query = "SELECT id, group_name, attribute,
value, op FROM radgroupcheck WHERE group_name = '%{SQL-Group}' ORDER BY id"
authorize_group_reply_query = "SELECT id, group_name, attribute,
value, op FROM radgroupreply WHERE group_name = '%{SQL-Group}' ORDER BY id"
group_membership_query = "SELECT group_name FROM radusergroup
WHERE username='%{SQL-User-Name}' ORDER BY priority"
simul_count_query = "SELECT COUNT(*) FROM radacct WHERE
username='%{SQL-User-Name}' AND acct_stop_time IS NULL"
simul_verify_query = "SELECT rad_acct_id, acct_session_id,
username, nas_ip_address, nas_port_id, framed_ip_address,
calling_station_id, framed_protocol FROM radacct WHERE
username='%{SQL-User-Name}' AND acct_stop_time IS NULL"
safe_characters =
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
query_timeout = 5
accounting {
reference = "%{tolower:type.%{%{Acct-Status-Type}:-none}.query}"
type {
accounting-on {
query = "UPDATE radacct SET acct_stop_time =
TO_TIMESTAMP(%{integer:Event-Timestamp}), acct_update_time =
TO_TIMESTAMP(%{integer:Event-Timestamp}), acct_session_time =
(%{integer:Event-Timestamp} - EXTRACT(EPOCH FROM(acct_start_time))),
acct_terminate_cause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE
acct_stop_time IS NULL AND nas_ip_address=
'%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}}' AND acct_start_time <=
'%S'::timestamp"
}
accounting-off {
query = "UPDATE radacct SET acct_stop_time =
TO_TIMESTAMP(%{integer:Event-Timestamp}), acct_update_time =
TO_TIMESTAMP(%{integer:Event-Timestamp}), acct_session_time =
(%{integer:Event-Timestamp} - EXTRACT(EPOCH FROM(acct_start_time))),
acct_terminate_cause = '%{%{Acct-Terminate-Cause}:-NAS-Reboot}' WHERE
acct_stop_time IS NULL AND nas_ip_address=
'%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}}' AND acct_start_time <=
'%S'::timestamp"
}
start {
query = "INSERT INTO radacct (acct_session_id, acct_unique_id,
username, realm, nas_ip_address, nas_port_id, nas_port_type,
acct_start_time, acct_update_time, acct_stop_time, acct_session_time,
acct_authentic, connect_info_start, connect_info_stop,
acct_input_octets, acct_output_octets, called_station_id,
calling_station_id, acct_terminate_cause, service_type, framed_protocol,
framed_ip_address) VALUES('%{Acct-Session-Id}',
'%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', NULLIF('%{Realm}', ''),
'%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}}',
NULLIF('%{%{NAS-Port-ID}:-%{NAS-Port}}', ''), '%{NAS-Port-Type}',
TO_TIMESTAMP(%{integer:Event-Timestamp}),
TO_TIMESTAMP(%{integer:Event-Timestamp}), NULL, 0, '%{Acct-Authentic}',
'%{Connect-Info}', NULL, 0, 0, '%{Called-Station-Id}',
'%{Calling-Station-Id}', NULL, '%{Service-Type}', '%{Framed-Protocol}',
NULLIF('%{Framed-IP-Address}', '')::inet)"
}
interim-update {
query = "UPDATE radacct SET framed_ip_address =
NULLIF('%{Framed-IP-Address}', '')::inet, acct_session_time =
%{%{Acct-Session-Time}:-NULL}, acct_interval =
(%{integer:Event-Timestamp} - EXTRACT(EPOCH FROM
(COALESCE(acct_update_time, acct_start_time)))), acct_update_time =
TO_TIMESTAMP(%{integer:Event-Timestamp}), acct_input_octets =
(('%{%{Acct-Input-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Input-Octets}:-0}'::bigint), acct_output_octets =
(('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Output-Octets}:-0}'::bigint) WHERE acct_unique_id =
'%{Acct-Unique-Session-Id}' AND acct_stop_time IS NULL"
}
stop {
query = "UPDATE radacct SET acct_stop_time =
TO_TIMESTAMP(%{integer:Event-Timestamp}), acct_update_time =
TO_TIMESTAMP(%{integer:Event-Timestamp}), acct_session_time =
COALESCE(%{%{Acct-Session-Time}:-NULL}, (%{integer:Event-Timestamp} -
EXTRACT(EPOCH FROM(acct_start_time)))), acct_input_octets =
(('%{%{Acct-Input-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Input-Octets}:-0}'::bigint), acct_output_octets =
(('%{%{Acct-Output-Gigawords}:-0}'::bigint << 32) +
'%{%{Acct-Output-Octets}:-0}'::bigint), acct_terminate_cause =
'%{Acct-Terminate-Cause}', framed_ip_address =
NULLIF('%{Framed-IP-Address}', '')::inet, connect_info_stop =
'%{Connect-Info}' WHERE acct_unique_id = '%{Acct-Unique-Session-Id}' AND
acct_stop_time IS NULL"
}
}
}
post-auth {
reference = ".query"
query = "INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES('%{User-Name}', '%{%{User-Password}:-Chap-Password}',
'%{reply:Packet-Type}', NOW())"
}
}
rlm_sql (sql): Driver rlm_sql_postgresql (module rlm_sql_postgresql)
loaded and linked
Creating attribute SQL-Group
instantiate {
}
# Instantiating module "reject" from file /etc/raddb/mods-enabled/always
# Instantiating module "fail" from file /etc/raddb/mods-enabled/always
# Instantiating module "ok" from file /etc/raddb/mods-enabled/always
# Instantiating module "handled" from file /etc/raddb/mods-enabled/always
# Instantiating module "invalid" from file /etc/raddb/mods-enabled/always
# Instantiating module "userlock" from file
/etc/raddb/mods-enabled/always
# Instantiating module "notfound" from file
/etc/raddb/mods-enabled/always
# Instantiating module "noop" from file /etc/raddb/mods-enabled/always
# Instantiating module "updated" from file /etc/raddb/mods-enabled/always
# Instantiating module "attr_filter.post-proxy" from file
/etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/post-proxy
# Instantiating module "attr_filter.pre-proxy" from file
/etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/pre-proxy
# Instantiating module "attr_filter.access_reject" from file
/etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/access_reject
[/etc/raddb/mods-config/attr_filter/access_reject]:11 Check item
"FreeRADIUS-Response-Delay" found in filter list for realm "DEFAULT".
[/etc/raddb/mods-config/attr_filter/access_reject]:11 Check item
"FreeRADIUS-Response-Delay-USec" found in filter list for realm
"DEFAULT".
# Instantiating module "attr_filter.access_challenge" from file
/etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/access_challenge
# Instantiating module "attr_filter.accounting_response" from file
/etc/raddb/mods-enabled/attr_filter
reading pairlist file /etc/raddb/mods-config/attr_filter/accounting_response
# Instantiating module "cache_eap" from file
/etc/raddb/mods-enabled/cache_eap
rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree)
loaded and linked
# Instantiating module "detail" from file /etc/raddb/mods-enabled/detail
# Instantiating module "auth_log" from file
/etc/raddb/mods-enabled/detail.log
rlm_detail (auth_log): 'User-Password' suppressed, will not appear in
detail output
# Instantiating module "reply_log" from file
/etc/raddb/mods-enabled/detail.log
# Instantiating module "pre_proxy_log" from file
/etc/raddb/mods-enabled/detail.log
# Instantiating module "post_proxy_log" from file
/etc/raddb/mods-enabled/detail.log
# Instantiating module "eap" from file /etc/raddb/mods-enabled/eap
# Linked to sub-module rlm_eap_md5
# Linked to sub-module rlm_eap_leap
# Linked to sub-module rlm_eap_gtc
gtc {
challenge = "Password: "
auth_type = "PAP"
}
# Linked to sub-module rlm_eap_tls
tls {
tls = "tls-common"
}
tls-config tls-common {
verify_depth = 0
ca_path = "/etc/raddb/certs"
pem_file_type = yes
private_key_file = "/etc/raddb/certs/server.pem"
certificate_file = "/etc/raddb/certs/server.pem"
ca_file = "/etc/raddb/certs/ca.pem"
private_key_password = <<< secret >>>
dh_file = "/etc/raddb/certs/dh"
fragment_size = 1024
include_length = yes
auto_chain = yes
check_crl = no
check_all_crl = no
cipher_list = "DEFAULT"
cipher_server_preference = no
ecdh_curve = "prime256v1"
cache {
enable = no
lifetime = 24
max_entries = 255
}
verify {
skip_if_ocsp_ok = no
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
use_nonce = yes
timeout = 0
softfail = no
}
}
# Linked to sub-module rlm_eap_ttls
ttls {
tls = "tls-common"
default_eap_type = "md5"
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
include_length = yes
require_client_cert = no
}
tls: Using cached TLS configuration from previous invocation
# Linked to sub-module rlm_eap_peap
peap {
tls = "tls-common"
default_eap_type = "mschapv2"
copy_request_to_tunnel = yes
use_tunneled_reply = yes
proxy_tunneled_request_as_eap = yes
virtual_server = "inner-tunnel"
soh = no
require_client_cert = no
}
tls: Using cached TLS configuration from previous invocation
# Linked to sub-module rlm_eap_mschapv2
mschapv2 {
with_ntdomain_hack = no
send_error = no
}
# Instantiating module "expiration" from file
/etc/raddb/mods-enabled/expiration
# Instantiating module "files" from file /etc/raddb/mods-enabled/files
reading pairlist file /etc/raddb/mods-config/files/authorize
reading pairlist file /etc/raddb/mods-config/files/accounting
reading pairlist file /etc/raddb/mods-config/files/pre-proxy
# Instantiating module "linelog" from file
/etc/raddb/mods-enabled/linelog
# Instantiating module "log_accounting" from file
/etc/raddb/mods-enabled/linelog
# Instantiating module "logintime" from file
/etc/raddb/mods-enabled/logintime
# Instantiating module "mschap" from file /etc/raddb/mods-enabled/mschap
rlm_mschap (mschap): using internal authentication
# Instantiating module "pap" from file /etc/raddb/mods-enabled/pap
# Instantiating module "etc_passwd" from file
/etc/raddb/mods-enabled/passwd
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
# Instantiating module "preprocess" from file
/etc/raddb/mods-enabled/preprocess
reading pairlist file /etc/raddb/mods-config/preprocess/huntgroups
reading pairlist file /etc/raddb/mods-config/preprocess/hints
# Instantiating module "IPASS" from file /etc/raddb/mods-enabled/realm
# Instantiating module "suffix" from file /etc/raddb/mods-enabled/realm
# Instantiating module "realmpercent" from file
/etc/raddb/mods-enabled/realm
# Instantiating module "ntdomain" from file /etc/raddb/mods-enabled/realm
# Instantiating module "sql" from file /etc/raddb/mods-enabled/sql
postgresql {
send_application_name = yes
}
rlm_sql (sql): Attempting to connect to database "dbname=gradius
host=localhost user=gradius password=password"
rlm_sql (sql): Initialising connection pool
pool {
start = 5
min = 3
max = 32
spare = 10
uses = 0
lifetime = 0
cleanup_interval = 30
idle_timeout = 60
retry_delay = 30
spread = no
}
rlm_sql (sql): Opening additional connection (0), 1 of 32 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8936
rlm_sql (sql): Opening additional connection (1), 1 of 31 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8937
rlm_sql (sql): Opening additional connection (2), 1 of 30 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8938
rlm_sql (sql): Opening additional connection (3), 1 of 29 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8939
rlm_sql (sql): Opening additional connection (4), 1 of 28 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8940
rlm_sql (sql): Processing generate_sql_clients
rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname,
shortname, type, secret, server FROM nas
rlm_sql (sql): Reserved connection (0)
rlm_sql (sql): Executing select query: SELECT id, nasname, shortname,
type, secret, server FROM nas
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 1 , fields = 6
rlm_sql (sql): Adding client 192.168.3.5 (Aruba) to global clients list
rlm_sql (192.168.3.5): Client "Aruba" (sql) added
rlm_sql (sql): Released connection (0)
Need 5 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (5), 1 of 27 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8941
} # modules
radiusd: #### Loading Virtual Servers ####
server { # from file /etc/raddb/radiusd.conf
} # server
server default { # from file /etc/raddb/sites-enabled/default
# Loading authenticate {...}
# Loading authorize {...}
Ignoring "ldap" (see raddb/mods-available/README.rst)
# Loading preacct {...}
# Loading accounting {...}
# Loading post-proxy {...}
# Loading post-auth {...}
} # server default
server inner-tunnel { # from file /etc/raddb/sites-enabled/inner-tunnel
# Loading authenticate {...}
# Loading authorize {...}
# Loading session {...}
# Loading post-proxy {...}
# Loading post-auth {...}
# Skipping contents of 'if' as it is always 'false' --
/etc/raddb/sites-enabled/inner-tunnel:330
} # server inner-tunnel
radiusd: #### Opening IP addresses and Ports ####
listen {
type = "auth"
ipaddr = *
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
listen {
type = "acct"
ipaddr = *
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
listen {
type = "auth"
ipv6addr = ::
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
listen {
type = "acct"
ipv6addr = ::
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
listen {
type = "auth"
ipaddr = 127.0.0.1
port = 18120
}
Listening on auth address * port 1812 bound to server default
Listening on acct address * port 1813 bound to server default
Listening on auth address :: port 1812 bound to server default
Listening on acct address :: port 1813 bound to server default
Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel
Listening on proxy address * port 48481
Listening on proxy address :: port 45356
Ready to process requests
(0) Received Access-Request Id 50 from 192.168.3.5:56875 to
192.168.3.33:1812 length 209
(0) User-Name = "testuser01"
(0) NAS-IP-Address = 192.168.3.5
(0) NAS-Port = 0
(0) NAS-Identifier = "192.168.3.10"
(0) NAS-Port-Type = Wireless-802.11
(0) Calling-Station-Id = "70bbe9363cbc"
(0) Called-Station-Id = "aca31ec330ac"
(0) Service-Type = Login-User
(0) Framed-MTU = 1100
(0) EAP-Message = 0x0201000f0174657374757365723031
(0) Aruba-Essid-Name = "radius"
(0) Aruba-Location-Id = "Turmeric-01"
(0) Aruba-AP-Group = "Turmeric Cloud"
(0) Aruba-Device-Type = "Android"
(0) Message-Authenticator = 0xdf2f1d66da3bebc8370ca0d1cb3bcf85
(0) # Executing section authorize from file /etc/raddb/sites-enabled/default
(0) authorize {
(0) policy filter_username {
(0) if (&User-Name) {
(0) if (&User-Name) -> TRUE
(0) if (&User-Name) {
(0) if (&User-Name =~ / /) {
(0) if (&User-Name =~ / /) -> FALSE
(0) if (&User-Name =~ /@[^@]*@/ ) {
(0) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(0) if (&User-Name =~ /\.\./ ) {
(0) if (&User-Name =~ /\.\./ ) -> FALSE
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(0) if (&User-Name =~ /\.$/) {
(0) if (&User-Name =~ /\.$/) -> FALSE
(0) if (&User-Name =~ /@\./) {
(0) if (&User-Name =~ /@\./) -> FALSE
(0) } # if (&User-Name) = notfound
(0) } # policy filter_username = notfound
(0) [preprocess] = ok
(0) [chap] = noop
(0) [mschap] = noop
(0) [digest] = noop
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(0) suffix: No such realm "NULL"
(0) [suffix] = noop
(0) eap: Peer sent EAP Response (code 2) ID 1 length 15
(0) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the
rest of authorize
(0) [eap] = ok
(0) } # authorize = ok
(0) Found Auth-Type = eap
(0) # Executing group from file /etc/raddb/sites-enabled/default
(0) authenticate {
(0) eap: Peer sent packet with method EAP Identity (1)
(0) eap: Calling submodule eap_md5 to process data
(0) eap_md5: Issuing MD5 Challenge
(0) eap: Sending EAP Request (code 1) ID 2 length 22
(0) eap: EAP session adding &reply:State = 0x88cee37d88cce7f6
(0) [eap] = handled
(0) } # authenticate = handled
(0) Using Post-Auth-Type Challenge
(0) # Executing group from file /etc/raddb/sites-enabled/default
(0) Challenge { ... } # empty sub-section is ignored
(0) Sent Access-Challenge Id 50 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(0) EAP-Message = 0x0102001604106d2c612a9f217d2a6a2a6bda6e61fd86
(0) Message-Authenticator = 0x00000000000000000000000000000000
(0) State = 0x88cee37d88cce7f6436d51aeb3669f4b
(0) Finished request
Waking up in 4.9 seconds.
(1) Received Access-Request Id 46 from 192.168.3.5:56875 to
192.168.3.33:1812 length 220
(1) User-Name = "testuser01"
(1) NAS-IP-Address = 192.168.3.5
(1) NAS-Port = 0
(1) NAS-Identifier = "192.168.3.10"
(1) NAS-Port-Type = Wireless-802.11
(1) Calling-Station-Id = "70bbe9363cbc"
(1) Called-Station-Id = "aca31ec330ac"
(1) Service-Type = Login-User
(1) Framed-MTU = 1100
(1) EAP-Message = 0x0202000803191534
(1) State = 0x88cee37d88cce7f6436d51aeb3669f4b
(1) Aruba-Essid-Name = "radius"
(1) Aruba-Location-Id = "Turmeric-01"
(1) Aruba-AP-Group = "Turmeric Cloud"
(1) Aruba-Device-Type = "Android"
(1) Message-Authenticator = 0xb23e54185b90730d7db978bec2479471
(1) session-state: No cached attributes
(1) # Executing section authorize from file /etc/raddb/sites-enabled/default
(1) authorize {
(1) policy filter_username {
(1) if (&User-Name) {
(1) if (&User-Name) -> TRUE
(1) if (&User-Name) {
(1) if (&User-Name =~ / /) {
(1) if (&User-Name =~ / /) -> FALSE
(1) if (&User-Name =~ /@[^@]*@/ ) {
(1) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(1) if (&User-Name =~ /\.\./ ) {
(1) if (&User-Name =~ /\.\./ ) -> FALSE
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(1) if (&User-Name =~ /\.$/) {
(1) if (&User-Name =~ /\.$/) -> FALSE
(1) if (&User-Name =~ /@\./) {
(1) if (&User-Name =~ /@\./) -> FALSE
(1) } # if (&User-Name) = notfound
(1) } # policy filter_username = notfound
(1) [preprocess] = ok
(1) [chap] = noop
(1) [mschap] = noop
(1) [digest] = noop
(1) suffix: Checking for suffix after "@"
(1) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(1) suffix: No such realm "NULL"
(1) [suffix] = noop
(1) eap: Peer sent EAP Response (code 2) ID 2 length 8
(1) eap: No EAP Start, assuming it's an on-going EAP conversation
(1) [eap] = updated
(1) [files] = noop
(1) sql: EXPAND %{User-Name}
(1) sql: --> testuser01
(1) sql: SQL-User-Name set to 'testuser01'
rlm_sql (sql): Reserved connection (1)
(1) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck
WHERE username = '%{SQL-User-Name}' ORDER BY id
(1) sql: --> SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'testuser01' ORDER BY id
(1) sql: Executing select query: SELECT id, username, attribute, value,
op FROM radcheck WHERE username = 'testuser01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 3 , fields = 5
(1) sql: User found in radcheck table
(1) sql: EXPAND SELECT group_name FROM radusergroup WHERE
username='%{SQL-User-Name}' ORDER BY priority
(1) sql: --> SELECT group_name FROM radusergroup WHERE
username='testuser01' ORDER BY priority
(1) sql: Executing select query: SELECT group_name FROM radusergroup
WHERE username='testuser01' ORDER BY priority
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 1 , fields = 1
(1) sql: User found in the group table
(1) sql: EXPAND SELECT id, group_name, attribute, value, op FROM
radgroupcheck WHERE group_name = '%{SQL-Group}' ORDER BY id
(1) sql: --> SELECT id, group_name, attribute, value, op FROM
radgroupcheck WHERE group_name = 'testgroup01' ORDER BY id
(1) sql: Executing select query: SELECT id, group_name, attribute,
value, op FROM radgroupcheck WHERE group_name = 'testgroup01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 2 , fields = 5
(1) sql: Group "testgroup01": Conditional check items matched
(1) sql: Group "testgroup01": Merging assignment check items
(1) sql: Simultaneous-Use := 1
(1) sql: Login-Time := "Any1000-1330"
(1) sql: EXPAND SELECT id, group_name, attribute, value, op FROM
radgroupreply WHERE group_name = '%{SQL-Group}' ORDER BY id
(1) sql: --> SELECT id, group_name, attribute, value, op FROM
radgroupreply WHERE group_name = 'testgroup01' ORDER BY id
(1) sql: Executing select query: SELECT id, group_name, attribute,
value, op FROM radgroupreply WHERE group_name = 'testgroup01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 2 , fields = 5
(1) sql: Group "testgroup01": Merging reply items
(1) sql: Tunnel-Type := VLAN
(1) sql: Tunnel-Medium-Type := IEEE-802
rlm_sql (sql): Released connection (1)
Need 4 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (6), 1 of 26 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8943
(1) [sql] = ok
(1) [expiration] = noop
(1) logintime: Checking Login-Time
(1) logintime: Login within allowed time-slot, 960 seconds left in this
session
(1) logintime: reply:Session-Timeout set to 960
(1) [logintime] = updated
(1) pap: WARNING: No "known good" password found for the user. Not
setting Auth-Type
(1) pap: WARNING: Authentication will fail unless a "known good"
password is available
(1) [pap] = noop
(1) } # authorize = updated
(1) Found Auth-Type = eap
(1) # Executing group from file /etc/raddb/sites-enabled/default
(1) authenticate {
(1) eap: Expiring EAP session with state 0x88cee37d88cce7f6
(1) eap: Finished EAP session with state 0x88cee37d88cce7f6
(1) eap: Previous EAP request found for state 0x88cee37d88cce7f6,
released from the list
(1) eap: Peer sent packet with method EAP NAK (3)
(1) eap: Found mutually acceptable type PEAP (25)
(1) eap: Calling submodule eap_peap to process data
(1) eap_peap: Initiating new EAP-TLS session
(1) eap_peap: [eaptls start] = request
(1) eap: Sending EAP Request (code 1) ID 3 length 6
(1) eap: EAP session adding &reply:State = 0x88cee37d89cdfaf6
(1) [eap] = handled
(1) } # authenticate = handled
(1) Using Post-Auth-Type Challenge
(1) # Executing group from file /etc/raddb/sites-enabled/default
(1) Challenge { ... } # empty sub-section is ignored
(1) Sent Access-Challenge Id 46 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(1) Tunnel-Type = VLAN
(1) Tunnel-Medium-Type = IEEE-802
(1) Session-Timeout = 960
(1) EAP-Message = 0x010300061920
(1) Message-Authenticator = 0x00000000000000000000000000000000
(1) State = 0x88cee37d89cdfaf6436d51aeb3669f4b
(1) Finished request
Waking up in 4.9 seconds.
(2) Received Access-Request Id 53 from 192.168.3.5:56875 to
192.168.3.33:1812 length 361
(2) User-Name = "testuser01"
(2) NAS-IP-Address = 192.168.3.5
(2) NAS-Port = 0
(2) NAS-Identifier = "192.168.3.10"
(2) NAS-Port-Type = Wireless-802.11
(2) Calling-Station-Id = "70bbe9363cbc"
(2) Called-Station-Id = "aca31ec330ac"
(2) Service-Type = Login-User
(2) Framed-MTU = 1100
(2) EAP-Message =
0x0203009519800000008b1603010086010000820303fb57c9b7faae0cf761fb224e7c30f4e6ae4a013d32dae80509a8c67ef6e7e75500002ac02bc02fc02cc030cca9cca8c009c023c013c027c00ac024c014c028009c009d002f003c0035003d000a0100002fff0100010000170000000d0010000e0403
(2) State = 0x88cee37d89cdfaf6436d51aeb3669f4b
(2) Aruba-Essid-Name = "radius"
(2) Aruba-Location-Id = "Turmeric-01"
(2) Aruba-AP-Group = "Turmeric Cloud"
(2) Aruba-Device-Type = "Android"
(2) Message-Authenticator = 0x262bc45d4b887dad5bfa9dc381405fb1
(2) session-state: No cached attributes
(2) # Executing section authorize from file /etc/raddb/sites-enabled/default
(2) authorize {
(2) policy filter_username {
(2) if (&User-Name) {
(2) if (&User-Name) -> TRUE
(2) if (&User-Name) {
(2) if (&User-Name =~ / /) {
(2) if (&User-Name =~ / /) -> FALSE
(2) if (&User-Name =~ /@[^@]*@/ ) {
(2) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(2) if (&User-Name =~ /\.\./ ) {
(2) if (&User-Name =~ /\.\./ ) -> FALSE
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(2) if (&User-Name =~ /\.$/) {
(2) if (&User-Name =~ /\.$/) -> FALSE
(2) if (&User-Name =~ /@\./) {
(2) if (&User-Name =~ /@\./) -> FALSE
(2) } # if (&User-Name) = notfound
(2) } # policy filter_username = notfound
(2) [preprocess] = ok
(2) [chap] = noop
(2) [mschap] = noop
(2) [digest] = noop
(2) suffix: Checking for suffix after "@"
(2) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(2) suffix: No such realm "NULL"
(2) [suffix] = noop
(2) eap: Peer sent EAP Response (code 2) ID 3 length 149
(2) eap: Continuing tunnel setup
(2) [eap] = ok
(2) } # authorize = ok
(2) Found Auth-Type = eap
(2) # Executing group from file /etc/raddb/sites-enabled/default
(2) authenticate {
(2) eap: Expiring EAP session with state 0x88cee37d89cdfaf6
(2) eap: Finished EAP session with state 0x88cee37d89cdfaf6
(2) eap: Previous EAP request found for state 0x88cee37d89cdfaf6,
released from the list
(2) eap: Peer sent packet with method EAP PEAP (25)
(2) eap: Calling submodule eap_peap to process data
(2) eap_peap: Continuing EAP-TLS
(2) eap_peap: Peer indicated complete TLS record size will be 139 bytes
(2) eap_peap: Got complete TLS record (139 bytes)
(2) eap_peap: [eaptls verify] = length included
(2) eap_peap: (other): before/accept initialization
(2) eap_peap: TLS_accept: before/accept initialization
(2) eap_peap: <<< recv TLS 1.2 [length 0086]
(2) eap_peap: TLS_accept: SSLv3 read client hello A
(2) eap_peap: >>> send TLS 1.2 [length 0039]
(2) eap_peap: TLS_accept: SSLv3 write server hello A
(2) eap_peap: >>> send TLS 1.2 [length 08d3]
(2) eap_peap: TLS_accept: SSLv3 write certificate A
(2) eap_peap: >>> send TLS 1.2 [length 014d]
(2) eap_peap: TLS_accept: SSLv3 write key exchange A
(2) eap_peap: >>> send TLS 1.2 [length 0004]
(2) eap_peap: TLS_accept: SSLv3 write server done A
(2) eap_peap: TLS_accept: SSLv3 flush data
(2) eap_peap: TLS_accept: SSLv3 read client certificate A
(2) eap_peap: TLS_accept: Need to read more data: SSLv3 read client key
exchange A
(2) eap_peap: TLS_accept: Need to read more data: SSLv3 read client key
exchange A
(2) eap_peap: In SSL Handshake Phase
(2) eap_peap: In SSL Accept mode
(2) eap_peap: [eaptls process] = handled
(2) eap: Sending EAP Request (code 1) ID 4 length 1004
(2) eap: EAP session adding &reply:State = 0x88cee37d8acafaf6
(2) [eap] = handled
(2) } # authenticate = handled
(2) Using Post-Auth-Type Challenge
(2) # Executing group from file /etc/raddb/sites-enabled/default
(2) Challenge { ... } # empty sub-section is ignored
(2) Sent Access-Challenge Id 53 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(2) EAP-Message =
0x010403ec19c000000a7116030300390200003503034a6fe5bbb35ffae84152f297b1b6fc2bfc16277cedd27af397d78d4974a38ddd00c02f00000dff01000100000b00040300010216030308d30b0008cf0008cc0003de308203da308202c2a003020102020101300d06092a864886f70d01010b050030
(2) Message-Authenticator = 0x00000000000000000000000000000000
(2) State = 0x88cee37d8acafaf6436d51aeb3669f4b
(2) Finished request
Waking up in 4.9 seconds.
(3) Received Access-Request Id 54 from 192.168.3.5:56875 to
192.168.3.33:1812 length 218
(3) User-Name = "testuser01"
(3) NAS-IP-Address = 192.168.3.5
(3) NAS-Port = 0
(3) NAS-Identifier = "192.168.3.10"
(3) NAS-Port-Type = Wireless-802.11
(3) Calling-Station-Id = "70bbe9363cbc"
(3) Called-Station-Id = "aca31ec330ac"
(3) Service-Type = Login-User
(3) Framed-MTU = 1100
(3) EAP-Message = 0x020400061900
(3) State = 0x88cee37d8acafaf6436d51aeb3669f4b
(3) Aruba-Essid-Name = "radius"
(3) Aruba-Location-Id = "Turmeric-01"
(3) Aruba-AP-Group = "Turmeric Cloud"
(3) Aruba-Device-Type = "Android"
(3) Message-Authenticator = 0x655ce05c40a0889d66758e82c505ad85
(3) session-state: No cached attributes
(3) # Executing section authorize from file /etc/raddb/sites-enabled/default
(3) authorize {
(3) policy filter_username {
(3) if (&User-Name) {
(3) if (&User-Name) -> TRUE
(3) if (&User-Name) {
(3) if (&User-Name =~ / /) {
(3) if (&User-Name =~ / /) -> FALSE
(3) if (&User-Name =~ /@[^@]*@/ ) {
(3) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(3) if (&User-Name =~ /\.\./ ) {
(3) if (&User-Name =~ /\.\./ ) -> FALSE
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(3) if (&User-Name =~ /\.$/) {
(3) if (&User-Name =~ /\.$/) -> FALSE
(3) if (&User-Name =~ /@\./) {
(3) if (&User-Name =~ /@\./) -> FALSE
(3) } # if (&User-Name) = notfound
(3) } # policy filter_username = notfound
(3) [preprocess] = ok
(3) [chap] = noop
(3) [mschap] = noop
(3) [digest] = noop
(3) suffix: Checking for suffix after "@"
(3) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(3) suffix: No such realm "NULL"
(3) [suffix] = noop
(3) eap: Peer sent EAP Response (code 2) ID 4 length 6
(3) eap: Continuing tunnel setup
(3) [eap] = ok
(3) } # authorize = ok
(3) Found Auth-Type = eap
(3) # Executing group from file /etc/raddb/sites-enabled/default
(3) authenticate {
(3) eap: Expiring EAP session with state 0x88cee37d8acafaf6
(3) eap: Finished EAP session with state 0x88cee37d8acafaf6
(3) eap: Previous EAP request found for state 0x88cee37d8acafaf6,
released from the list
(3) eap: Peer sent packet with method EAP PEAP (25)
(3) eap: Calling submodule eap_peap to process data
(3) eap_peap: Continuing EAP-TLS
(3) eap_peap: Peer ACKed our handshake fragment
(3) eap_peap: [eaptls verify] = request
(3) eap_peap: [eaptls process] = handled
(3) eap: Sending EAP Request (code 1) ID 5 length 1000
(3) eap: EAP session adding &reply:State = 0x88cee37d8bcbfaf6
(3) [eap] = handled
(3) } # authenticate = handled
(3) Using Post-Auth-Type Challenge
(3) # Executing group from file /etc/raddb/sites-enabled/default
(3) Challenge { ... } # empty sub-section is ignored
(3) Sent Access-Challenge Id 54 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(3) EAP-Message =
0x010503e8194011313df5cf525bb740400f21166d6dd2bf666f6b2d653fbe1e4e46f7be988691083f7b177678383160f9febc8e14e9cb70fc830837eb79749f358db84a1f802f2436f34ab6eddf11b60004e8308204e4308203cca003020102020900b75741fcc163c18e300d06092a864886f70d01010b
(3) Message-Authenticator = 0x00000000000000000000000000000000
(3) State = 0x88cee37d8bcbfaf6436d51aeb3669f4b
(3) Finished request
Waking up in 4.9 seconds.
(4) Received Access-Request Id 55 from 192.168.3.5:56875 to
192.168.3.33:1812 length 218
(4) User-Name = "testuser01"
(4) NAS-IP-Address = 192.168.3.5
(4) NAS-Port = 0
(4) NAS-Identifier = "192.168.3.10"
(4) NAS-Port-Type = Wireless-802.11
(4) Calling-Station-Id = "70bbe9363cbc"
(4) Called-Station-Id = "aca31ec330ac"
(4) Service-Type = Login-User
(4) Framed-MTU = 1100
(4) EAP-Message = 0x020500061900
(4) State = 0x88cee37d8bcbfaf6436d51aeb3669f4b
(4) Aruba-Essid-Name = "radius"
(4) Aruba-Location-Id = "Turmeric-01"
(4) Aruba-AP-Group = "Turmeric Cloud"
(4) Aruba-Device-Type = "Android"
(4) Message-Authenticator = 0x0678f7edd39a271d2b35e09f0fa48e5f
(4) session-state: No cached attributes
(4) # Executing section authorize from file /etc/raddb/sites-enabled/default
(4) authorize {
(4) policy filter_username {
(4) if (&User-Name) {
(4) if (&User-Name) -> TRUE
(4) if (&User-Name) {
(4) if (&User-Name =~ / /) {
(4) if (&User-Name =~ / /) -> FALSE
(4) if (&User-Name =~ /@[^@]*@/ ) {
(4) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(4) if (&User-Name =~ /\.\./ ) {
(4) if (&User-Name =~ /\.\./ ) -> FALSE
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(4) if (&User-Name =~ /\.$/) {
(4) if (&User-Name =~ /\.$/) -> FALSE
(4) if (&User-Name =~ /@\./) {
(4) if (&User-Name =~ /@\./) -> FALSE
(4) } # if (&User-Name) = notfound
(4) } # policy filter_username = notfound
(4) [preprocess] = ok
(4) [chap] = noop
(4) [mschap] = noop
(4) [digest] = noop
(4) suffix: Checking for suffix after "@"
(4) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(4) suffix: No such realm "NULL"
(4) [suffix] = noop
(4) eap: Peer sent EAP Response (code 2) ID 5 length 6
(4) eap: Continuing tunnel setup
(4) [eap] = ok
(4) } # authorize = ok
(4) Found Auth-Type = eap
(4) # Executing group from file /etc/raddb/sites-enabled/default
(4) authenticate {
(4) eap: Expiring EAP session with state 0x88cee37d8bcbfaf6
(4) eap: Finished EAP session with state 0x88cee37d8bcbfaf6
(4) eap: Previous EAP request found for state 0x88cee37d8bcbfaf6,
released from the list
(4) eap: Peer sent packet with method EAP PEAP (25)
(4) eap: Calling submodule eap_peap to process data
(4) eap_peap: Continuing EAP-TLS
(4) eap_peap: Peer ACKed our handshake fragment
(4) eap_peap: [eaptls verify] = request
(4) eap_peap: [eaptls process] = handled
(4) eap: Sending EAP Request (code 1) ID 6 length 691
(4) eap: EAP session adding &reply:State = 0x88cee37d8cc8faf6
(4) [eap] = handled
(4) } # authenticate = handled
(4) Using Post-Auth-Type Challenge
(4) # Executing group from file /etc/raddb/sites-enabled/default
(4) Challenge { ... } # empty sub-section is ignored
(4) Sent Access-Challenge Id 55 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(4) EAP-Message =
0x010602b319000530030101ff30360603551d1f042f302d302ba029a0278625687474703a2f2f7777772e6578616d706c652e6f72672f6578616d706c655f63612e63726c300d06092a864886f70d01010b050003820101007543e1847fde7dabb9c05ecd0d5f2803b5b190af5952eff354ce11d6075fcd
(4) Message-Authenticator = 0x00000000000000000000000000000000
(4) State = 0x88cee37d8cc8faf6436d51aeb3669f4b
(4) Finished request
Waking up in 4.9 seconds.
(5) Received Access-Request Id 56 from 192.168.3.5:56875 to
192.168.3.33:1812 length 348
(5) User-Name = "testuser01"
(5) NAS-IP-Address = 192.168.3.5
(5) NAS-Port = 0
(5) NAS-Identifier = "192.168.3.10"
(5) NAS-Port-Type = Wireless-802.11
(5) Calling-Station-Id = "70bbe9363cbc"
(5) Called-Station-Id = "aca31ec330ac"
(5) Service-Type = Login-User
(5) Framed-MTU = 1100
(5) EAP-Message =
0x0206008819800000007e1603030046100000424104db6aec11da17c696fac79a263dacbe8f76569f0b709dabfefe98cfac1f52c72c25f7ac5202c1874f6cc86917f6469f637d988d1c8dbcb222b499fa4e0b8fb0d214030300010116030300280000000000000000bbc8020639a3bb17d7279f71ffd7c4
(5) State = 0x88cee37d8cc8faf6436d51aeb3669f4b
(5) Aruba-Essid-Name = "radius"
(5) Aruba-Location-Id = "Turmeric-01"
(5) Aruba-AP-Group = "Turmeric Cloud"
(5) Aruba-Device-Type = "Android"
(5) Message-Authenticator = 0xc284bacabb007507a3c6defe8389b8fc
(5) session-state: No cached attributes
(5) # Executing section authorize from file /etc/raddb/sites-enabled/default
(5) authorize {
(5) policy filter_username {
(5) if (&User-Name) {
(5) if (&User-Name) -> TRUE
(5) if (&User-Name) {
(5) if (&User-Name =~ / /) {
(5) if (&User-Name =~ / /) -> FALSE
(5) if (&User-Name =~ /@[^@]*@/ ) {
(5) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(5) if (&User-Name =~ /\.\./ ) {
(5) if (&User-Name =~ /\.\./ ) -> FALSE
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(5) if (&User-Name =~ /\.$/) {
(5) if (&User-Name =~ /\.$/) -> FALSE
(5) if (&User-Name =~ /@\./) {
(5) if (&User-Name =~ /@\./) -> FALSE
(5) } # if (&User-Name) = notfound
(5) } # policy filter_username = notfound
(5) [preprocess] = ok
(5) [chap] = noop
(5) [mschap] = noop
(5) [digest] = noop
(5) suffix: Checking for suffix after "@"
(5) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(5) suffix: No such realm "NULL"
(5) [suffix] = noop
(5) eap: Peer sent EAP Response (code 2) ID 6 length 136
(5) eap: Continuing tunnel setup
(5) [eap] = ok
(5) } # authorize = ok
(5) Found Auth-Type = eap
(5) # Executing group from file /etc/raddb/sites-enabled/default
(5) authenticate {
(5) eap: Expiring EAP session with state 0x88cee37d8cc8faf6
(5) eap: Finished EAP session with state 0x88cee37d8cc8faf6
(5) eap: Previous EAP request found for state 0x88cee37d8cc8faf6,
released from the list
(5) eap: Peer sent packet with method EAP PEAP (25)
(5) eap: Calling submodule eap_peap to process data
(5) eap_peap: Continuing EAP-TLS
(5) eap_peap: Peer indicated complete TLS record size will be 126 bytes
(5) eap_peap: Got complete TLS record (126 bytes)
(5) eap_peap: [eaptls verify] = length included
(5) eap_peap: <<< recv TLS 1.2 [length 0046]
(5) eap_peap: TLS_accept: SSLv3 read client key exchange A
(5) eap_peap: TLS_accept: SSLv3 read certificate verify A
(5) eap_peap: <<< recv TLS 1.2 [length 0001]
(5) eap_peap: <<< recv TLS 1.2 [length 0010]
(5) eap_peap: TLS_accept: SSLv3 read finished A
(5) eap_peap: >>> send TLS 1.2 [length 0001]
(5) eap_peap: TLS_accept: SSLv3 write change cipher spec A
(5) eap_peap: >>> send TLS 1.2 [length 0010]
(5) eap_peap: TLS_accept: SSLv3 write finished A
(5) eap_peap: TLS_accept: SSLv3 flush data
(5) eap_peap: (other): SSL negotiation finished successfully
(5) eap_peap: SSL Connection Established
(5) eap_peap: [eaptls process] = handled
(5) eap: Sending EAP Request (code 1) ID 7 length 57
(5) eap: EAP session adding &reply:State = 0x88cee37d8dc9faf6
(5) [eap] = handled
(5) } # authenticate = handled
(5) Using Post-Auth-Type Challenge
(5) # Executing group from file /etc/raddb/sites-enabled/default
(5) Challenge { ... } # empty sub-section is ignored
(5) Sent Access-Challenge Id 56 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(5) EAP-Message =
0x0107003919001403030001011603030028efcef1eb3520ab4b8e410e6e91e7cadabc13ec63d42ecb3953c12301962eb5dcd68cc2e760c1c165
(5) Message-Authenticator = 0x00000000000000000000000000000000
(5) State = 0x88cee37d8dc9faf6436d51aeb3669f4b
(5) Finished request
Waking up in 4.9 seconds.
(6) Received Access-Request Id 62 from 192.168.3.5:56875 to
192.168.3.33:1812 length 218
(6) User-Name = "testuser01"
(6) NAS-IP-Address = 192.168.3.5
(6) NAS-Port = 0
(6) NAS-Identifier = "192.168.3.10"
(6) NAS-Port-Type = Wireless-802.11
(6) Calling-Station-Id = "70bbe9363cbc"
(6) Called-Station-Id = "aca31ec330ac"
(6) Service-Type = Login-User
(6) Framed-MTU = 1100
(6) EAP-Message = 0x020700061900
(6) State = 0x88cee37d8dc9faf6436d51aeb3669f4b
(6) Aruba-Essid-Name = "radius"
(6) Aruba-Location-Id = "Turmeric-01"
(6) Aruba-AP-Group = "Turmeric Cloud"
(6) Aruba-Device-Type = "Android"
(6) Message-Authenticator = 0xff7cbd294503f4608a32d8a97601afc9
(6) session-state: No cached attributes
(6) # Executing section authorize from file /etc/raddb/sites-enabled/default
(6) authorize {
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /@\./) {
(6) if (&User-Name =~ /@\./) -> FALSE
(6) } # if (&User-Name) = notfound
(6) } # policy filter_username = notfound
(6) [preprocess] = ok
(6) [chap] = noop
(6) [mschap] = noop
(6) [digest] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) eap: Peer sent EAP Response (code 2) ID 7 length 6
(6) eap: Continuing tunnel setup
(6) [eap] = ok
(6) } # authorize = ok
(6) Found Auth-Type = eap
(6) # Executing group from file /etc/raddb/sites-enabled/default
(6) authenticate {
(6) eap: Expiring EAP session with state 0x88cee37d8dc9faf6
(6) eap: Finished EAP session with state 0x88cee37d8dc9faf6
(6) eap: Previous EAP request found for state 0x88cee37d8dc9faf6,
released from the list
(6) eap: Peer sent packet with method EAP PEAP (25)
(6) eap: Calling submodule eap_peap to process data
(6) eap_peap: Continuing EAP-TLS
(6) eap_peap: Peer ACKed our handshake fragment. handshake is finished
(6) eap_peap: [eaptls verify] = success
(6) eap_peap: [eaptls process] = success
(6) eap_peap: Session established. Decoding tunneled attributes
(6) eap_peap: PEAP state TUNNEL ESTABLISHED
(6) eap: Sending EAP Request (code 1) ID 8 length 40
(6) eap: EAP session adding &reply:State = 0x88cee37d8ec6faf6
(6) [eap] = handled
(6) } # authenticate = handled
(6) Using Post-Auth-Type Challenge
(6) # Executing group from file /etc/raddb/sites-enabled/default
(6) Challenge { ... } # empty sub-section is ignored
(6) Sent Access-Challenge Id 62 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(6) EAP-Message =
0x010800281900170303001defcef1eb3520ab4caf7f6f8e13e0520fd39e9df6f8582192ff08e5209c
(6) Message-Authenticator = 0x00000000000000000000000000000000
(6) State = 0x88cee37d8ec6faf6436d51aeb3669f4b
(6) Finished request
Waking up in 4.8 seconds.
(7) Received Access-Request Id 57 from 192.168.3.5:56875 to
192.168.3.33:1812 length 258
(7) User-Name = "testuser01"
(7) NAS-IP-Address = 192.168.3.5
(7) NAS-Port = 0
(7) NAS-Identifier = "192.168.3.10"
(7) NAS-Port-Type = Wireless-802.11
(7) Calling-Station-Id = "70bbe9363cbc"
(7) Called-Station-Id = "aca31ec330ac"
(7) Service-Type = Login-User
(7) Framed-MTU = 1100
(7) EAP-Message =
0x0208002e1900170303002300000000000000010a037c555996db35fdb7fad2ce5943f03384a4ead8ba25df7c154c
(7) State = 0x88cee37d8ec6faf6436d51aeb3669f4b
(7) Aruba-Essid-Name = "radius"
(7) Aruba-Location-Id = "Turmeric-01"
(7) Aruba-AP-Group = "Turmeric Cloud"
(7) Aruba-Device-Type = "Android"
(7) Message-Authenticator = 0xbc832d002b1a2fb27eaa46160794aba4
(7) session-state: No cached attributes
(7) # Executing section authorize from file /etc/raddb/sites-enabled/default
(7) authorize {
(7) policy filter_username {
(7) if (&User-Name) {
(7) if (&User-Name) -> TRUE
(7) if (&User-Name) {
(7) if (&User-Name =~ / /) {
(7) if (&User-Name =~ / /) -> FALSE
(7) if (&User-Name =~ /@[^@]*@/ ) {
(7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(7) if (&User-Name =~ /\.\./ ) {
(7) if (&User-Name =~ /\.\./ ) -> FALSE
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /@\./) {
(7) if (&User-Name =~ /@\./) -> FALSE
(7) } # if (&User-Name) = notfound
(7) } # policy filter_username = notfound
(7) [preprocess] = ok
(7) [chap] = noop
(7) [mschap] = noop
(7) [digest] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(7) suffix: No such realm "NULL"
(7) [suffix] = noop
(7) eap: Peer sent EAP Response (code 2) ID 8 length 46
(7) eap: Continuing tunnel setup
(7) [eap] = ok
(7) } # authorize = ok
(7) Found Auth-Type = eap
(7) # Executing group from file /etc/raddb/sites-enabled/default
(7) authenticate {
(7) eap: Expiring EAP session with state 0x88cee37d8ec6faf6
(7) eap: Finished EAP session with state 0x88cee37d8ec6faf6
(7) eap: Previous EAP request found for state 0x88cee37d8ec6faf6,
released from the list
(7) eap: Peer sent packet with method EAP PEAP (25)
(7) eap: Calling submodule eap_peap to process data
(7) eap_peap: Continuing EAP-TLS
(7) eap_peap: [eaptls verify] = ok
(7) eap_peap: Done initial handshake
(7) eap_peap: [eaptls process] = ok
(7) eap_peap: Session established. Decoding tunneled attributes
(7) eap_peap: PEAP state WAITING FOR INNER IDENTITY
(7) eap_peap: Identity - testuser01
(7) eap_peap: Got inner identity 'testuser01'
(7) eap_peap: Setting default EAP type for tunneled EAP session
(7) eap_peap: Got tunneled request
(7) eap_peap: EAP-Message = 0x0208000f0174657374757365723031
(7) eap_peap: Setting User-Name to testuser01
(7) eap_peap: Sending tunneled request to inner-tunnel
(7) eap_peap: EAP-Message = 0x0208000f0174657374757365723031
(7) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(7) eap_peap: User-Name = "testuser01"
(7) eap_peap: NAS-IP-Address = 192.168.3.5
(7) eap_peap: NAS-Port = 0
(7) eap_peap: NAS-Identifier = "192.168.3.10"
(7) eap_peap: NAS-Port-Type = Wireless-802.11
(7) eap_peap: Calling-Station-Id = "70bbe9363cbc"
(7) eap_peap: Called-Station-Id = "aca31ec330ac"
(7) eap_peap: Service-Type = Login-User
(7) eap_peap: Framed-MTU = 1100
(7) eap_peap: Aruba-Essid-Name = "radius"
(7) eap_peap: Aruba-Location-Id = "Turmeric-01"
(7) eap_peap: Aruba-AP-Group = "Turmeric Cloud"
(7) eap_peap: Aruba-Device-Type = "Android"
(7) eap_peap: Event-Timestamp = "Apr 25 2019 13:15:36 IST"
(7) Virtual server inner-tunnel received request
(7) EAP-Message = 0x0208000f0174657374757365723031
(7) FreeRADIUS-Proxied-To = 127.0.0.1
(7) User-Name = "testuser01"
(7) NAS-IP-Address = 192.168.3.5
(7) NAS-Port = 0
(7) NAS-Identifier = "192.168.3.10"
(7) NAS-Port-Type = Wireless-802.11
(7) Calling-Station-Id = "70bbe9363cbc"
(7) Called-Station-Id = "aca31ec330ac"
(7) Service-Type = Login-User
(7) Framed-MTU = 1100
(7) Aruba-Essid-Name = "radius"
(7) Aruba-Location-Id = "Turmeric-01"
(7) Aruba-AP-Group = "Turmeric Cloud"
(7) Aruba-Device-Type = "Android"
(7) Event-Timestamp = "Apr 25 2019 13:15:36 IST"
(7) WARNING: Outer and inner identities are the same. User privacy is
compromised.
(7) server inner-tunnel {
(7) # Executing section authorize from file
/etc/raddb/sites-enabled/inner-tunnel
(7) authorize {
(7) policy filter_username {
(7) if (&User-Name) {
(7) if (&User-Name) -> TRUE
(7) if (&User-Name) {
(7) if (&User-Name =~ / /) {
(7) if (&User-Name =~ / /) -> FALSE
(7) if (&User-Name =~ /@[^@]*@/ ) {
(7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(7) if (&User-Name =~ /\.\./ ) {
(7) if (&User-Name =~ /\.\./ ) -> FALSE
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~
/@(.+)\.(.+)$/)) -> FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /@\./) {
(7) if (&User-Name =~ /@\./) -> FALSE
(7) } # if (&User-Name) = notfound
(7) } # policy filter_username = notfound
(7) [chap] = noop
(7) [mschap] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(7) suffix: No such realm "NULL"
(7) [suffix] = noop
(7) update control {
(7) &Proxy-To-Realm := LOCAL
(7) } # update control = noop
(7) eap: Peer sent EAP Response (code 2) ID 8 length 15
(7) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the
rest of authorize
(7) [eap] = ok
(7) } # authorize = ok
(7) Found Auth-Type = eap
(7) # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
(7) authenticate {
(7) eap: Peer sent packet with method EAP Identity (1)
(7) eap: Calling submodule eap_mschapv2 to process data
(7) eap_mschapv2: Issuing Challenge
(7) eap: Sending EAP Request (code 1) ID 9 length 43
(7) eap: EAP session adding &reply:State = 0x8774c43e877dde8b
(7) [eap] = handled
(7) } # authenticate = handled
(7) } # server inner-tunnel
(7) Virtual server sending reply
(7) EAP-Message =
0x0109002b1a0109002610a2b8cf12200cec22655e9015830cd85f667265657261646975732d332e302e3133
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) State = 0x8774c43e877dde8b7e21f26a2c79e1c2
(7) eap_peap: Got tunneled reply code 11
(7) eap_peap: EAP-Message =
0x0109002b1a0109002610a2b8cf12200cec22655e9015830cd85f667265657261646975732d332e302e3133
(7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(7) eap_peap: State = 0x8774c43e877dde8b7e21f26a2c79e1c2
(7) eap_peap: Got tunneled reply RADIUS code 11
(7) eap_peap: EAP-Message =
0x0109002b1a0109002610a2b8cf12200cec22655e9015830cd85f667265657261646975732d332e302e3133
(7) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(7) eap_peap: State = 0x8774c43e877dde8b7e21f26a2c79e1c2
(7) eap_peap: Got tunneled Access-Challenge
(7) eap: Sending EAP Request (code 1) ID 9 length 74
(7) eap: EAP session adding &reply:State = 0x88cee37d8fc7faf6
(7) [eap] = handled
(7) } # authenticate = handled
(7) Using Post-Auth-Type Challenge
(7) # Executing group from file /etc/raddb/sites-enabled/default
(7) Challenge { ... } # empty sub-section is ignored
(7) Sent Access-Challenge Id 57 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(7) EAP-Message =
0x0109004a1900170303003fefcef1eb3520ab4d9f81c5c367ed6ef1662e7438993d06d5d7d2c0128d08024579ba0ad4ad13661ca1ae453530f585e9cca0cc3dea086237694ad642184088
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) State = 0x88cee37d8fc7faf6436d51aeb3669f4b
(7) Finished request
Waking up in 4.8 seconds.
(8) Received Access-Request Id 58 from 192.168.3.5:56875 to
192.168.3.33:1812 length 312
(8) User-Name = "testuser01"
(8) NAS-IP-Address = 192.168.3.5
(8) NAS-Port = 0
(8) NAS-Identifier = "192.168.3.10"
(8) NAS-Port-Type = Wireless-802.11
(8) Calling-Station-Id = "70bbe9363cbc"
(8) Called-Station-Id = "aca31ec330ac"
(8) Service-Type = Login-User
(8) Framed-MTU = 1100
(8) EAP-Message =
0x02090064190017030300590000000000000002912a4bbbbb6010d5acd94c6f51056cdd39c9413e90e30fd464c81d5d0beb1f248123c6e27c0782c23f681c1d317833e470b8a7616e056ec4d611ca952a3b856e03ff3b9e986f3168f4731bc267cc4c0bf4
(8) State = 0x88cee37d8fc7faf6436d51aeb3669f4b
(8) Aruba-Essid-Name = "radius"
(8) Aruba-Location-Id = "Turmeric-01"
(8) Aruba-AP-Group = "Turmeric Cloud"
(8) Aruba-Device-Type = "Android"
(8) Message-Authenticator = 0x4b7bea354edc6f73639793d7579963cc
(8) session-state: No cached attributes
(8) # Executing section authorize from file /etc/raddb/sites-enabled/default
(8) authorize {
(8) policy filter_username {
(8) if (&User-Name) {
(8) if (&User-Name) -> TRUE
(8) if (&User-Name) {
(8) if (&User-Name =~ / /) {
(8) if (&User-Name =~ / /) -> FALSE
(8) if (&User-Name =~ /@[^@]*@/ ) {
(8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(8) if (&User-Name =~ /\.\./ ) {
(8) if (&User-Name =~ /\.\./ ) -> FALSE
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(8) if (&User-Name =~ /\.$/) {
(8) if (&User-Name =~ /\.$/) -> FALSE
(8) if (&User-Name =~ /@\./) {
(8) if (&User-Name =~ /@\./) -> FALSE
(8) } # if (&User-Name) = notfound
(8) } # policy filter_username = notfound
(8) [preprocess] = ok
(8) [chap] = noop
(8) [mschap] = noop
(8) [digest] = noop
(8) suffix: Checking for suffix after "@"
(8) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(8) suffix: No such realm "NULL"
(8) [suffix] = noop
(8) eap: Peer sent EAP Response (code 2) ID 9 length 100
(8) eap: Continuing tunnel setup
(8) [eap] = ok
(8) } # authorize = ok
(8) Found Auth-Type = eap
(8) # Executing group from file /etc/raddb/sites-enabled/default
(8) authenticate {
(8) eap: Expiring EAP session with state 0x8774c43e877dde8b
(8) eap: Finished EAP session with state 0x88cee37d8fc7faf6
(8) eap: Previous EAP request found for state 0x88cee37d8fc7faf6,
released from the list
(8) eap: Peer sent packet with method EAP PEAP (25)
(8) eap: Calling submodule eap_peap to process data
(8) eap_peap: Continuing EAP-TLS
(8) eap_peap: [eaptls verify] = ok
(8) eap_peap: Done initial handshake
(8) eap_peap: [eaptls process] = ok
(8) eap_peap: Session established. Decoding tunneled attributes
(8) eap_peap: PEAP state phase2
(8) eap_peap: EAP method MSCHAPv2 (26)
(8) eap_peap: Got tunneled request
(8) eap_peap: EAP-Message =
0x020900451a0209004031659f2285d8ee8860f84d70990585bd500000000000000000316eb68a15d4c957133e1d108063f7fe2c7c436411d569030074657374757365723031
(8) eap_peap: Setting User-Name to testuser01
(8) eap_peap: Sending tunneled request to inner-tunnel
(8) eap_peap: EAP-Message =
0x020900451a0209004031659f2285d8ee8860f84d70990585bd500000000000000000316eb68a15d4c957133e1d108063f7fe2c7c436411d569030074657374757365723031
(8) eap_peap: FreeRADIUS-Proxied-To = 127.0.0.1
(8) eap_peap: User-Name = "testuser01"
(8) eap_peap: State = 0x8774c43e877dde8b7e21f26a2c79e1c2
(8) eap_peap: NAS-IP-Address = 192.168.3.5
(8) eap_peap: NAS-Port = 0
(8) eap_peap: NAS-Identifier = "192.168.3.10"
(8) eap_peap: NAS-Port-Type = Wireless-802.11
(8) eap_peap: Calling-Station-Id = "70bbe9363cbc"
(8) eap_peap: Called-Station-Id = "aca31ec330ac"
(8) eap_peap: Service-Type = Login-User
(8) eap_peap: Framed-MTU = 1100
(8) eap_peap: Aruba-Essid-Name = "radius"
(8) eap_peap: Aruba-Location-Id = "Turmeric-01"
(8) eap_peap: Aruba-AP-Group = "Turmeric Cloud"
(8) eap_peap: Aruba-Device-Type = "Android"
(8) eap_peap: Event-Timestamp = "Apr 25 2019 13:15:36 IST"
(8) Virtual server inner-tunnel received request
(8) EAP-Message =
0x020900451a0209004031659f2285d8ee8860f84d70990585bd500000000000000000316eb68a15d4c957133e1d108063f7fe2c7c436411d569030074657374757365723031
(8) FreeRADIUS-Proxied-To = 127.0.0.1
(8) User-Name = "testuser01"
(8) State = 0x8774c43e877dde8b7e21f26a2c79e1c2
(8) NAS-IP-Address = 192.168.3.5
(8) NAS-Port = 0
(8) NAS-Identifier = "192.168.3.10"
(8) NAS-Port-Type = Wireless-802.11
(8) Calling-Station-Id = "70bbe9363cbc"
(8) Called-Station-Id = "aca31ec330ac"
(8) Service-Type = Login-User
(8) Framed-MTU = 1100
(8) Aruba-Essid-Name = "radius"
(8) Aruba-Location-Id = "Turmeric-01"
(8) Aruba-AP-Group = "Turmeric Cloud"
(8) Aruba-Device-Type = "Android"
(8) Event-Timestamp = "Apr 25 2019 13:15:36 IST"
(8) WARNING: Outer and inner identities are the same. User privacy is
compromised.
(8) server inner-tunnel {
(8) session-state: No cached attributes
(8) # Executing section authorize from file
/etc/raddb/sites-enabled/inner-tunnel
(8) authorize {
(8) policy filter_username {
(8) if (&User-Name) {
(8) if (&User-Name) -> TRUE
(8) if (&User-Name) {
(8) if (&User-Name =~ / /) {
(8) if (&User-Name =~ / /) -> FALSE
(8) if (&User-Name =~ /@[^@]*@/ ) {
(8) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(8) if (&User-Name =~ /\.\./ ) {
(8) if (&User-Name =~ /\.\./ ) -> FALSE
(8) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(8) if ((&User-Name =~ /@/) && (&User-Name !~
/@(.+)\.(.+)$/)) -> FALSE
(8) if (&User-Name =~ /\.$/) {
(8) if (&User-Name =~ /\.$/) -> FALSE
(8) if (&User-Name =~ /@\./) {
(8) if (&User-Name =~ /@\./) -> FALSE
(8) } # if (&User-Name) = notfound
(8) } # policy filter_username = notfound
(8) [chap] = noop
(8) [mschap] = noop
(8) suffix: Checking for suffix after "@"
(8) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(8) suffix: No such realm "NULL"
(8) [suffix] = noop
(8) update control {
(8) &Proxy-To-Realm := LOCAL
(8) } # update control = noop
(8) eap: Peer sent EAP Response (code 2) ID 9 length 69
(8) eap: No EAP Start, assuming it's an on-going EAP conversation
(8) [eap] = updated
(8) [files] = noop
(8) sql: EXPAND %{User-Name}
(8) sql: --> testuser01
(8) sql: SQL-User-Name set to 'testuser01'
rlm_sql (sql): Reserved connection (2)
(8) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck
WHERE username = '%{SQL-User-Name}' ORDER BY id
(8) sql: --> SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'testuser01' ORDER BY id
(8) sql: Executing select query: SELECT id, username, attribute, value,
op FROM radcheck WHERE username = 'testuser01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 3 , fields = 5
(8) sql: User found in radcheck table
(8) sql: EXPAND SELECT group_name FROM radusergroup WHERE
username='%{SQL-User-Name}' ORDER BY priority
(8) sql: --> SELECT group_name FROM radusergroup WHERE
username='testuser01' ORDER BY priority
(8) sql: Executing select query: SELECT group_name FROM radusergroup
WHERE username='testuser01' ORDER BY priority
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 1 , fields = 1
(8) sql: User found in the group table
(8) sql: EXPAND SELECT id, group_name, attribute, value, op FROM
radgroupcheck WHERE group_name = '%{SQL-Group}' ORDER BY id
(8) sql: --> SELECT id, group_name, attribute, value, op FROM
radgroupcheck WHERE group_name = 'testgroup01' ORDER BY id
(8) sql: Executing select query: SELECT id, group_name, attribute,
value, op FROM radgroupcheck WHERE group_name = 'testgroup01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 2 , fields = 5
(8) sql: Group "testgroup01": Conditional check items matched
(8) sql: Group "testgroup01": Merging assignment check items
(8) sql: Simultaneous-Use := 1
(8) sql: Login-Time := "Any1000-1330"
(8) sql: EXPAND SELECT id, group_name, attribute, value, op FROM
radgroupreply WHERE group_name = '%{SQL-Group}' ORDER BY id
(8) sql: --> SELECT id, group_name, attribute, value, op FROM
radgroupreply WHERE group_name = 'testgroup01' ORDER BY id
(8) sql: Executing select query: SELECT id, group_name, attribute,
value, op FROM radgroupreply WHERE group_name = 'testgroup01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 2 , fields = 5
(8) sql: Group "testgroup01": Merging reply items
(8) sql: Tunnel-Type := VLAN
(8) sql: Tunnel-Medium-Type := IEEE-802
rlm_sql (sql): Released connection (2)
(8) [sql] = ok
(8) [expiration] = noop
(8) logintime: Checking Login-Time
(8) logintime: Login within allowed time-slot, 960 seconds left in this
session
(8) logintime: reply:Session-Timeout set to 960
(8) [logintime] = updated
(8) [pap] = noop
(8) } # authorize = updated
(8) Found Auth-Type = eap
(8) # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
(8) authenticate {
(8) eap: Expiring EAP session with state 0x8774c43e877dde8b
(8) eap: Finished EAP session with state 0x8774c43e877dde8b
(8) eap: Previous EAP request found for state 0x8774c43e877dde8b,
released from the list
(8) eap: Peer sent packet with method EAP MSCHAPv2 (26)
(8) eap: Calling submodule eap_mschapv2 to process data
(8) eap_mschapv2: # Executing group from file
/etc/raddb/sites-enabled/inner-tunnel
(8) eap_mschapv2: authenticate {
(8) mschap: WARNING: No Cleartext-Password configured. Cannot create
NT-Password
(8) mschap: WARNING: No Cleartext-Password configured. Cannot create
LM-Password
(8) mschap: Creating challenge hash with username: testuser01
(8) mschap: Client is using MS-CHAPv2
(8) mschap: ERROR: FAILED: No NT/LM-Password. Cannot perform authentication
(8) mschap: ERROR: MS-CHAP2-Response is incorrect
(8) [mschap] = reject
(8) } # authenticate = reject
(8) eap: Sending EAP Failure (code 4) ID 9 length 4
(8) eap: Freeing handler
(8) [eap] = reject
(8) } # authenticate = reject
(8) Failed to authenticate the user
(8) Using Post-Auth-Type Reject
(8) # Executing group from file /etc/raddb/sites-enabled/inner-tunnel
(8) Post-Auth-Type REJECT {
(8) sql: EXPAND .query
(8) sql: --> .query
(8) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (3)
(8) sql: EXPAND %{User-Name}
(8) sql: --> testuser01
(8) sql: SQL-User-Name set to 'testuser01'
(8) sql: EXPAND INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES('%{User-Name}', '%{%{User-Password}:-Chap-Password}',
'%{reply:Packet-Type}', NOW())
(8) sql: --> INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES('testuser01', 'Chap-Password', 'Access-Reject', NOW())
(8) sql: EXPAND /var/log/radius/sqllog.sql
(8) sql: --> /var/log/radius/sqllog.sql
(8) sql: Executing query: INSERT INTO radpostauth (username, pass,
reply, authdate) VALUES('testuser01', 'Chap-Password', 'Access-Reject',
NOW())
rlm_sql_postgresql: Status: PGRES_COMMAND_OK
rlm_sql_postgresql: query affected rows = 1
(8) sql: SQL query returned: success
(8) sql: 1 record(s) updated
rlm_sql (sql): Released connection (3)
(8) [sql] = ok
(8) attr_filter.access_reject: EXPAND %{User-Name}
(8) attr_filter.access_reject: --> testuser01
(8) attr_filter.access_reject: Matched entry DEFAULT at line 11
(8) [attr_filter.access_reject] = updated
(8) update outer.session-state {
(8) &Module-Failure-Message := &request:Module-Failure-Message
-> 'mschap: FAILED: No NT/LM-Password. Cannot perform authentication'
(8) } # update outer.session-state = noop
(8) } # Post-Auth-Type REJECT = updated
(8) } # server inner-tunnel
(8) Virtual server sending reply
(8) MS-CHAP-Error = "\tE=691 R=1 C=f1f861c8e87f4886767caecbe38dba41
V=3 M=Authentication failed"
(8) EAP-Message = 0x04090004
(8) Message-Authenticator = 0x00000000000000000000000000000000
(8) eap_peap: Got tunneled reply code 3
(8) eap_peap: MS-CHAP-Error = "\tE=691 R=1
C=f1f861c8e87f4886767caecbe38dba41 V=3 M=Authentication failed"
(8) eap_peap: EAP-Message = 0x04090004
(8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(8) eap_peap: Got tunneled reply RADIUS code 3
(8) eap_peap: MS-CHAP-Error = "\tE=691 R=1
C=f1f861c8e87f4886767caecbe38dba41 V=3 M=Authentication failed"
(8) eap_peap: EAP-Message = 0x04090004
(8) eap_peap: Message-Authenticator = 0x00000000000000000000000000000000
(8) eap_peap: Tunneled authentication was rejected
(8) eap_peap: FAILURE
(8) eap: Sending EAP Request (code 1) ID 10 length 46
(8) eap: EAP session adding &reply:State = 0x88cee37d80c4faf6
(8) [eap] = handled
(8) } # authenticate = handled
(8) Using Post-Auth-Type Challenge
(8) # Executing group from file /etc/raddb/sites-enabled/default
(8) Challenge { ... } # empty sub-section is ignored
(8) session-state: Saving cached attributes
(8) Module-Failure-Message := "mschap: FAILED: No NT/LM-Password.
Cannot perform authentication"
(8) Sent Access-Challenge Id 58 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(8) EAP-Message =
0x010a002e19001703030023efcef1eb3520ab4e693f6bee3ee6abf3925e5937d65b32e22aaed2921cec8fafa67fe9
(8) Message-Authenticator = 0x00000000000000000000000000000000
(8) State = 0x88cee37d80c4faf6436d51aeb3669f4b
(8) Finished request
Waking up in 4.8 seconds.
(9) Received Access-Request Id 59 from 192.168.3.5:56875 to
192.168.3.33:1812 length 258
(9) User-Name = "testuser01"
(9) NAS-IP-Address = 192.168.3.5
(9) NAS-Port = 0
(9) NAS-Identifier = "192.168.3.10"
(9) NAS-Port-Type = Wireless-802.11
(9) Calling-Station-Id = "70bbe9363cbc"
(9) Called-Station-Id = "aca31ec330ac"
(9) Service-Type = Login-User
(9) Framed-MTU = 1100
(9) EAP-Message =
0x020a002e1900170303002300000000000000033ab87a571cfb4aba7a039a4bb1766e214abc0c00eb82e14999bf63
(9) State = 0x88cee37d80c4faf6436d51aeb3669f4b
(9) Aruba-Essid-Name = "radius"
(9) Aruba-Location-Id = "Turmeric-01"
(9) Aruba-AP-Group = "Turmeric Cloud"
(9) Aruba-Device-Type = "Android"
(9) Message-Authenticator = 0x4c1d2cde6b925d4ed8a309c8a51474b3
(9) Restoring &session-state
(9) &session-state:Module-Failure-Message := "mschap: FAILED: No
NT/LM-Password. Cannot perform authentication"
(9) # Executing section authorize from file /etc/raddb/sites-enabled/default
(9) authorize {
(9) policy filter_username {
(9) if (&User-Name) {
(9) if (&User-Name) -> TRUE
(9) if (&User-Name) {
(9) if (&User-Name =~ / /) {
(9) if (&User-Name =~ / /) -> FALSE
(9) if (&User-Name =~ /@[^@]*@/ ) {
(9) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(9) if (&User-Name =~ /\.\./ ) {
(9) if (&User-Name =~ /\.\./ ) -> FALSE
(9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(9) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/))
-> FALSE
(9) if (&User-Name =~ /\.$/) {
(9) if (&User-Name =~ /\.$/) -> FALSE
(9) if (&User-Name =~ /@\./) {
(9) if (&User-Name =~ /@\./) -> FALSE
(9) } # if (&User-Name) = notfound
(9) } # policy filter_username = notfound
(9) [preprocess] = ok
(9) [chap] = noop
(9) [mschap] = noop
(9) [digest] = noop
(9) suffix: Checking for suffix after "@"
(9) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(9) suffix: No such realm "NULL"
(9) [suffix] = noop
(9) eap: Peer sent EAP Response (code 2) ID 10 length 46
(9) eap: Continuing tunnel setup
(9) [eap] = ok
(9) } # authorize = ok
(9) Found Auth-Type = eap
(9) # Executing group from file /etc/raddb/sites-enabled/default
(9) authenticate {
(9) eap: Expiring EAP session with state 0x88cee37d80c4faf6
(9) eap: Finished EAP session with state 0x88cee37d80c4faf6
(9) eap: Previous EAP request found for state 0x88cee37d80c4faf6,
released from the list
(9) eap: Peer sent packet with method EAP PEAP (25)
(9) eap: Calling submodule eap_peap to process data
(9) eap_peap: Continuing EAP-TLS
(9) eap_peap: [eaptls verify] = ok
(9) eap_peap: Done initial handshake
(9) eap_peap: [eaptls process] = ok
(9) eap_peap: Session established. Decoding tunneled attributes
(9) eap_peap: PEAP state send tlv failure
(9) eap_peap: Received EAP-TLV response
(9) eap_peap: ERROR: The users session was previously rejected:
returning reject (again.)
(9) eap_peap: This means you need to read the PREVIOUS messages in the
debug output
(9) eap_peap: to find out the reason why the user was rejected
(9) eap_peap: Look for "reject" or "fail". Those earlier messages
will tell you
(9) eap_peap: what went wrong, and how to fix the problem
(9) eap: ERROR: Failed continuing EAP PEAP (25) session. EAP sub-module
failed
(9) eap: Sending EAP Failure (code 4) ID 10 length 4
(9) eap: Failed in EAP select
(9) [eap] = invalid
(9) } # authenticate = invalid
(9) Failed to authenticate the user
(9) Using Post-Auth-Type Reject
(9) # Executing group from file /etc/raddb/sites-enabled/default
(9) Post-Auth-Type REJECT {
(9) sql: EXPAND .query
(9) sql: --> .query
(9) sql: Using query template 'query'
rlm_sql (sql): Reserved connection (4)
(9) sql: EXPAND %{User-Name}
(9) sql: --> testuser01
(9) sql: SQL-User-Name set to 'testuser01'
(9) sql: EXPAND INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES('%{User-Name}', '%{%{User-Password}:-Chap-Password}',
'%{reply:Packet-Type}', NOW())
(9) sql: --> INSERT INTO radpostauth (username, pass, reply,
authdate) VALUES('testuser01', 'Chap-Password', 'Access-Reject', NOW())
(9) sql: EXPAND /var/log/radius/sqllog.sql
(9) sql: --> /var/log/radius/sqllog.sql
(9) sql: Executing query: INSERT INTO radpostauth (username, pass,
reply, authdate) VALUES('testuser01', 'Chap-Password', 'Access-Reject',
NOW())
rlm_sql_postgresql: Status: PGRES_COMMAND_OK
rlm_sql_postgresql: query affected rows = 1
(9) sql: SQL query returned: success
(9) sql: 1 record(s) updated
rlm_sql (sql): Released connection (4)
(9) [sql] = ok
(9) attr_filter.access_reject: EXPAND %{User-Name}
(9) attr_filter.access_reject: --> testuser01
(9) attr_filter.access_reject: Matched entry DEFAULT at line 11
(9) [attr_filter.access_reject] = updated
(9) [eap] = noop
(9) policy remove_reply_message_if_eap {
(9) if (&reply:EAP-Message && &reply:Reply-Message) {
(9) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
(9) else {
(9) [noop] = noop
(9) } # else = noop
(9) } # policy remove_reply_message_if_eap = noop
(9) } # Post-Auth-Type REJECT = updated
(9) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(9) Sending delayed response
(9) Sent Access-Reject Id 59 from 192.168.3.33:1812 to 192.168.3.5:56875
length 44
(9) EAP-Message = 0x040a0004
(9) Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 3.8 seconds.
(0) Cleaning up request packet ID 50 with timestamp +21
(1) Cleaning up request packet ID 46 with timestamp +21
(2) Cleaning up request packet ID 53 with timestamp +21
(3) Cleaning up request packet ID 54 with timestamp +21
(4) Cleaning up request packet ID 55 with timestamp +21
(5) Cleaning up request packet ID 56 with timestamp +21
(6) Cleaning up request packet ID 62 with timestamp +21
(7) Cleaning up request packet ID 57 with timestamp +21
(8) Cleaning up request packet ID 58 with timestamp +21
(9) Cleaning up request packet ID 59 with timestamp +21
Ready to process requests
(10) Received Access-Request Id 60 from 192.168.3.5:56875 to
192.168.3.33:1812 length 209
(10) User-Name = "testuser01"
(10) NAS-IP-Address = 192.168.3.5
(10) NAS-Port = 0
(10) NAS-Identifier = "192.168.3.10"
(10) NAS-Port-Type = Wireless-802.11
(10) Calling-Station-Id = "70bbe9363cbc"
(10) Called-Station-Id = "aca31ec330ac"
(10) Service-Type = Login-User
(10) Framed-MTU = 1100
(10) EAP-Message = 0x0201000f0174657374757365723031
(10) Aruba-Essid-Name = "radius"
(10) Aruba-Location-Id = "Turmeric-01"
(10) Aruba-AP-Group = "Turmeric Cloud"
(10) Aruba-Device-Type = "Android"
(10) Message-Authenticator = 0xc9c784366add4762308897647ba4326d
(10) # Executing section authorize from file
/etc/raddb/sites-enabled/default
(10) authorize {
(10) policy filter_username {
(10) if (&User-Name) {
(10) if (&User-Name) -> TRUE
(10) if (&User-Name) {
(10) if (&User-Name =~ / /) {
(10) if (&User-Name =~ / /) -> FALSE
(10) if (&User-Name =~ /@[^@]*@/ ) {
(10) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(10) if (&User-Name =~ /\.\./ ) {
(10) if (&User-Name =~ /\.\./ ) -> FALSE
(10) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(10) if ((&User-Name =~ /@/) && (&User-Name !~
/@(.+)\.(.+)$/)) -> FALSE
(10) if (&User-Name =~ /\.$/) {
(10) if (&User-Name =~ /\.$/) -> FALSE
(10) if (&User-Name =~ /@\./) {
(10) if (&User-Name =~ /@\./) -> FALSE
(10) } # if (&User-Name) = notfound
(10) } # policy filter_username = notfound
(10) [preprocess] = ok
(10) [chap] = noop
(10) [mschap] = noop
(10) [digest] = noop
(10) suffix: Checking for suffix after "@"
(10) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(10) suffix: No such realm "NULL"
(10) [suffix] = noop
(10) eap: Peer sent EAP Response (code 2) ID 1 length 15
(10) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the
rest of authorize
(10) [eap] = ok
(10) } # authorize = ok
(10) Found Auth-Type = eap
(10) # Executing group from file /etc/raddb/sites-enabled/default
(10) authenticate {
(10) eap: Peer sent packet with method EAP Identity (1)
(10) eap: Calling submodule eap_md5 to process data
(10) eap_md5: Issuing MD5 Challenge
(10) eap: Sending EAP Request (code 1) ID 2 length 22
(10) eap: EAP session adding &reply:State = 0x64d54cf864d74889
(10) [eap] = handled
(10) } # authenticate = handled
(10) Using Post-Auth-Type Challenge
(10) # Executing group from file /etc/raddb/sites-enabled/default
(10) Challenge { ... } # empty sub-section is ignored
(10) Sent Access-Challenge Id 60 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(10) EAP-Message = 0x010200160410a67a097e5a57ce9d29b77c666c4934f8
(10) Message-Authenticator = 0x00000000000000000000000000000000
(10) State = 0x64d54cf864d748893c5faf57da78357c
(10) Finished request
Waking up in 4.9 seconds.
(11) Received Access-Request Id 61 from 192.168.3.5:56875 to
192.168.3.33:1812 length 220
(11) User-Name = "testuser01"
(11) NAS-IP-Address = 192.168.3.5
(11) NAS-Port = 0
(11) NAS-Identifier = "192.168.3.10"
(11) NAS-Port-Type = Wireless-802.11
(11) Calling-Station-Id = "70bbe9363cbc"
(11) Called-Station-Id = "aca31ec330ac"
(11) Service-Type = Login-User
(11) Framed-MTU = 1100
(11) EAP-Message = 0x0202000803191534
(11) State = 0x64d54cf864d748893c5faf57da78357c
(11) Aruba-Essid-Name = "radius"
(11) Aruba-Location-Id = "Turmeric-01"
(11) Aruba-AP-Group = "Turmeric Cloud"
(11) Aruba-Device-Type = "Android"
(11) Message-Authenticator = 0x4da7e2187e3a4c0ebe877ef73762cafc
(11) session-state: No cached attributes
(11) # Executing section authorize from file
/etc/raddb/sites-enabled/default
(11) authorize {
(11) policy filter_username {
(11) if (&User-Name) {
(11) if (&User-Name) -> TRUE
(11) if (&User-Name) {
(11) if (&User-Name =~ / /) {
(11) if (&User-Name =~ / /) -> FALSE
(11) if (&User-Name =~ /@[^@]*@/ ) {
(11) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(11) if (&User-Name =~ /\.\./ ) {
(11) if (&User-Name =~ /\.\./ ) -> FALSE
(11) if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\.(.+)$/)) {
(11) if ((&User-Name =~ /@/) && (&User-Name !~
/@(.+)\.(.+)$/)) -> FALSE
(11) if (&User-Name =~ /\.$/) {
(11) if (&User-Name =~ /\.$/) -> FALSE
(11) if (&User-Name =~ /@\./) {
(11) if (&User-Name =~ /@\./) -> FALSE
(11) } # if (&User-Name) = notfound
(11) } # policy filter_username = notfound
(11) [preprocess] = ok
(11) [chap] = noop
(11) [mschap] = noop
(11) [digest] = noop
(11) suffix: Checking for suffix after "@"
(11) suffix: No '@' in User-Name = "testuser01", looking up realm NULL
(11) suffix: No such realm "NULL"
(11) [suffix] = noop
(11) eap: Peer sent EAP Response (code 2) ID 2 length 8
(11) eap: No EAP Start, assuming it's an on-going EAP conversation
(11) [eap] = updated
(11) [files] = noop
(11) sql: EXPAND %{User-Name}
(11) sql: --> testuser01
(11) sql: SQL-User-Name set to 'testuser01'
rlm_sql (sql): Reserved connection (0)
(11) sql: EXPAND SELECT id, username, attribute, value, op FROM radcheck
WHERE username = '%{SQL-User-Name}' ORDER BY id
(11) sql: --> SELECT id, username, attribute, value, op FROM radcheck
WHERE username = 'testuser01' ORDER BY id
(11) sql: Executing select query: SELECT id, username, attribute, value,
op FROM radcheck WHERE username = 'testuser01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 3 , fields = 5
(11) sql: User found in radcheck table
(11) sql: EXPAND SELECT group_name FROM radusergroup WHERE
username='%{SQL-User-Name}' ORDER BY priority
(11) sql: --> SELECT group_name FROM radusergroup WHERE
username='testuser01' ORDER BY priority
(11) sql: Executing select query: SELECT group_name FROM radusergroup
WHERE username='testuser01' ORDER BY priority
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 1 , fields = 1
(11) sql: User found in the group table
(11) sql: EXPAND SELECT id, group_name, attribute, value, op FROM
radgroupcheck WHERE group_name = '%{SQL-Group}' ORDER BY id
(11) sql: --> SELECT id, group_name, attribute, value, op FROM
radgroupcheck WHERE group_name = 'testgroup01' ORDER BY id
(11) sql: Executing select query: SELECT id, group_name, attribute,
value, op FROM radgroupcheck WHERE group_name = 'testgroup01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 2 , fields = 5
(11) sql: Group "testgroup01": Conditional check items matched
(11) sql: Group "testgroup01": Merging assignment check items
(11) sql: Simultaneous-Use := 1
(11) sql: Login-Time := "Any1000-1330"
(11) sql: EXPAND SELECT id, group_name, attribute, value, op FROM
radgroupreply WHERE group_name = '%{SQL-Group}' ORDER BY id
(11) sql: --> SELECT id, group_name, attribute, value, op FROM
radgroupreply WHERE group_name = 'testgroup01' ORDER BY id
(11) sql: Executing select query: SELECT id, group_name, attribute,
value, op FROM radgroupreply WHERE group_name = 'testgroup01' ORDER BY id
rlm_sql_postgresql: Status: PGRES_TUPLES_OK
rlm_sql_postgresql: query affected rows = 2 , fields = 5
(11) sql: Group "testgroup01": Merging reply items
(11) sql: Tunnel-Type := VLAN
(11) sql: Tunnel-Medium-Type := IEEE-802
rlm_sql (sql): Released connection (0)
Need 3 more connections to reach 10 spares
rlm_sql (sql): Opening additional connection (7), 1 of 25 pending slots used
rlm_sql_postgresql: Connecting using parameters: dbname=gradius
host=localhost user=gradius password=password
application_name='FreeRADIUS 3.0.13 - radiusd (sql)'
Connected to database 'gradius' on 'localhost' server version 90224,
protocol version 3, backend PID 8944
(11) [sql] = ok
(11) [expiration] = noop
(11) logintime: Checking Login-Time
(11) logintime: Login within allowed time-slot, 960 seconds left in this
session
(11) logintime: reply:Session-Timeout set to 960
(11) [logintime] = updated
(11) pap: WARNING: No "known good" password found for the user. Not
setting Auth-Type
(11) pap: WARNING: Authentication will fail unless a "known good"
password is available
(11) [pap] = noop
(11) } # authorize = updated
(11) Found Auth-Type = eap
(11) # Executing group from file /etc/raddb/sites-enabled/default
(11) authenticate {
(11) eap: Expiring EAP session with state 0x64d54cf864d74889
(11) eap: Finished EAP session with state 0x64d54cf864d74889
(11) eap: Previous EAP request found for state 0x64d54cf864d74889,
released from the list
(11) eap: Peer sent packet with method EAP NAK (3)
(11) eap: Found mutually acceptable type PEAP (25)
(11) eap: Calling submodule eap_peap to process data
(11) eap_peap: Initiating new EAP-TLS session
(11) eap_peap: [eaptls start] = request
(11) eap: Sending EAP Request (code 1) ID 3 length 6
(11) eap: EAP session adding &reply:State = 0x64d54cf865d65589
(11) [eap] = handled
(11) } # authenticate = handled
(11) Using Post-Auth-Type Challenge
(11) # Executing group from file /etc/raddb/sites-enabled/default
(11) Challenge { ... } # empty sub-section is ignored
(11) Sent Access-Challenge Id 61 from 192.168.3.33:1812 to
192.168.3.5:56875 length 0
(11) Tunnel-Type = VLAN
(11) Tunnel-Medium-Type = IEEE-802
(11) Session-Timeout = 960
(11) EAP-Message = 0x010300061920
(11) Message-Authenticator = 0x00000000000000000000000000000000
(11) State = 0x64d54cf865d655893c5faf57da78357c
(11) Finished request
Waking up in 4.9 seconds.
More information about the Freeradius-Users
mailing list