Connect Users registered on a ldaps (azure ad ds with hashed passwords ) via a local freeradius server

Arran Cudbard-Bell a.cudbardb at freeradius.org
Fri Feb 24 18:52:47 UTC 2023


Some instructions here.

https://www.ironwifi.com/help/azure-ad-authentication-with-peap-mschapv2

It looks like you need to use the Azure AD connector, and get the Linux host domain joined then you can use the winbind module to do PEAP authentication.

-Arran

> On Feb 20, 2023, at 4:24 AM, Chris Nzengue - dejamobile externe <chris.nzengue at dejamobile.com> wrote:
> 
> For the begining i want say that . I am reposting another question because my last post wasn't exacty clear. I realized that, my issue was diffrent than the issue i expalined. Because my real issue is very different i prefered create another post.
> 
> What i am trying to do?  I want connect  on the local wifi network , users registry on ldaps(azure ad ds) . The freeradius is on a local server and the azure ad ds is on the cloud. The azure ad ds is not like an classic ldap. An admin User can't read the passord on the azure ad ds (laps). This is the problem beacause, i think ldap authentification works like that. The user enter id and password then the admin user registryed on the ldap check if the password is right or wrong. On azure ad ds (ldaps) the passwords are not saved on an clear text format. The passwords are hashed (or encrypted) .
> i saw an interresing thing about use samba or use a hash function . First samba can be only used with an local active directory and for the second solution i don't know  how to use an hash function.
> I also saw a thing like FreeRADIUS can use LDAP as an authentication oracle, meaning FreeRADIUS passes authentication credentials to LDAP, and LDAP returns a pass/fail response. FreeRADIUS can then generate an Access-Accept or Access-Reject packet based on that. But i also don't know how to do that.
> 
> why i am trying to do it: I want do it because i want secure the wifi network and not use a single keyword. i don't want also oblige users to know a new password and id . I want they use the same password and id.
> 
> What i expect the server to do? i expect the server check on the ldaps if the id and the password received by the acces point are right.  If the id and the password are right then the user join the network. But the problem is the passwords are hashed and i think freeradius can read it.
> 
> What the server does instead (i know my setting is wrong but the posting process oblige me to post my log ) ?
> 
> FreeRADIUS Version 3.0.26
> Copyright (C) 1999-2021 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/freeradius/3.0/dictionary
> including configuration file /etc/freeradius/3.0/radiusd.conf
> including configuration file /etc/freeradius/3.0/proxy.conf
> including configuration file /etc/freeradius/3.0/clients.conf
> including files in directory /etc/freeradius/3.0/mods-enabled/
> including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp
> including configuration file /etc/freeradius/3.0/mods-enabled/chap
> including configuration file /etc/freeradius/3.0/mods-enabled/exec
> including configuration file /etc/freeradius/3.0/mods-enabled/files
> including configuration file /etc/freeradius/3.0/mods-enabled/replicate
> including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap
> including configuration file /etc/freeradius/3.0/mods-enabled/preprocess
> including configuration file /etc/freeradius/3.0/mods-enabled/radutmp
> including configuration file /etc/freeradius/3.0/mods-enabled/ldap
> including configuration file /etc/freeradius/3.0/mods-enabled/logintime
> including configuration file /etc/freeradius/3.0/mods-enabled/detail.log
> including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter
> including configuration file /etc/freeradius/3.0/mods-enabled/digest
> including configuration file /etc/freeradius/3.0/mods-enabled/unix
> including configuration file /etc/freeradius/3.0/mods-enabled/expr
> including configuration file /etc/freeradius/3.0/mods-enabled/dynamic_clients
> including configuration file /etc/freeradius/3.0/mods-enabled/linelog
> including configuration file /etc/freeradius/3.0/mods-enabled/unpack
> including configuration file /etc/freeradius/3.0/mods-enabled/passwd
> including configuration file /etc/freeradius/3.0/mods-enabled/pap
> including configuration file /etc/freeradius/3.0/mods-enabled/echo
> including configuration file /etc/freeradius/3.0/mods-enabled/detail
> including configuration file /etc/freeradius/3.0/mods-enabled/always
> including configuration file /etc/freeradius/3.0/mods-enabled/utf8
> including configuration file /etc/freeradius/3.0/mods-enabled/expiration
> including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth
> including configuration file /etc/freeradius/3.0/mods-enabled/realm
> including configuration file /etc/freeradius/3.0/mods-enabled/eap
> including configuration file /etc/freeradius/3.0/mods-enabled/soh
> including files in directory /etc/freeradius/3.0/policy.d/
> including configuration file /etc/freeradius/3.0/policy.d/control
> including configuration file /etc/freeradius/3.0/policy.d/operator-name
> including configuration file /etc/freeradius/3.0/policy.d/moonshot-targeted-ids
> including configuration file /etc/freeradius/3.0/policy.d/dhcp
> including configuration file /etc/freeradius/3.0/policy.d/filter
> including configuration file /etc/freeradius/3.0/policy.d/canonicalization
> including configuration file /etc/freeradius/3.0/policy.d/accounting
> including configuration file /etc/freeradius/3.0/policy.d/rfc7542
> including configuration file /etc/freeradius/3.0/policy.d/abfab-tr
> including configuration file /etc/freeradius/3.0/policy.d/debug
> including configuration file /etc/freeradius/3.0/policy.d/cui
> including configuration file /etc/freeradius/3.0/policy.d/ntlm_auth
> including configuration file /etc/freeradius/3.0/policy.d/eap
> including files in directory /etc/freeradius/3.0/sites-enabled/
> including configuration file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> including configuration file /etc/freeradius/3.0/sites-enabled/default
> main {
> security {
>      user = "freerad"
>      group = "freerad"
>      allow_core_dumps = no
> }
>       name = "freeradius"
>       prefix = "/usr"
>       localstatedir = "/var"
>       logdir = "/var/log/freeradius"
>       run_dir = "/var/run/freeradius"
> }
> main {
>       name = "freeradius"
>       prefix = "/usr"
>       localstatedir = "/var"
>       sbindir = "/usr/sbin"
>       logdir = "/var/log/freeradius"
>       run_dir = "/var/run/freeradius"
>       libdir = "/usr/lib/freeradius"
>       radacctdir = "/var/log/freeradius/radacct"
>       hostname_lookups = no
>       max_request_time = 30
>       cleanup_delay = 5
>       max_requests = 16384
>       postauth_client_lost = no
>       pidfile = "/var/run/freeradius/freeradius.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 ####
> 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 AP_cisco1 {
>      ipaddr = 192.168.200.20
>      require_message_authenticator = no
>      secret = <<< secret >>>
>      virtual_server = "inner-tunnel"
>      proto = "*"
>  limit {
>      max_connections = 16
>      lifetime = 0
>      idle_timeout = 30
>  }
> }
> client localhost_ipv6 {
>      ipv6addr = ::1
>      require_message_authenticator = no
>      secret = <<< secret >>>
>  limit {
>      max_connections = 16
>      lifetime = 0
>      idle_timeout = 30
>  }
> }
> Debugger not attached
> systemd watchdog is disabled
> # Creating Auth-Type = PAP
> # Creating Auth-Type = LDAP
> # Creating Auth-Type = digest
> # Creating Auth-Type = eap
> # Creating Autz-Type = New-TLS-Connection
> radiusd: #### Instantiating modules ####
> modules {
>  # Loaded module rlm_radutmp
>  # Loading module "sradutmp" from file /etc/freeradius/3.0/mods-enabled/sradutmp
>  radutmp sradutmp {
>      filename = "/var/log/freeradius/sradutmp"
>      username = "%{User-Name}"
>      case_sensitive = yes
>      check_with_nas = yes
>      permissions = 420
>      caller_id = no
>  }
>  # Loaded module rlm_chap
>  # Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap
>  # Loaded module rlm_exec
>  # Loading module "exec" from file /etc/freeradius/3.0/mods-enabled/exec
>  exec {
>      wait = no
>      input_pairs = "request"
>      shell_escape = yes
>      timeout = 10
>  }
>  # Loaded module rlm_files
>  # Loading module "files" from file /etc/freeradius/3.0/mods-enabled/files
>  files {
>      filename = "/etc/freeradius/3.0/mods-config/files/authorize"
>      acctusersfile = "/etc/freeradius/3.0/mods-config/files/accounting"
>      preproxy_usersfile = "/etc/freeradius/3.0/mods-config/files/pre-proxy"
>  }
>  # Loaded module rlm_replicate
>  # Loading module "replicate" from file /etc/freeradius/3.0/mods-enabled/replicate
>  # Loaded module rlm_cache
>  # Loading module "cache_eap" from file /etc/freeradius/3.0/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_preprocess
>  # Loading module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
>  preprocess {
>      huntgroups = "/etc/freeradius/3.0/mods-config/preprocess/huntgroups"
>      hints = "/etc/freeradius/3.0/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
>  }
>  # Loading module "radutmp" from file /etc/freeradius/3.0/mods-enabled/radutmp
>  radutmp {
>      filename = "/var/log/freeradius/radutmp"
>      username = "%{User-Name}"
>      case_sensitive = yes
>      check_with_nas = yes
>      permissions = 384
>      caller_id = yes
>  }
>  # Loaded module rlm_ldap
>  # Loading module "ldap" from file /etc/freeradius/3.0/mods-enabled/ldap
>  ldap {
>      server = "ldaps://aadds.*******.com"
>      port = 636
>      identity = "cn=Radius,ou=AADDC Users, dc=*********,dc=com"
>      password = <<< secret >>>
>   sasl {
>   }
>      user_dn = "LDAP-UserDn"
>   user {
>      scope = "sub"
>      access_positive = yes
>    sasl {
>    }
>   }
>   group {
>      filter = "(objectClass=posixGroup)"
>      scope = "sub"
>      name_attribute = "cn"
>      membership_attribute = "memberOf"
>      cacheable_name = no
>      cacheable_dn = no
>      allow_dangling_group_ref = no
>   }
>   client {
>      filter = "(objectClass=radiusClient)"
>      scope = "sub"
>      base_dn = "ou=AADDC Users,dc=********,dc=com"
>   }
>   profile {
>   }
>   options {
>      ldap_debug = 40
>      chase_referrals = yes
>      rebind = yes
>      net_timeout = 1
>      res_timeout = 10
>      srv_timelimit = 3
>      idle = 60
>      probes = 3
>      interval = 3
>   }
>   tls {
>      tls_min_version = "1.2"
>      start_tls = no
>      require_cert = "never"
>   }
>  }
> Creating attribute LDAP-Group
>  # Loaded module rlm_logintime
>  # Loading module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
>  logintime {
>      minimum_timeout = 60
>  }
>  # Loaded module rlm_detail
>  # Loading module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
>  detail auth_log {
>      filename = "/var/log/freeradius/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/freeradius/3.0/mods-enabled/detail.log
>  detail reply_log {
>      filename = "/var/log/freeradius/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/freeradius/3.0/mods-enabled/detail.log
>  detail pre_proxy_log {
>      filename = "/var/log/freeradius/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/freeradius/3.0/mods-enabled/detail.log
>  detail post_proxy_log {
>      filename = "/var/log/freeradius/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_attr_filter
>  # Loading module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
>  attr_filter attr_filter.post-proxy {
>      filename = "/etc/freeradius/3.0/mods-config/attr_filter/post-proxy"
>      key = "%{Realm}"
>      relaxed = no
>  }
>  # Loading module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
>  attr_filter attr_filter.pre-proxy {
>      filename = "/etc/freeradius/3.0/mods-config/attr_filter/pre-proxy"
>      key = "%{Realm}"
>      relaxed = no
>  }
>  # Loading module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
>  attr_filter attr_filter.access_reject {
>      filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_reject"
>      key = "%{User-Name}"
>      relaxed = no
>  }
>  # Loading module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
>  attr_filter attr_filter.access_challenge {
>      filename = "/etc/freeradius/3.0/mods-config/attr_filter/access_challenge"
>      key = "%{User-Name}"
>      relaxed = no
>  }
>  # Loading module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
>  attr_filter attr_filter.accounting_response {
>      filename = "/etc/freeradius/3.0/mods-config/attr_filter/accounting_response"
>      key = "%{User-Name}"
>      relaxed = no
>  }
>  # Loading module "attr_filter.coa" from file /etc/freeradius/3.0/mods-enabled/attr_filter
>  attr_filter attr_filter.coa {
>      filename = "/etc/freeradius/3.0/mods-config/attr_filter/coa"
>      key = "%{User-Name}"
>      relaxed = no
>  }
>  # Loaded module rlm_digest
>  # Loading module "digest" from file /etc/freeradius/3.0/mods-enabled/digest
>  # Loaded module rlm_unix
>  # Loading module "unix" from file /etc/freeradius/3.0/mods-enabled/unix
>  unix {
>      radwtmp = "/var/log/freeradius/radwtmp"
>  }
> Creating attribute Unix-Group
>  # Loaded module rlm_expr
>  # Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
>  expr {
>      safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
>  }
>  # Loaded module rlm_dynamic_clients
>  # Loading module "dynamic_clients" from file /etc/freeradius/3.0/mods-enabled/dynamic_clients
>  # Loaded module rlm_linelog
>  # Loading module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
>  linelog {
>      filename = "/var/log/freeradius/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/freeradius/3.0/mods-enabled/linelog
>  linelog log_accounting {
>      filename = "/var/log/freeradius/linelog-accounting"
>      escape_filenames = no
>      syslog_severity = "info"
>      permissions = 384
>      format = ""
>      reference = "Accounting-Request.%{%{Acct-Status-Type}:-unknown}"
>  }
>  # Loaded module rlm_unpack
>  # Loading module "unpack" from file /etc/freeradius/3.0/mods-enabled/unpack
>  # Loaded module rlm_passwd
>  # Loading module "etc_passwd" from file /etc/freeradius/3.0/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_pap
>  # Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
>  pap {
>      normalise = yes
>  }
>  # Loading module "echo" from file /etc/freeradius/3.0/mods-enabled/echo
>  exec echo {
>      wait = yes
>      program = "/bin/echo %{User-Name}"
>      input_pairs = "request"
>      output_pairs = "reply"
>      shell_escape = yes
>  }
>  # Loading module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
>  detail {
>      filename = "/var/log/freeradius/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
>  }
>  # Loaded module rlm_always
>  # Loading module "reject" from file /etc/freeradius/3.0/mods-enabled/always
>  always reject {
>      rcode = "reject"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "fail" from file /etc/freeradius/3.0/mods-enabled/always
>  always fail {
>      rcode = "fail"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "ok" from file /etc/freeradius/3.0/mods-enabled/always
>  always ok {
>      rcode = "ok"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "handled" from file /etc/freeradius/3.0/mods-enabled/always
>  always handled {
>      rcode = "handled"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
>  always invalid {
>      rcode = "invalid"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
>  always userlock {
>      rcode = "userlock"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
>  always notfound {
>      rcode = "notfound"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "noop" from file /etc/freeradius/3.0/mods-enabled/always
>  always noop {
>      rcode = "noop"
>      simulcount = 0
>      mpp = no
>  }
>  # Loading module "updated" from file /etc/freeradius/3.0/mods-enabled/always
>  always updated {
>      rcode = "updated"
>      simulcount = 0
>      mpp = no
>  }
>  # Loaded module rlm_utf8
>  # Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8
>  # Loaded module rlm_expiration
>  # Loading module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
>  # Loading module "ntlm_auth" from file /etc/freeradius/3.0/mods-enabled/ntlm_auth
>  exec ntlm_auth {
>      wait = yes
>      program = "/etc/freeadius/3.0/mods-available/ntlm_auth --request-nt-key --domain=********.com --username=Radius --password=R7)LhEf3Y}Uv)l"
>      shell_escape = yes
>  }
>  # Loaded module rlm_realm
>  # Loading module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
>  realm IPASS {
>      format = "prefix"
>      delimiter = "/"
>      ignore_default = no
>      ignore_null = no
>  }
>  # Loading module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
>  realm suffix {
>      format = "suffix"
>      delimiter = "@"
>      ignore_default = no
>      ignore_null = no
>  }
>  # Loading module "bangpath" from file /etc/freeradius/3.0/mods-enabled/realm
>  realm bangpath {
>      format = "prefix"
>      delimiter = "!"
>      ignore_default = no
>      ignore_null = no
>  }
>  # Loading module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
>  realm realmpercent {
>      format = "suffix"
>      delimiter = "%"
>      ignore_default = no
>      ignore_null = no
>  }
>  # Loading module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
>  realm ntdomain {
>      format = "prefix"
>      delimiter = "\\"
>      ignore_default = no
>      ignore_null = no
>  }
>  # Loaded module rlm_eap
>  # Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
>  eap {
>      default_eap_type = "ttls"
>      timer_expire = 60
>      ignore_unknown_eap_types = no
>      cisco_accounting_username_bug = no
>      max_sessions = 16384
>  }
>  # Loaded module rlm_soh
>  # Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh
>  soh {
>      dhcp = yes
>  }
>  instantiate {
>  }
>  # Instantiating module "files" from file /etc/freeradius/3.0/mods-enabled/files
> reading pairlist file /etc/freeradius/3.0/mods-config/files/authorize
> reading pairlist file /etc/freeradius/3.0/mods-config/files/accounting
> reading pairlist file /etc/freeradius/3.0/mods-config/files/pre-proxy
>  # Instantiating module "cache_eap" from file /etc/freeradius/3.0/mods-enabled/cache_eap
> rlm_cache (cache_eap): Driver rlm_cache_rbtree (module rlm_cache_rbtree) loaded and linked
>  # Instantiating module "preprocess" from file /etc/freeradius/3.0/mods-enabled/preprocess
> reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/huntgroups
> reading pairlist file /etc/freeradius/3.0/mods-config/preprocess/hints
>  # Instantiating module "ldap" from file /etc/freeradius/3.0/mods-enabled/ldap
> rlm_ldap: libldap vendor: OpenLDAP, version: 20513
>   accounting {
>      reference = "%{tolower:type.%{Acct-Status-Type}}"
>   }
>   post-auth {
>      reference = "."
>   }
> rlm_ldap (ldap): 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_ldap (ldap): Opening additional connection (0), 1 of 32 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
> rlm_ldap (ldap): Opening additional connection (1), 1 of 31 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
> rlm_ldap (ldap): Opening additional connection (2), 1 of 30 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
> rlm_ldap (ldap): Opening additional connection (3), 1 of 29 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
> rlm_ldap (ldap): Opening additional connection (4), 1 of 28 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
>  # Instantiating module "logintime" from file /etc/freeradius/3.0/mods-enabled/logintime
>  # Instantiating module "auth_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
> rlm_detail (auth_log): 'User-Password' suppressed, will not appear in detail output
>  # Instantiating module "reply_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
>  # Instantiating module "pre_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
>  # Instantiating module "post_proxy_log" from file /etc/freeradius/3.0/mods-enabled/detail.log
>  # Instantiating module "attr_filter.post-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/post-proxy
>  # Instantiating module "attr_filter.pre-proxy" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/pre-proxy
>  # Instantiating module "attr_filter.access_reject" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_reject
>  # Instantiating module "attr_filter.access_challenge" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/access_challenge
>  # Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/accounting_response
>  # Instantiating module "attr_filter.coa" from file /etc/freeradius/3.0/mods-enabled/attr_filter
> reading pairlist file /etc/freeradius/3.0/mods-config/attr_filter/coa
>  # Instantiating module "linelog" from file /etc/freeradius/3.0/mods-enabled/linelog
>  # Instantiating module "log_accounting" from file /etc/freeradius/3.0/mods-enabled/linelog
>  # Instantiating module "etc_passwd" from file /etc/freeradius/3.0/mods-enabled/passwd
> rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
>  # Instantiating module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
>  # Instantiating module "detail" from file /etc/freeradius/3.0/mods-enabled/detail
>  # Instantiating module "reject" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "fail" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "ok" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "handled" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "invalid" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "userlock" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "notfound" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "noop" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "updated" from file /etc/freeradius/3.0/mods-enabled/always
>  # Instantiating module "expiration" from file /etc/freeradius/3.0/mods-enabled/expiration
>  # Instantiating module "IPASS" from file /etc/freeradius/3.0/mods-enabled/realm
>  # Instantiating module "suffix" from file /etc/freeradius/3.0/mods-enabled/realm
>  # Instantiating module "bangpath" from file /etc/freeradius/3.0/mods-enabled/realm
>  # Instantiating module "realmpercent" from file /etc/freeradius/3.0/mods-enabled/realm
>  # Instantiating module "ntdomain" from file /etc/freeradius/3.0/mods-enabled/realm
>  # Instantiating module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
>   # Linked to sub-module rlm_eap_md5
>   # 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/freeradius/3.0/certs"
>      pem_file_type = yes
>      private_key_file = "/etc/ssl/private/ssl-cert-snakeoil.key"
>      certificate_file = "/etc/ssl/certs/ssl-cert-snakeoil.pem"
>      ca_file = "/etc/ssl/certs/ca-certificates.crt"
>      private_key_password = <<< secret >>>
>      fragment_size = 1024
>      include_length = yes
>      auto_chain = yes
>      check_crl = no
>      check_all_crl = no
>      ca_path_reload_interval = 0
>      cipher_list = "DEFAULT"
>      cipher_server_preference = no
>      reject_unknown_intermediate_ca = no
>      ecdh_curve = ""
>      tls_max_version = "1.2"
>      tls_min_version = "1.2"
>    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 = "pap"
>      copy_request_to_tunnel = yes
>      use_tunneled_reply = yes
>      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
> } # modules
> radiusd: #### Loading Virtual Servers ####
> server { # from file /etc/freeradius/3.0/radiusd.conf
> } # server
> server inner-tunnel { # from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> # Loading authenticate {...}
> Compiling Auth-Type PAP for attr Auth-Type
> Compiling Auth-Type LDAP for attr Auth-Type
> # Loading authorize {...}
> # Loading session {...}
> # Loading post-proxy {...}
> # Loading post-auth {...}
> Ignoring "sql" (see raddb/mods-available/README.rst)
> # Skipping contents of 'if' as it is always 'false' -- /etc/freeradius/3.0/sites-enabled/inner-tunnel:342
> Compiling Post-Auth-Type REJECT for attr Post-Auth-Type
> } # server inner-tunnel
> server default { # from file /etc/freeradius/3.0/sites-enabled/default
> # Loading authenticate {...}
> Compiling Auth-Type LDAP for attr Auth-Type
> # Loading authorize {...}
> Compiling Autz-Type New-TLS-Connection for attr Autz-Type
> # Loading preacct {...}
> # Loading accounting {...}
> # Loading post-proxy {...}
> # Loading post-auth {...}
> Compiling Post-Auth-Type REJECT for attr Post-Auth-Type
> Compiling Post-Auth-Type Challenge for attr Post-Auth-Type
> Compiling Post-Auth-Type Client-Lost for attr Post-Auth-Type
> } # server default
> radiusd: #### Opening IP addresses and Ports ####
> listen {
>      type = "auth"
>      ipaddr = 127.0.0.1
>      port = 18120
> }
> 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
>   }
> }
> 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 60552
> Listening on proxy address :: port 35305
> Ready to process requests
> (0) Received Access-Request Id 153 from 192.168.200.20:51098 to 192.168.10.124:1812 length 269
> (0)   User-Name = "chris.********"
> (0)   Chargeable-User-Identity = 0x14
> (0)   Location-Capable = Civic-Location
> (0)   Calling-Station-Id = "98-5a-eb-8e-1c-5c"
> (0)   Called-Station-Id = "00-fc-ba-e1-98-e0:radius_test"
> (0)   NAS-Port = 1
> (0)   Cisco-AVPair = "audit-session-id=14c8a8c000003a87a5e9c663"
> (0)   Acct-Session-Id = "63c6e996/98:5a:eb:8e:1c:5c/15436"
> (0)   NAS-IP-Address = 192.168.200.20
> (0)   NAS-Identifier = "********"
> (0)   Airespace-Wlan-Id = 6
> (0)   Service-Type = Framed-User
> (0)   Framed-MTU = 1300
> (0)   NAS-Port-Type = Wireless-802.11
> (0)   EAP-Message = 0x020100120163687269732e6e7a656e677565
> (0)   Message-Authenticator = 0x974324719f4ff1b1116600ab28a17e4b
> (0) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (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) suffix: Checking for suffix after "@"
> (0) suffix: No '@' in User-Name = "chris.********", looking up realm NULL
> (0) suffix: No such realm "NULL"
> (0)     [suffix] = noop
> (0)     update control {
> (0)       &Proxy-To-Realm := LOCAL
> (0)     } # update control = noop
> (0) files: Searching for user in group "CN=********Team,OU=AADDC Users,DC=********,DC=com"
> rlm_ldap (ldap): Reserved connection (0)
> (0) files: EXPAND (&(objectClass=user)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}}))
> (0) files:    --> (&(objectClass=user)(sAMAccountName=chris.********))
> (0) files: Performing search in "ou=AADDC Users,dc=********,dc=com" with filter "(&(objectClass=user)(sAMAccountName=chris.********))", scope "sub"
> (0) files: Waiting for search result...
> (0) files: User object found at DN "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com"
> (0) files: Checking user object's memberOf attributes
> (0) files:   Performing unfiltered search in "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com", scope "base"
> (0) files:   Waiting for search result...
> (0) files: Processing memberOf value "CN=SSL_VPN_SSO,OU=AADDC Users,DC=********,DC=com" as a DN
> (0) files: Processing memberOf value "CN=********Team,OU=AADDC Users,DC=********,DC=com" as a DN
> (0) files: User found in group DN "CN=********Team,OU=AADDC Users,DC=********,DC=com". Comparison between membership: dn, check: dn
> rlm_ldap (ldap): Released connection (0)
> Need more connections to reach 10 spares
> rlm_ldap (ldap): Opening additional connection (5), 1 of 27 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
> rlm_ldap (ldap): Closing expired connection (4) - Hit idle_timeout limit
> rlm_ldap (ldap): Closing expired connection (3) - Hit idle_timeout limit
> rlm_ldap (ldap): Closing expired connection (2) - Hit idle_timeout limit
> rlm_ldap (ldap): You probably need to lower "min"
> rlm_ldap (ldap): Closing expired connection (1) - Hit idle_timeout limit
> (0) files: users: Matched entry DEFAULT at line 72
> (0)     [files] = ok
> rlm_ldap (ldap): Reserved connection (0)
> (0) ldap: EXPAND (&(objectClass=user)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}}))
> (0) ldap:    --> (&(objectClass=user)(sAMAccountName=chris.********))
> (0) ldap: Performing search in "ou=AADDC Users,dc=********,dc=com" with filter "(&(objectClass=user)(sAMAccountName=chris.********))", scope "sub"
> (0) ldap: Waiting for search result...
> (0) ldap: User object found at DN "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com"
> (0) ldap: Processing user attributes
> (0) ldap: control:My_Group = 'CN=SSL_VPN_SSO,OU=AADDC Users,DC=********,DC=com'
> (0) ldap: WARNING: No "known good" password added. Ensure the admin user has permission to read the password attribute
> (0) ldap: WARNING: PAP authentication will *NOT* work with Active Directory (if that is what you were trying to configure)
> rlm_ldap (ldap): Released connection (0)
> (0)     [ldap] = updated
> (0)     if ((ok || updated) && User-Password && !control:Auth-Type) {
> (0)     if ((ok || updated) && User-Password && !control:Auth-Type)  -> FALSE
> (0)     [expiration] = noop
> (0)     [logintime] = noop
> (0)     [pap] = noop
> (0)   } # authorize = updated
> (0) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
> (0) Failed to authenticate the user
> (0) Using Post-Auth-Type Reject
> (0) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (0)   Post-Auth-Type REJECT {
> (0) attr_filter.access_reject: EXPAND %{User-Name}
> (0) attr_filter.access_reject:    --> chris.********
> (0) attr_filter.access_reject: Matched entry DEFAULT at line 11
> (0)     [attr_filter.access_reject] = updated
> (0)     update outer.session-state {
> (0)       ERROR: Mapping "&request:Module-Failure-Message" -> "&Module-Failure-Message" invalid in this context
> (0)     } # update outer.session-state = invalid
> (0)   } # Post-Auth-Type REJECT = invalid
> (0) Delaying response for 1.000000 seconds
> Waking up in 0.1 seconds.
> Waking up in 0.8 seconds.
> (0) Sending delayed response
> (0) Sent Access-Reject Id 153 from 192.168.10.124:1812 to 192.168.200.20:51098 length 20
> Waking up in 3.9 seconds.
> (0) Cleaning up request packet ID 153 with timestamp +75 due to cleanup_delay was reached
> Ready to process requests
> (1) Received Access-Request Id 154 from 192.168.200.20:51098 to 192.168.10.124:1812 length 269
> (1)   User-Name = "chris.********"
> (1)   Chargeable-User-Identity = 0x14
> (1)   Location-Capable = Civic-Location
> (1)   Calling-Station-Id = "98-5a-eb-8e-1c-5c"
> (1)   Called-Station-Id = "00-fc-ba-e1-8f-a0:radius_test"
> (1)   NAS-Port = 1
> (1)   Cisco-AVPair = "audit-session-id=14c8a8c000003a87a5e9c663"
> (1)   Acct-Session-Id = "63c6e996/98:5a:eb:8e:1c:5c/15436"
> (1)   NAS-IP-Address = 192.168.200.20
> (1)   NAS-Identifier = "********"
> (1)   Airespace-Wlan-Id = 6
> (1)   Service-Type = Framed-User
> (1)   Framed-MTU = 1300
> (1)   NAS-Port-Type = Wireless-802.11
> (1)   EAP-Message = 0x020100120163687269732e6e7a656e677565
> (1)   Message-Authenticator = 0xa0ca0c245aef7cfc9b3da3a37d812c5f
> (1) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (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) suffix: Checking for suffix after "@"
> (1) suffix: No '@' in User-Name = "chris.********", looking up realm NULL
> (1) suffix: No such realm "NULL"
> (1)     [suffix] = noop
> (1)     update control {
> (1)       &Proxy-To-Realm := LOCAL
> (1)     } # update control = noop
> (1) files: Searching for user in group "CN=********Team,OU=AADDC Users,DC=********,DC=com"
> rlm_ldap (ldap): Reserved connection (5)
> (1) files: EXPAND (&(objectClass=user)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}}))
> (1) files:    --> (&(objectClass=user)(sAMAccountName=chris.********))
> (1) files: Performing search in "ou=AADDC Users,dc=********,dc=com" with filter "(&(objectClass=user)(sAMAccountName=chris.********))", scope "sub"
> (1) files: Waiting for search result...
> (1) files: User object found at DN "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com"
> (1) files: Checking user object's memberOf attributes
> (1) files:   Performing unfiltered search in "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com", scope "base"
> (1) files:   Waiting for search result...
> (1) files: Processing memberOf value "CN=SSL_VPN_SSO,OU=AADDC Users,DC=********,DC=com" as a DN
> (1) files: Processing memberOf value "CN=********Team,OU=AADDC Users,DC=********,DC=com" as a DN
> (1) files: User found in group DN "CN=********Team,OU=AADDC Users,DC=********,DC=com". Comparison between membership: dn, check: dn
> rlm_ldap (ldap): Released connection (5)
> Need 1 more connections to reach min connections (3)
> Need more connections to reach 10 spares
> rlm_ldap (ldap): Opening additional connection (6), 1 of 30 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
> (1) files: users: Matched entry DEFAULT at line 72
> (1)     [files] = ok
> rlm_ldap (ldap): Reserved connection (0)
> (1) ldap: EXPAND (&(objectClass=user)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}}))
> (1) ldap:    --> (&(objectClass=user)(sAMAccountName=chris.********))
> (1) ldap: Performing search in "ou=AADDC Users,dc=********,dc=com" with filter "(&(objectClass=user)(sAMAccountName=chris.********))", scope "sub"
> (1) ldap: Waiting for search result...
> (1) ldap: User object found at DN "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com"
> (1) ldap: Processing user attributes
> (1) ldap: control:My_Group = 'CN=SSL_VPN_SSO,OU=AADDC Users,DC=********,DC=com'
> (1) ldap: WARNING: No "known good" password added. Ensure the admin user has permission to read the password attribute
> (1) ldap: WARNING: PAP authentication will *NOT* work with Active Directory (if that is what you were trying to configure)
> rlm_ldap (ldap): Released connection (0)
> (1)     [ldap] = updated
> (1)     if ((ok || updated) && User-Password && !control:Auth-Type) {
> (1)     if ((ok || updated) && User-Password && !control:Auth-Type)  -> FALSE
> (1)     [expiration] = noop
> (1)     [logintime] = noop
> (1)     [pap] = noop
> (1)   } # authorize = updated
> (1) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
> (1) Failed to authenticate the user
> (1) Using Post-Auth-Type Reject
> (1) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (1)   Post-Auth-Type REJECT {
> (1) attr_filter.access_reject: EXPAND %{User-Name}
> (1) attr_filter.access_reject:    --> chris.********
> (1) attr_filter.access_reject: Matched entry DEFAULT at line 11
> (1)     [attr_filter.access_reject] = updated
> (1)     update outer.session-state {
> (1)       ERROR: Mapping "&request:Module-Failure-Message" -> "&Module-Failure-Message" invalid in this context
> (1)     } # update outer.session-state = invalid
> (1)   } # Post-Auth-Type REJECT = invalid
> (1) Delaying response for 1.000000 seconds
> Waking up in 0.1 seconds.
> Waking up in 0.8 seconds.
> (1) Sending delayed response
> (1) Sent Access-Reject Id 154 from 192.168.10.124:1812 to 192.168.200.20:51098 length 20
> Waking up in 3.9 seconds.
> (1) Cleaning up request packet ID 154 with timestamp +95 due to cleanup_delay was reached
> Ready to process requests
> (2) Received Access-Request Id 155 from 192.168.200.20:51098 to 192.168.10.124:1812 length 269
> (2)   User-Name = "chris.********"
> (2)   Chargeable-User-Identity = 0x14
> (2)   Location-Capable = Civic-Location
> (2)   Calling-Station-Id = "98-5a-eb-8e-1c-5c"
> (2)   Called-Station-Id = "00-fc-ba-e1-8f-a0:radius_test"
> (2)   NAS-Port = 1
> (2)   Cisco-AVPair = "audit-session-id=14c8a8c000003a87a5e9c663"
> (2)   Acct-Session-Id = "63c6e996/98:5a:eb:8e:1c:5c/15436"
> (2)   NAS-IP-Address = 192.168.200.20
> (2)   NAS-Identifier = "********"
> (2)   Airespace-Wlan-Id = 6
> (2)   Service-Type = Framed-User
> (2)   Framed-MTU = 1300
> (2)   NAS-Port-Type = Wireless-802.11
> (2)   EAP-Message = 0x020100120163687269732e6e7a656e677565
> (2)   Message-Authenticator = 0x1ed012aae54a89fb6558ea0019fafe02
> (2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (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) suffix: Checking for suffix after "@"
> (2) suffix: No '@' in User-Name = "chris.********", looking up realm NULL
> (2) suffix: No such realm "NULL"
> (2)     [suffix] = noop
> (2)     update control {
> (2)       &Proxy-To-Realm := LOCAL
> (2)     } # update control = noop
> (2) files: Searching for user in group "CN=********Team,OU=AADDC Users,DC=********,DC=com"
> rlm_ldap (ldap): Reserved connection (5)
> (2) files: EXPAND (&(objectClass=user)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}}))
> (2) files:    --> (&(objectClass=user)(sAMAccountName=chris.********))
> (2) files: Performing search in "ou=AADDC Users,dc=********,dc=com" with filter "(&(objectClass=user)(sAMAccountName=chris.********))", scope "sub"
> (2) files: Waiting for search result...
> (2) files: User object found at DN "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com"
> (2) files: Checking user object's memberOf attributes
> (2) files:   Performing unfiltered search in "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com", scope "base"
> (2) files:   Waiting for search result...
> (2) files: Processing memberOf value "CN=SSL_VPN_SSO,OU=AADDC Users,DC=********,DC=com" as a DN
> (2) files: Processing memberOf value "CN=********Team,OU=AADDC Users,DC=********,DC=com" as a DN
> (2) files: User found in group DN "CN=********Team,OU=AADDC Users,DC=********,DC=com". Comparison between membership: dn, check: dn
> rlm_ldap (ldap): Released connection (5)
> Need more connections to reach 10 spares
> rlm_ldap (ldap): Opening additional connection (7), 1 of 29 pending slots used
> rlm_ldap (ldap): Connecting to ldaps://aadds.********.com:636
> rlm_ldap (ldap): Waiting for bind result...
> rlm_ldap (ldap): Bind successful
> (2) files: users: Matched entry DEFAULT at line 72
> (2)     [files] = ok
> rlm_ldap (ldap): Reserved connection (6)
> (2) ldap: EXPAND (&(objectClass=user)(sAMAccountName=%{%{Stripped-User-Name}:-%{User-Name}}))
> (2) ldap:    --> (&(objectClass=user)(sAMAccountName=chris.********))
> (2) ldap: Performing search in "ou=AADDC Users,dc=********,dc=com" with filter "(&(objectClass=user)(sAMAccountName=chris.********))", scope "sub"
> (2) ldap: Waiting for search result...
> (2) ldap: User object found at DN "CN=Chris ******** - ******** externe,OU=AADDC Users,DC=********,DC=com"
> (2) ldap: Processing user attributes
> (2) ldap: control:My_Group = 'CN=SSL_VPN_SSO,OU=AADDC Users,DC=********,DC=com'
> (2) ldap: WARNING: No "known good" password added. Ensure the admin user has permission to read the password attribute
> (2) ldap: WARNING: PAP authentication will *NOT* work with Active Directory (if that is what you were trying to configure)
> rlm_ldap (ldap): Released connection (6)
> (2)     [ldap] = updated
> (2)     if ((ok || updated) && User-Password && !control:Auth-Type) {
> (2)     if ((ok || updated) && User-Password && !control:Auth-Type)  -> FALSE
> (2)     [expiration] = noop
> (2)     [logintime] = noop
> (2)     [pap] = noop
> (2)   } # authorize = updated
> (2) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
> (2) Failed to authenticate the user
> (2) Using Post-Auth-Type Reject
> (2) # Executing group from file /etc/freeradius/3.0/sites-enabled/inner-tunnel
> (2)   Post-Auth-Type REJECT {
> (2) attr_filter.access_reject: EXPAND %{User-Name}
> (2) attr_filter.access_reject:    --> chris.********
> (2) attr_filter.access_reject: Matched entry DEFAULT at line 11
> (2)     [attr_filter.access_reject] = updated
> (2)     update outer.session-state {
> (2)       ERROR: Mapping "&request:Module-Failure-Message" -> "&Module-Failure-Message" invalid in this context
> (2)     } # update outer.session-state = invalid
> (2)   } # Post-Auth-Type REJECT = invalid
> (2) Delaying response for 1.000000 seconds
> Waking up in 0.1 seconds.
> Waking up in 0.8 seconds.
> (2) Sending delayed response
> (2) Sent Access-Reject Id 155 from 192.168.10.124:1812 to 192.168.200.20:51098 length 20
> Waking up in 3.9 seconds.
> (2) Cleaning up request packet ID 155 with timestamp +101 due to cleanup_delay was reached
> Ready to process requests
> 
> 
> 
> 
> <https://www.dejamobile.com/><https://www.dejamobile.com/><https://www.dejamobile.com/><https://www.dejamobile.com/><https://www.dejamobile.com/>
> 
> <https://dejamobile.com/>[cid:logo-500x500_504d48b6-dc99-43ec-874c-af726c18f56e.png]
> 
> Chris Nzengue
> 
>  Stagiaire DEVOPS
>  DEVOPS internship
> <https://www.linkedin.com/company/dejamobile>   [cid:SocialLink_Linkedin_32x32_b9896d3d-92f0-40ba-b3a3-c8ead42de0f5.png] <https://www.linkedin.com/company/dejamobile> <https://www.linkedin.com/company/dejamobile>  <https://www.twitter.com/dejamobile> [cid:SocialLink_Twitter_32x32_d8c0f93a-95bb-4ab2-8384-cc2e43456b2f.png] <https://twitter.com/dejamobile>
> 
> Fixe / Office: +33(2)14747500
> chris.nzengue at dejamobile.com<mailto:%7BE-mail%7D>
> 
> 
> <https://www.linkedin.com/company/dejamobile><http://www.linkedin.com/company/dejamobile><https://www.linkedin.com/company/dejamobile><https://dejamobile.com/dejamobile-at-mpe-2022/><https://www.linkedin.com/company/dejamobile/>[cid:mpe23mail_c31705da-edc4-4d9a-aa24-bb15583ff32a.png]<https://www.merchantpaymentsecosystem.com/>
> 
> -
> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20230224/6259c3de/attachment-0001.sig>


More information about the Freeradius-Users mailing list