Rest Authentication User-Password missing

Sean Hamilton sean at kettlespace.com
Tue Apr 23 03:04:05 CEST 2019


I have a problem authenticating users on my freeradius server. It appears
as if the `User-Password` attribute is empty. I receive the following error
when authenticating:

rest: ERROR: You set 'Auth-Type = REST' for a request that does not contain
a User-Password attribute!

I'm not sure if the problem is with my AP. radtest work as expected.

[root at ip-172-31-54-190 raddb]# radiusd -X

FreeRADIUS Version 3.0.18

Copyright (C) 1999-2019 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 configuration file /etc/raddb/clients.conf

including files in directory /etc/raddb/mods-enabled/

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/rest

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/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 files in directory /etc/raddb/policy.d/

including configuration file /etc/raddb/policy.d/abfab-tr

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/moonshot-targeted-ids

including configuration file /etc/raddb/policy.d/operator-name

including configuration file /etc/raddb/policy.d/rfc7542

including files in directory /etc/raddb/sites-enabled/

including configuration file /etc/raddb/sites-enabled/inner-tunnel

including configuration file /etc/raddb/sites-enabled/default

main {

 security {

  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

  allow_vulnerable_openssl = "no"

 }

}

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 ####

 client localhost {

  ipaddr = 127.0.0.1

  require_message_authenticator = no

  secret = <<< secret >>>

  nas_type = "other"

  proto = "*"

  limit {

  max_connections = 16

  lifetime = 0

  idle_timeout = 30

  }

 }

 client 0.0.0.0/0 {

  require_message_authenticator = no

  secret = <<< secret >>>

  limit {

  max_connections = 16

  lifetime = 0

  idle_timeout = 30

  }

 }

No 'ipaddr' or 'ipv4addr' or 'ipv6addr' field found in client 0.0.0.0/0.
Please fix your configuration

Support for old-style clients will be removed in a future release

 client ::/0 {

  require_message_authenticator = no

  secret = <<< secret >>>

  limit {

  max_connections = 16

  lifetime = 0

  idle_timeout = 30

  }

 }

No 'ipaddr' or 'ipv4addr' or 'ipv6addr' field found in client ::/0. Please
fix your configuration

Support for old-style clients will be removed in a future release

 client localhost_ipv6 {

  ipv6addr = ::1

  require_message_authenticator = no

  secret = <<< secret >>>

  limit {

  max_connections = 16

  lifetime = 0

  idle_timeout = 30

  }

 }

Debugger not attached

 # Creating Auth-Type = mschap

 # Creating Auth-Type = eap

 # Creating Auth-Type = PAP

 # Creating Auth-Type = CHAP

 # Creating Auth-Type = MS-CHAP

 # Creating Auth-Type = digest

 # Creating Auth-Type = rest

radiusd: #### Instantiating modules ####

 modules {

  # 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 "bangpath" from file /etc/raddb/mods-enabled/realm

  realm bangpath {

  format = "prefix"

  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_rest

  # Loading module "rest" from file /etc/raddb/mods-enabled/rest

  rest {

  connect_uri = "https://bla-spire-29862.herokuapp.com/"

  connect_timeout = 4.000000

  }

  # 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"

  utc = no

  }

  # Loading module "wispr2date" from file /etc/raddb/mods-enabled/date

  date wispr2date {

  format = "%Y-%m-%dT%H:%M:%S"

  utc = no

  }

  # 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_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

  }

  instantiate {

  }

  # 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 "bangpath" 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 "rest" from file /etc/raddb/mods-enabled/rest

   authorize {

    uri = "https://bla-spire-29862.herokuapp.com/auth/authorize"

    method = "post"

    body = "json"

    data = "{ "username": "%{User-Name}", "password": "%{User-Password}" }"

    force_to = "json"

    auth = "none"

    require_auth = no

    timeout = 4.000000

    chunk = 0

    tls {

    check_cert = yes

    check_cert_cn = yes

    }

   }

   authenticate {

    uri = "https://bla-spire-29862.herokuapp.com/auth/login"

    method = "post"

    body = "json"

    data = "{ "username": "%{User-Name}", "password": "%{User-Password}" }"

    force_to = "json"

    auth = "none"

    require_auth = no

    timeout = 4.000000

    chunk = 0

    tls {

    check_cert = yes

    check_cert_cn = yes

    }

   }

   accounting {

    uri = "https://bla-spire-29862.herokuapp.com/accounting/%{User-Name}"

    method = "post"

    body = "post"

    data = "{"username": %{User-Name}, "apIpAddress": "%{NAS-IP-Address}",
"apPort": "{%NAS-Port}", "callingStationId": "%{Calling-Station-Id}",
"framedIpAddress": "%{Framed-IP-Address}", "calledStationId":
"%{Called-Station-Id}", "apIdentifier": "%{NAS-Identifier}",
acctStatusType: %{Acct-Status-Type}, acctSessionId: %{Acct-Session-Id},
eventTimestamp: %{Event-Timestamp}, wISPr-Location-ID:
%{WISPr-Location-ID}, WISPr-Location-Name: %{WISPr-Location-Name},
"sessionId": "%{Acct-Unique-Session-Id}"}"

    auth = "none"

    require_auth = no

    timeout = 4.000000

    chunk = 0

    tls {

    check_cert = yes

    check_cert_cn = yes

    }

   }

rlm_rest: libcurl version changed since the server was built

rlm_rest: linked: 7.61.1 built: 7.29.0

rlm_rest: libcurl version: libcurl/7.61.1 OpenSSL/1.0.2k zlib/1.2.7
libidn2/2.0.4 libssh2/1.4.3 nghttp2/1.31.1

rlm_rest (rest): Initialising connection pool

   pool {

    start = 5

    min = 0

    max = 32

    spare = 10

    uses = 0

    lifetime = 0

    cleanup_interval = 30

    idle_timeout = 60

    retry_delay = 30

    spread = no

   }

rlm_rest (rest): Opening additional connection (0), 1 of 32 pending slots
used

rlm_rest (rest): Connecting to "https://bla-spire-29862.herokuapp.com/"

rlm_rest (rest): Opening additional connection (1), 1 of 31 pending slots
used

rlm_rest (rest): Connecting to "https://bla-spire-29862.herokuapp.com/"

rlm_rest (rest): Opening additional connection (2), 1 of 30 pending slots
used

rlm_rest (rest): Connecting to "https://bla-spire-29862.herokuapp.com/"

rlm_rest (rest): Opening additional connection (3), 1 of 29 pending slots
used

rlm_rest (rest): Connecting to "https://bla-spire-29862.herokuapp.com/"

rlm_rest (rest): Opening additional connection (4), 1 of 28 pending slots
used

rlm_rest (rest): Connecting to "https://bla-spire-29862.herokuapp.com/"

  # 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

  # 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"

    tls_max_version = ""

    tls_min_version = "1.0"

    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 = no

    use_tunneled_reply = no

    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

 } # modules

radiusd: #### Loading Virtual Servers ####

server { # from file /etc/raddb/radiusd.conf

} # server

server inner-tunnel { # from file /etc/raddb/sites-enabled/inner-tunnel

 # Loading authenticate {...}

 # Loading authorize {...}

Ignoring "sql" (see raddb/mods-available/README.rst)

Ignoring "ldap" (see raddb/mods-available/README.rst)

 # Loading session {...}

 # Loading post-proxy {...}

 # Loading post-auth {...}

 # Skipping contents of 'if' as it is always 'false' --
/etc/raddb/sites-enabled/inner-tunnel:339

} # server inner-tunnel

server default { # from file /etc/raddb/sites-enabled/default

 # Loading authenticate {...}

 # Loading authorize {...}

 # Loading preacct {...}

 # Loading accounting {...}

 # Loading post-proxy {...}

 # Loading post-auth {...}

} # server default

radiusd: #### Opening IP addresses and Ports ####

listen {

  type = "auth"

  ipaddr = 127.0.0.1

  port = 18120

}

listen {

  type = "auth"

  ipaddr = *

  port = 1812

   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

   }

}

Listening on auth address 127.0.0.1 port 18120 bound to server inner-tunnel

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 proxy address * port 38315

Listening on proxy address :: port 59975

Ready to process requests

(0) Received Access-Request Id 1 from 172.254.122.110:39189 to
172.31.54.190:1812 length 237

(0)   User-Name = "sean at kettlespace.com"

(0)   NAS-IP-Address = 10.1.3.100

(0)   NAS-Identifier = "f09fc2cba179"

(0)   Called-Station-Id = "02-9F-C2-CC-A1-79:SeanRadiusTest"

(0)   NAS-Port-Type = Wireless-802.11

(0)   Service-Type = Framed-User

(0)   Calling-Station-Id = "6C-E8-5C-66-76-FD"

(0)   Connect-Info = "CONNECT 0Mbps 802.11b"

(0)   Acct-Session-Id = "4AF926FF85930522"

(0)   WLAN-Pairwise-Cipher = 1027076

(0)   WLAN-Group-Cipher = 1027076

(0)   WLAN-AKM-Suite = 1027073

(0)   Framed-MTU = 1400

(0)   EAP-Message = 0x02010019017365616e406b6574746c6573706163652e636f6d

(0)   Message-Authenticator = 0xa108f672205ef0c265511ecd509b4082

(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: Looking up realm "kettlespace.com" for User-Name = "
sean at kettlespace.com"

(0) suffix: No such realm "kettlespace.com"

(0)     [suffix] = noop

(0) eap: Peer sent EAP Response (code 2) ID 1 length 25

(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 = 0xd875364fd87732b7

(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 1 from 172.31.54.190:1812 to
172.254.122.110:39189 length 0

(0)   EAP-Message = 0x010200160410e67831d8e743b730a6074fa71e6caed4

(0)   Message-Authenticator = 0x00000000000000000000000000000000

(0)   State = 0xd875364fd87732b7119778626ac41c2c

(0) Finished request

Waking up in 4.9 seconds.

(1) Received Access-Request Id 2 from 172.254.122.110:39189 to
172.31.54.190:1812 length 238

(1)   User-Name = "sean at kettlespace.com"

(1)   NAS-IP-Address = 10.1.3.100

(1)   NAS-Identifier = "f09fc2cba179"

(1)   Called-Station-Id = "02-9F-C2-CC-A1-79:SeanRadiusTest"

(1)   NAS-Port-Type = Wireless-802.11

(1)   Service-Type = Framed-User

(1)   Calling-Station-Id = "6C-E8-5C-66-76-FD"

(1)   Connect-Info = "CONNECT 0Mbps 802.11b"

(1)   Acct-Session-Id = "4AF926FF85930522"

(1)   WLAN-Pairwise-Cipher = 1027076

(1)   WLAN-Group-Cipher = 1027076

(1)   WLAN-AKM-Suite = 1027073

(1)   Framed-MTU = 1400

(1)   EAP-Message = 0x020200080319152b

(1)   State = 0xd875364fd87732b7119778626ac41c2c

(1)   Message-Authenticator = 0x4e18580f32a8f48298fa2412fb1cc65e

(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: Looking up realm "kettlespace.com" for User-Name = "
sean at kettlespace.com"

(1) suffix: No such realm "kettlespace.com"

(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: users: Matched entry DEFAULT at line 46

(1)     [files] = ok

rlm_rest (rest): Closing connection (0): Hit idle_timeout, was idle for 64
seconds

rlm_rest (rest): Closing connection (1): Hit idle_timeout, was idle for 64
seconds

rlm_rest (rest): Closing connection (2): Hit idle_timeout, was idle for 63
seconds

rlm_rest (rest): Closing connection (3): Hit idle_timeout, was idle for 63
seconds

rlm_rest (rest): Closing connection (4): Hit idle_timeout, was idle for 63
seconds

rlm_rest (rest): 0 of 0 connections in use.  You  may need to increase
"spare"

rlm_rest (rest): Opening additional connection (5), 1 of 32 pending slots
used

rlm_rest (rest): Connecting to "https://bla-spire-29862.herokuapp.com/"

rlm_rest (rest): Reserved connection (5)

(1) rest: Expanding URI components

(1) rest: EXPAND https://bla-spire-29862.herokuapp.com

(1) rest:    --> https://bla-spire-29862.herokuapp.com

(1) rest: EXPAND /auth/authorize

(1) rest:    --> /auth/authorize

(1) rest: Sending HTTP POST to "
https://bla-spire-29862.herokuapp.com/auth/authorize"

(1) rest: EXPAND { "username": "%{User-Name}", "password":
"%{User-Password}" }

(1) rest:    --> { "username": "sean at kettlespace.com", "password": "" }

(1) rest: Processing response header

(1) rest:   Status : 200 (OK)

(1) rest: Skipping attribute processing, no valid body data received

rlm_rest (rest): Released connection (5)

Need 9 more connections to reach 10 spares

rlm_rest (rest): Opening additional connection (6), 1 of 31 pending slots
used

rlm_rest (rest): Connecting to "https://bla-spire-29862.herokuapp.com/"

(1)     [rest] = ok

(1)     if (ok) {

(1)     if (ok)  -> TRUE

(1)     if (ok)  {

(1)       update control {

(1)         Auth-Type := rest

(1)       } # update control = noop

(1)     } # if (ok)  = noop

(1)     [expiration] = noop

(1)     [logintime] = noop

Not doing PAP as Auth-Type is already set.

(1)     [pap] = noop

(1)   } # authorize = updated

(1) Found Auth-Type = rest

(1) # Executing group from file /etc/raddb/sites-enabled/default

(1)   Auth-Type rest {

(1) rest: ERROR: You set 'Auth-Type = REST' for a request that does not
contain a User-Password attribute!

(1)     [rest] = invalid

(1)   } # Auth-Type rest = invalid

(1) Failed to authenticate the user

(1) Using Post-Auth-Type Reject

(1) # Executing group from file /etc/raddb/sites-enabled/default

(1)   Post-Auth-Type REJECT {

(1) attr_filter.access_reject: EXPAND %{User-Name}

(1) attr_filter.access_reject:    --> sean at kettlespace.com

(1) attr_filter.access_reject: Matched entry DEFAULT at line 11

(1)     [attr_filter.access_reject] = updated

(1) eap: Expiring EAP session with state 0xd875364fd87732b7

(1) eap: Finished EAP session with state 0xd875364fd87732b7

(1) eap: Previous EAP request found for state 0xd875364fd87732b7, released
from the list

(1) eap: Request was previously rejected, inserting EAP-Failure

(1) eap: Sending EAP Failure (code 4) ID 2 length 4

(1)     [eap] = updated

(1)     policy remove_reply_message_if_eap {

(1)       if (&reply:EAP-Message && &reply:Reply-Message) {

(1)       if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE

(1)       else {

(1)         [noop] = noop

(1)       } # else = noop

(1)     } # policy remove_reply_message_if_eap = noop

(1)   } # Post-Auth-Type REJECT = updated

(1) Delaying response for 1.000000 seconds

(0) Cleaning up request packet ID 1 with timestamp +62

(1) (1) Discarding duplicate request from client 0.0.0.0/0 port 39189 - ID:
2 due to delayed response

Waking up in 0.9 seconds.

(2) Received Access-Request Id 3 from 172.254.122.110:39189 to
172.31.54.190:1812 length 237

(2)   User-Name = "sean at kettlespace.com"

(2)   NAS-IP-Address = 10.1.3.100

(2)   NAS-Identifier = "f09fc2cba179"

(2)   Called-Station-Id = "02-9F-C2-CC-A1-79:SeanRadiusTest"

(2)   NAS-Port-Type = Wireless-802.11

(2)   Service-Type = Framed-User

(2)   Calling-Station-Id = "6C-E8-5C-66-76-FD"

(2)   Connect-Info = "CONNECT 0Mbps 802.11b"

(2)   Acct-Session-Id = "4AF926FF85930522"

(2)   WLAN-Pairwise-Cipher = 1027076

(2)   WLAN-Group-Cipher = 1027076

(2)   WLAN-AKM-Suite = 1027073

(2)   Framed-MTU = 1400

(2)   EAP-Message = 0x02160019017365616e406b6574746c6573706163652e636f6d

(2)   Message-Authenticator = 0x0a560958e2ccdb52cf3f09ed3680add3

(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: Looking up realm "kettlespace.com" for User-Name = "
sean at kettlespace.com"

(2) suffix: No such realm "kettlespace.com"

(2)     [suffix] = noop

(2) eap: Peer sent EAP Response (code 2) ID 22 length 25

(2) eap: EAP-Identity reply, returning 'ok' so we can short-circuit the
rest of authorize

(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: Peer sent packet with method EAP Identity (1)

(2) eap: Calling submodule eap_md5 to process data

(2) eap_md5: Issuing MD5 Challenge

(2) eap: Sending EAP Request (code 1) ID 23 length 22

(2) eap: EAP session adding &reply:State = 0x715c6fc2714b6bab

(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 3 from 172.31.54.190:1812 to
172.254.122.110:39189 length 0

(2)   EAP-Message = 0x011700160410237e8eb9de9a23f603d18c150e64006e

(2)   Message-Authenticator = 0x00000000000000000000000000000000

(2)   State = 0x715c6fc2714b6bab969d003cc2468653

(2) Finished request


More information about the Freeradius-Users mailing list