Freeradius-Users
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 10 participants
- 27046 discussions
The FreeRADIUS notification is at https://www.freeradius.org/security/
It's time to upgrade every switch, router, VPN concentrator, firewall, access point controller, RADIUS server. World-wide.
This is a design flaw in the RADIUS protocol. It affects all vendors of all RADIUS products.
I've been working on this for 5 months, and have written the definitive guide that all vendors are using to fix their equipment. We also have vendor-neutral test tools and upgrade documentation.
This is not just a "patch Tuesday". The new security features are controlled by compatibility flags. Upgrading is a multi-step process on both client and server.
Full details at https://www.inkbridgenetworks.com/blastradius/faq
In short, I was complaining about this issue in 1998. I tried to fix it in RFC5080, in 2007. FreeRADIUS has had fixes in since 3.0.0, in 2007. Since most vendors didn't follow the recommendations of RFC 5080, we're now in a panic mode "OMG, upgrade everything".
I'm doing a free webinar later today at https://alandekok.com/webinar/
Alan DeKok.
1
0
Does Freeradius support dtls (tls over UDP)? If so, how do I configure it?
Jean
3
5
If you’re on this mailing list, you need to know about BlastRADIUS.
BlastRADIUS is a thirty year-old design flaw in the RADIUS protocol. Exploiting the vulnerability allows an attacker to authenticate anyone to your local network:
• Any Multi-Factor Authentication (MFA) can be bypassed
• Unknown users can be given network access
• Unknown users can be granted administrative login to key networking equipment
• Known users can have their traffic redirected to a "honeypot"
BlastRADIUS has a CVSS score of 9.0, which is extremely high.
This vulnerability affects ALL RADIUS clients and ALL RADIUS servers. It is an issue in the underlying protocol, not any specific implementation. All RADIUS servers are affected and MUST BE UPGRADED as soon as possible. In some cases, it is possible to upgrade clients in a less time critical manner. See our resource hub for more information. https://www.inkbridgenetworks.com/blastradius
*** RESOURCES ***
freeRADIUS resource page: https://www.freeradius.org/security/
InkBridge Networks BlastRADIUS resource page: https://www.inkbridgenetworks.com/blastradius
Official BlastRADIUS site: https://blastRADIUS.fail <https://blastradius.fail/>
FREE Webinar TODAY 9am ET with:
- Alan DeKok, founder of freeRADIUS and InkBridge Networks CEO
- Nadia Heninger, lead cryptographer who discovered the vulnerability
Register now: https://alandekok.com/webinar2/
FREE Webinar TODAY 2:00pm ET with Alan DeKok
Register now: https://alandekok.com/webinar/
Webinar recordings will be made available if you aren’t able to attend.
1
0
**** MAJOR UPDATES BEING ANNOUNCED TOMORROW ****
Stay tuned for an important announcement tomorrow regarding some CRITICAL changes you need to know about.
We have been working to improve RADIUS security for decades, and we're announcing the results tomorrow. Rest assured that we have been working hard behind the scenes with the community so that everyone is aware of the changes.
We’ll be hosting two webinars on Tuesday, July 9th (tomorrow) to explain what is changing.. Both sessions will have similar content, giving background and context for the changes, and information about how you can increase RADIUS security. The first session will have a special guest cryptographer to give some additional background.
For both sessions, the intended audience is implementers, system administrators, and people generally familiar with RADIUS.
Recordings will be made available if you aren’t able to attend.
In short, keep tomorrow open. Be prepared.
REGISTER FOR Tuesday, July 9th 9:00am ET. https://alandekok.com/webinar2/ <https://1ae5b3aa-37c8-421a-8a7b-e33cac27e221.mlbtlr.com/p2/G0eViqYKQmazQ_n5…>
Alan DeKok, founder of freeRADIUS and CEO of InkBridge Networks (formerly Network RADIUS) and a special cryptographer guest
REGISTER FOR Tuesday July 9th, 2:00pm ET. https://alandekok.com/webinar/ <https://1ae5b3aa-37c8-421a-8a7b-e33cac27e221.mlbtlr.com/p2/G0eViqYKQmazQ_n5…>
Alan DeKok founder of freeRADIUS and CEO of InkBridge Networks (formerly Network RADIUS)
You may also want to check out our RFC for the IETF on deprecating insecure practices in RADIUS: https://datatracker.ietf.org/doc/draft-ietf-radext-deprecating-radius/ <https://1ae5b3aa-37c8-421a-8a7b-e33cac27e221.mlbtlr.com/p2/G0eViqYKQmazQ_n5…>
*** Network RADIUS has rebranded as InkBridge Networks ***
Over the last sixteen years, Network RADIUS has evolved from a freeRADIUS centred consultancy, to one that provides products and services for a wide variety of network protocols.
It was time for our brand to reflect our new position as the global leader in foundational network expertise.
We are still in the process of migrating our old Network RADIUS site to our new digs at InkBridgeNetworks.com <https://1ae5b3aa-37c8-421a-8a7b-e33cac27e221.mlbtlr.com/p2/G0eViqYKQmazQ_n5…>. You’ll notice some of our pages still link to Network RADIUS site but that won’t be for long.
If you have any questions about this, feel free to respond to this email.
Visit our new website at https://InkBridgeNetworks.com <https://1ae5b3aa-37c8-421a-8a7b-e33cac27e221.mlbtlr.com/p2/G0eViqYKQmazQ_n5…>
Read our press release at: https://alandekok.com/network-radius-becomes-inkbridge-networks-goes-after-… <https://1ae5b3aa-37c8-421a-8a7b-e33cac27e221.mlbtlr.com/p2/G0eViqYKQmazQ_n5…>
1
0
From https://cybernews.com/security/rockyou2024-largest-password-compilation-lea…
... researchers discovered what appears to be the largest password compilation with a staggering 9,948,575,739 unique plaintext passwords.
The only reason that passwords leak is that organizations store clear-text passwords in a database. That approach has been a terrible idea for decades, and this latest leak proves it.
With CHAP, passwords *have* to be stored in clear-text in the DB, where attackers can steal them.
With PAP, passwords can be stored in "crypted" form. When an attacker steals the DB, the passwords are protected.
I've written more in an article on our web site. https://networkradius.com/articles/2022/04/01/pap-vs-chap.html
As for MS-CHAP, it can be broken by an attacker with a laptop, in milliseconds. It should be considered to be no more secure than sending clear-text passwords over the wire, without even the protection that RADIUS offers for PAP.
Alan DeKok.
1
0
Hello,
I was following through the documentation at
https://freeradius.org/documentation/freeradius-server/4.0.0/howto/modules/…,
and came to the "Generating IPs" section, but it seems the link isn't
functioning. Should I be referencing a different link for this
documentation? Thanks in advance
--
Daniel Garza
Network Engineer
Netgate IT
2
1
Alan,
thank you very much for your time and comments. I'm sorry I didn't
include all the necessary information.
> What we need to see is the debug output of the server. That tells us what is going on. Most of the rest of the information here isn't helpful. The documentation above also says "don't post the configuration files". It's not useful.
I attach it at the end of the message. Turn on freeradius and then
connect using the certificate issued to user1.
>> My main problem is the CRL not working.
> What does that mean?
>
> The server produces messages when it runs. Either it produces messages that there's an error with the CRL, or it produces messages that it's checking the CRL, or it produces no messages about the CRL.
>
> The actual error is in those messages. "It didn't work" is a description which is so vague as to be meaningless.
>
True, I did not specify what it means that the CRL is not working.
The certificate with which I connect to WiFi (user1) is on the CRL list
as revoked. Therefore, I expect the server to reject revoked
certificates and those issued by a CA other than mine.
> Those are just configuration files, used to create certs. They're not used for anything while the server is running. The documentation in that directory makes this clear.
Thank you for your explanation.
> Maybe it shows some other information. i.e. if you're not familiar with FreeRADIUS, then you can likely read that, and miss a meaningful message. That's why the documentation says to post the debug output to the list.
Thank you for your explanation. Exactly as you wrote, I'm just starting
to learn FreeRadius, so not everything is clear to me yet.
> That depends on the EAP method. TTLS and PEAP can do this (mostly, sometimes). But it depends on the client software.
Thank you for your explanation.
> Nearly all of this is not helpful.
>
> Please read the documentation. Please follow the instructions.
Thank you for your help. I've attached the debug below
FreeRADIUS Version 3.0.21
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/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/replicate
including configuration file /etc/freeradius/3.0/mods-enabled/ntlm_auth
including configuration file /etc/freeradius/3.0/mods-enabled/soh
including configuration file /etc/freeradius/3.0/mods-enabled/pap
including configuration file /etc/freeradius/3.0/mods-enabled/unpack
including configuration file /etc/freeradius/3.0/mods-enabled/files
including configuration file /etc/freeradius/3.0/mods-enabled/radutmp
including configuration file /etc/freeradius/3.0/mods-enabled/chap
including configuration file /etc/freeradius/3.0/mods-enabled/sradutmp
including configuration file /etc/freeradius/3.0/mods-enabled/unix
including configuration file /etc/freeradius/3.0/mods-enabled/digest
including configuration file /etc/freeradius/3.0/mods-enabled/cache_eap
including configuration file /etc/freeradius/3.0/mods-enabled/attr_filter
including configuration file /etc/freeradius/3.0/mods-enabled/realm
including configuration file /etc/freeradius/3.0/mods-enabled/utf8
including configuration file /etc/freeradius/3.0/mods-enabled/passwd
including configuration file /etc/freeradius/3.0/mods-enabled/detail
including configuration file /etc/freeradius/3.0/mods-enabled/eap
including configuration file /etc/freeradius/3.0/mods-enabled/linelog
including configuration file /etc/freeradius/3.0/mods-enabled/exec
including configuration file /etc/freeradius/3.0/mods-enabled/preprocess
including configuration file
/etc/freeradius/3.0/mods-enabled/dynamic_clients
including configuration file /etc/freeradius/3.0/mods-enabled/logintime
including configuration file /etc/freeradius/3.0/mods-enabled/always
including configuration file /etc/freeradius/3.0/mods-enabled/mschap
including configuration file /etc/freeradius/3.0/mods-enabled/echo
including configuration file /etc/freeradius/3.0/mods-enabled/detail.log
including configuration file /etc/freeradius/3.0/mods-enabled/expr
including configuration file /etc/freeradius/3.0/mods-enabled/expiration
including files in directory /etc/freeradius/3.0/policy.d/
including configuration file /etc/freeradius/3.0/policy.d/rfc7542
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/operator-name
including configuration file /etc/freeradius/3.0/policy.d/filter
including configuration file /etc/freeradius/3.0/policy.d/accounting
including configuration file /etc/freeradius/3.0/policy.d/canonicalization
including configuration file /etc/freeradius/3.0/policy.d/eap
including configuration file /etc/freeradius/3.0/policy.d/cui
including configuration file /etc/freeradius/3.0/policy.d/control
including configuration file /etc/freeradius/3.0/policy.d/debug
including configuration file /etc/freeradius/3.0/policy.d/abfab-tr
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
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 localhost_ipv6 {
ipv6addr = ::1
require_message_authenticator = no
secret = <<< secret >>>
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
client UAP {
ipaddr = 192.168.80.50
require_message_authenticator = no
secret = <<< secret >>>
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
client UNIFI {
ipaddr = 192.168.80.51
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 = ntlm_auth
# 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
radiusd: #### Instantiating modules ####
modules {
# Loaded module rlm_replicate
# Loading module "replicate" from file
/etc/freeradius/3.0/mods-enabled/replicate
# Loaded module rlm_exec
# Loading module "ntlm_auth" from file
/etc/freeradius/3.0/mods-enabled/ntlm_auth
exec ntlm_auth {
wait = yes
program = "/etc/freeradius/mods-enabled/ntlm_auth
--request-nt-key --domain=LAB.PC-IT.LAN --username=%{mschap:User-Name}
--password=%{User-Password}"
shell_escape = yes
}
# Loaded module rlm_soh
# Loading module "soh" from file /etc/freeradius/3.0/mods-enabled/soh
soh {
dhcp = yes
}
# Loaded module rlm_pap
# Loading module "pap" from file /etc/freeradius/3.0/mods-enabled/pap
pap {
normalise = yes
}
# Loaded module rlm_unpack
# Loading module "unpack" from file
/etc/freeradius/3.0/mods-enabled/unpack
# 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_radutmp
# 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_chap
# Loading module "chap" from file /etc/freeradius/3.0/mods-enabled/chap
# 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_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_digest
# Loading module "digest" from file
/etc/freeradius/3.0/mods-enabled/digest
# 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_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
}
# 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_utf8
# Loading module "utf8" from file /etc/freeradius/3.0/mods-enabled/utf8
# 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_detail
# 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_eap
# Loading module "eap" from file /etc/freeradius/3.0/mods-enabled/eap
eap {
default_eap_type = "peap"
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = 16384
}
# 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}"
}
# 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_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
}
# Loaded module rlm_dynamic_clients
# Loading module "dynamic_clients" from file
/etc/freeradius/3.0/mods-enabled/dynamic_clients
# Loaded module rlm_logintime
# Loading module "logintime" from file
/etc/freeradius/3.0/mods-enabled/logintime
logintime {
minimum_timeout = 60
}
# 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_mschap
# Loading module "mschap" from file
/etc/freeradius/3.0/mods-enabled/mschap
mschap {
use_mppe = yes
require_encryption = no
require_strong = no
with_ntdomain_hack = yes
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key
--username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}}
--challenge=%{%{mschap:Challenge}:-00}
--nt-response=%{%{mschap:NT-Response}:-00}
--domain=%{mschap:NT-Domain:-lab.pc-it.lan}"
passchange {
}
allow_retry = yes
winbind_retry_with_normalised_username = no
}
# 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 "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_expr
# Loading module "expr" from file /etc/freeradius/3.0/mods-enabled/expr
expr {
safe_characters =
"@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_:
/äéöüàâæçèéêëîïôœùûüaÿÄÉÖÜßÀÂÆÇÈÉÊËÎÏÔŒÙÛÜŸ"
}
# Loaded module rlm_expiration
# Loading module "expiration" from file
/etc/freeradius/3.0/mods-enabled/expiration
instantiate {
}
# Instantiating module "pap" from file
/etc/freeradius/3.0/mods-enabled/pap
# 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 "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 "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 "etc_passwd" from file
/etc/freeradius/3.0/mods-enabled/passwd
rlm_passwd: nfields: 3 keyfield 0(User-Name) listable: no
# Instantiating module "detail" from file
/etc/freeradius/3.0/mods-enabled/detail
# Instantiating module "eap" from file
/etc/freeradius/3.0/mods-enabled/eap
# 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/labrootcacrl_and_CA.pem"
pem_file_type = yes
private_key_file = "/etc/certyfikaty/freerad.pem"
certificate_file = "/etc/certyfikaty/freerad.pem"
ca_file = "/etc/freeradius/3.0/certs/labrootcacrl_and_CA.pem"
dh_file = "/etc/freeradius/3.0/certs/dh"
fragment_size = 1024
include_length = yes
auto_chain = yes
check_crl = yes
check_all_crl = yes
allow_expired_crl = yes
cipher_list = "DEFAULT"
cipher_server_preference = no
ecdh_curve = "prime256v1"
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 = "md5"
copy_request_to_tunnel = no
use_tunneled_reply = no
virtual_server = "inner-tunnel"
include_length = yes
require_client_cert = yes
}
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 "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 "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 "logintime" from file
/etc/freeradius/3.0/mods-enabled/logintime
# 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 "mschap" from file
/etc/freeradius/3.0/mods-enabled/mschap
rlm_mschap (mschap): Initialising connection pool
pool {
start = 5
min = 3
max = 32
spare = 10
uses = 0
lifetime = 86400
cleanup_interval = 300
idle_timeout = 600
retry_delay = 30
spread = no
}
rlm_mschap (mschap): Opening additional connection (0), 1 of 32 pending
slots used
rlm_mschap (mschap): Opening additional connection (1), 1 of 31 pending
slots used
rlm_mschap (mschap): Opening additional connection (2), 1 of 30 pending
slots used
rlm_mschap (mschap): Opening additional connection (3), 1 of 29 pending
slots used
rlm_mschap (mschap): Opening additional connection (4), 1 of 28 pending
slots used
rlm_mschap (mschap): authenticating by calling 'ntlm_auth'
# 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 "expiration" from file
/etc/freeradius/3.0/mods-enabled/expiration
} # 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 {...}
# 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/freeradius/3.0/sites-enabled/inner-tunnel:338
} # server inner-tunnel
server default { # from file /etc/freeradius/3.0/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 = 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 58267
Listening on proxy address :: port 44304
Ready to process requests
(0) Received Access-Request Id 85 from 192.168.80.50:32963 to
192.168.80.68:1812 length 217
(0) User-Name = "aaa"
(0) NAS-IP-Address = 192.168.80.50
(0) NAS-Identifier = "822aa877177d"
(0) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(0) NAS-Port-Type = Wireless-802.11
(0) Service-Type = Framed-User
(0) Calling-Station-Id = "20-47-DA-F1-54-16"
(0) Connect-Info = "CONNECT 0Mbps 802.11b"
(0) Acct-Session-Id = "A29F6EA35DB6E4A8"
(0) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(0) WLAN-Pairwise-Cipher = 1027076
(0) WLAN-Group-Cipher = 1027076
(0) WLAN-AKM-Suite = 1027073
(0) Framed-MTU = 1400
(0) EAP-Message = 0x02e9000801616161
(0) Message-Authenticator = 0xa557f3d7ddcc8f66fbdea680482dc6f8
(0) # Executing section authorize from file
/etc/freeradius/3.0/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 !~ /(a)(.+)\.(.+)$/)) {
(0) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(0) if (&User-Name =~ /\.$/) {
(0) if (&User-Name =~ /\.$/) -> FALSE
(0) if (&User-Name =~ /(a)\./) {
(0) if (&User-Name =~ /(a)\./) -> FALSE
(0) } # if (&User-Name) = notfound
(0) } # policy filter_username = notfound
(0) [preprocess] = ok
(0) [chap] = noop
(0) [mschap] = noop
(0) [digest] = noop
(0) suffix: Checking for suffix after "@"
(0) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(0) suffix: No such realm "NULL"
(0) [suffix] = noop
(0) ntdomain: Checking for prefix before "\"
(0) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(0) ntdomain: No such realm "NULL"
(0) [ntdomain] = noop
(0) eap: Peer sent EAP Response (code 2) ID 233 length 8
(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/freeradius/3.0/sites-enabled/default
(0) authenticate {
(0) eap: Peer sent packet with method EAP Identity (1)
(0) eap: Calling submodule eap_peap to process data
(0) eap_peap: Initiating new TLS session
(0) eap_peap: [eaptls start] = request
(0) eap: Sending EAP Request (code 1) ID 234 length 6
(0) eap: EAP session adding &reply:State = 0xc5b51656c55f0f06
(0) [eap] = handled
(0) } # authenticate = handled
(0) Using Post-Auth-Type Challenge
(0) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(0) Challenge { ... } # empty sub-section is ignored
(0) Sent Access-Challenge Id 85 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(0) EAP-Message = 0x01ea00061920
(0) Message-Authenticator = 0x00000000000000000000000000000000
(0) State = 0xc5b51656c55f0f062fd5566ed19722ea
(0) Finished request
Waking up in 4.9 seconds.
(1) Received Access-Request Id 86 from 192.168.80.50:32963 to
192.168.80.68:1812 length 233
(1) User-Name = "aaa"
(1) NAS-IP-Address = 192.168.80.50
(1) NAS-Identifier = "822aa877177d"
(1) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(1) NAS-Port-Type = Wireless-802.11
(1) Service-Type = Framed-User
(1) Calling-Station-Id = "20-47-DA-F1-54-16"
(1) Connect-Info = "CONNECT 0Mbps 802.11b"
(1) Acct-Session-Id = "A29F6EA35DB6E4A8"
(1) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(1) WLAN-Pairwise-Cipher = 1027076
(1) WLAN-Group-Cipher = 1027076
(1) WLAN-AKM-Suite = 1027073
(1) Framed-MTU = 1400
(1) EAP-Message = 0x02ea0006030d
(1) State = 0xc5b51656c55f0f062fd5566ed19722ea
(1) Message-Authenticator = 0xc46e3ccaae89e250145c6831d1066ffb
(1) session-state: No cached attributes
(1) # Executing section authorize from file
/etc/freeradius/3.0/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 !~ /(a)(.+)\.(.+)$/)) {
(1) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(1) if (&User-Name =~ /\.$/) {
(1) if (&User-Name =~ /\.$/) -> FALSE
(1) if (&User-Name =~ /(a)\./) {
(1) if (&User-Name =~ /(a)\./) -> FALSE
(1) } # if (&User-Name) = notfound
(1) } # policy filter_username = notfound
(1) [preprocess] = ok
(1) [chap] = noop
(1) [mschap] = noop
(1) [digest] = noop
(1) suffix: Checking for suffix after "@"
(1) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(1) suffix: No such realm "NULL"
(1) [suffix] = noop
(1) ntdomain: Checking for prefix before "\"
(1) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(1) ntdomain: No such realm "NULL"
(1) [ntdomain] = noop
(1) eap: Peer sent EAP Response (code 2) ID 234 length 6
(1) eap: No EAP Start, assuming it's an on-going EAP conversation
(1) [eap] = updated
(1) [files] = 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 = eap
(1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(1) authenticate {
(1) eap: Expiring EAP session with state 0xc5b51656c55f0f06
(1) eap: Finished EAP session with state 0xc5b51656c55f0f06
(1) eap: Previous EAP request found for state 0xc5b51656c55f0f06,
released from the list
(1) eap: Peer sent packet with method EAP NAK (3)
(1) eap: Found mutually acceptable type TLS (13)
(1) eap: Calling submodule eap_tls to process data
(1) eap_tls: Initiating new TLS session
(1) eap_tls: Setting verify mode to require certificate from client
(1) eap_tls: [eaptls start] = request
(1) eap: Sending EAP Request (code 1) ID 235 length 6
(1) eap: EAP session adding &reply:State = 0xc5b51656c45e1b06
(1) [eap] = handled
(1) } # authenticate = handled
(1) Using Post-Auth-Type Challenge
(1) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(1) Challenge { ... } # empty sub-section is ignored
(1) Sent Access-Challenge Id 86 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(1) EAP-Message = 0x01eb00060d20
(1) Message-Authenticator = 0x00000000000000000000000000000000
(1) State = 0xc5b51656c45e1b062fd5566ed19722ea
(1) Finished request
Waking up in 4.9 seconds.
(2) Received Access-Request Id 87 from 192.168.80.50:32963 to
192.168.80.68:1812 length 376
(2) User-Name = "aaa"
(2) NAS-IP-Address = 192.168.80.50
(2) NAS-Identifier = "822aa877177d"
(2) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(2) NAS-Port-Type = Wireless-802.11
(2) Service-Type = Framed-User
(2) Calling-Station-Id = "20-47-DA-F1-54-16"
(2) Connect-Info = "CONNECT 0Mbps 802.11b"
(2) Acct-Session-Id = "A29F6EA35DB6E4A8"
(2) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(2) WLAN-Pairwise-Cipher = 1027076
(2) WLAN-Group-Cipher = 1027076
(2) WLAN-AKM-Suite = 1027073
(2) Framed-MTU = 1400
(2) EAP-Message =
0x02eb00950d00160301008a0100008603038797ac0af212ee3cc7f57adffaa08e44d54efaf4a3432c30cb30821581d669db00002ac02bc02fc02cc030cca9cca8c009c023c013c027c00ac024c014c028009c009d002f003c0035003d000a01000033ff0100010000170000000d00140012040308040401050308050501080606010201000b00020100000a00080006001d00170018
(2) State = 0xc5b51656c45e1b062fd5566ed19722ea
(2) Message-Authenticator = 0x8b322180f01326736d61be859235e4a2
(2) session-state: No cached attributes
(2) # Executing section authorize from file
/etc/freeradius/3.0/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 !~ /(a)(.+)\.(.+)$/)) {
(2) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(2) if (&User-Name =~ /\.$/) {
(2) if (&User-Name =~ /\.$/) -> FALSE
(2) if (&User-Name =~ /(a)\./) {
(2) if (&User-Name =~ /(a)\./) -> FALSE
(2) } # if (&User-Name) = notfound
(2) } # policy filter_username = notfound
(2) [preprocess] = ok
(2) [chap] = noop
(2) [mschap] = noop
(2) [digest] = noop
(2) suffix: Checking for suffix after "@"
(2) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(2) suffix: No such realm "NULL"
(2) [suffix] = noop
(2) ntdomain: Checking for prefix before "\"
(2) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(2) ntdomain: No such realm "NULL"
(2) [ntdomain] = noop
(2) eap: Peer sent EAP Response (code 2) ID 235 length 149
(2) eap: No EAP Start, assuming it's an on-going EAP conversation
(2) [eap] = updated
(2) [files] = noop
(2) [expiration] = noop
(2) [logintime] = noop
(2) [pap] = noop
(2) } # authorize = updated
(2) Found Auth-Type = eap
(2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(2) authenticate {
(2) eap: Expiring EAP session with state 0xc5b51656c45e1b06
(2) eap: Finished EAP session with state 0xc5b51656c45e1b06
(2) eap: Previous EAP request found for state 0xc5b51656c45e1b06,
released from the list
(2) eap: Peer sent packet with method EAP TLS (13)
(2) eap: Calling submodule eap_tls to process data
(2) eap_tls: Continuing EAP-TLS
(2) eap_tls: [eaptls verify] = ok
(2) eap_tls: Done initial handshake
(2) eap_tls: (other): before SSL initialization
(2) eap_tls: TLS_accept: before SSL initialization
(2) eap_tls: TLS_accept: before SSL initialization
(2) eap_tls: <<< recv TLS 1.3 [length 008a]
(2) eap_tls: TLS_accept: SSLv3/TLS read client hello
(2) eap_tls: >>> send TLS 1.2 [length 003d]
(2) eap_tls: TLS_accept: SSLv3/TLS write server hello
(2) eap_tls: >>> send TLS 1.2 [length 07a0]
(2) eap_tls: TLS_accept: SSLv3/TLS write certificate
(2) eap_tls: >>> send TLS 1.2 [length 014d]
(2) eap_tls: TLS_accept: SSLv3/TLS write key exchange
(2) eap_tls: >>> send TLS 1.2 [length 0089]
(2) eap_tls: TLS_accept: SSLv3/TLS write certificate request
(2) eap_tls: >>> send TLS 1.2 [length 0004]
(2) eap_tls: TLS_accept: SSLv3/TLS write server done
(2) eap_tls: TLS_accept: Need to read more data: SSLv3/TLS write server done
(2) eap_tls: TLS - In Handshake Phase
(2) eap_tls: TLS - got 2512 bytes of data
(2) eap_tls: [eaptls process] = handled
(2) eap: Sending EAP Request (code 1) ID 236 length 1004
(2) eap: EAP session adding &reply:State = 0xc5b51656c7591b06
(2) [eap] = handled
(2) } # authenticate = handled
(2) Using Post-Auth-Type Challenge
(2) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(2) Challenge { ... } # empty sub-section is ignored
(2) Sent Access-Challenge Id 87 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(2) EAP-Message =
0x01ec03ec0dc0000009d0160303003d020000390303aa3e80f3e846014e80fa651e096d86561cc64d1b960664181757418892c9543000c02f000011ff01000100000b0004030001020017000016030307a00b00079c0007990003f9308203f5308202dda00302010202083fd7a31fc4497c7b300d06092a864886f70d01010b05003051310b300906035504061302504c31163014060355040a130d6c61622e70632d69742e6c616e31163014060355040b130d6c61622e70632d69742e6c616e31123010060355040313096c6162726f6f746361301e170d3234303632323231313830305a170d3235303632323231313830305a304f310b300906035504061302504c31163014060355040a130d6c61622e70632d69742e6c616e31163014060355040b130d6c61622e70632d69742e6c616e3110300e060355040313076672656572616430820122300d06092a864886f70d01010105000382010f003082010a0282010100ca320ac3e88dca270b3bc2daf9cd8dec56
(2) Message-Authenticator = 0x00000000000000000000000000000000
(2) State = 0xc5b51656c7591b062fd5566ed19722ea
(2) Finished request
Waking up in 4.9 seconds.
(3) Received Access-Request Id 88 from 192.168.80.50:32963 to
192.168.80.68:1812 length 233
(3) User-Name = "aaa"
(3) NAS-IP-Address = 192.168.80.50
(3) NAS-Identifier = "822aa877177d"
(3) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(3) NAS-Port-Type = Wireless-802.11
(3) Service-Type = Framed-User
(3) Calling-Station-Id = "20-47-DA-F1-54-16"
(3) Connect-Info = "CONNECT 0Mbps 802.11b"
(3) Acct-Session-Id = "A29F6EA35DB6E4A8"
(3) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(3) WLAN-Pairwise-Cipher = 1027076
(3) WLAN-Group-Cipher = 1027076
(3) WLAN-AKM-Suite = 1027073
(3) Framed-MTU = 1400
(3) EAP-Message = 0x02ec00060d00
(3) State = 0xc5b51656c7591b062fd5566ed19722ea
(3) Message-Authenticator = 0x5b5885288a12b7120ba42214842c1a7d
(3) session-state: No cached attributes
(3) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(3) authorize {
(3) policy filter_username {
(3) if (&User-Name) {
(3) if (&User-Name) -> TRUE
(3) if (&User-Name) {
(3) if (&User-Name =~ / /) {
(3) if (&User-Name =~ / /) -> FALSE
(3) if (&User-Name =~ /@[^@]*@/ ) {
(3) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(3) if (&User-Name =~ /\.\./ ) {
(3) if (&User-Name =~ /\.\./ ) -> FALSE
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(3) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(3) if (&User-Name =~ /\.$/) {
(3) if (&User-Name =~ /\.$/) -> FALSE
(3) if (&User-Name =~ /(a)\./) {
(3) if (&User-Name =~ /(a)\./) -> FALSE
(3) } # if (&User-Name) = notfound
(3) } # policy filter_username = notfound
(3) [preprocess] = ok
(3) [chap] = noop
(3) [mschap] = noop
(3) [digest] = noop
(3) suffix: Checking for suffix after "@"
(3) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(3) suffix: No such realm "NULL"
(3) [suffix] = noop
(3) ntdomain: Checking for prefix before "\"
(3) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(3) ntdomain: No such realm "NULL"
(3) [ntdomain] = noop
(3) eap: Peer sent EAP Response (code 2) ID 236 length 6
(3) eap: No EAP Start, assuming it's an on-going EAP conversation
(3) [eap] = updated
(3) [files] = noop
(3) [expiration] = noop
(3) [logintime] = noop
(3) [pap] = noop
(3) } # authorize = updated
(3) Found Auth-Type = eap
(3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(3) authenticate {
(3) eap: Expiring EAP session with state 0xc5b51656c7591b06
(3) eap: Finished EAP session with state 0xc5b51656c7591b06
(3) eap: Previous EAP request found for state 0xc5b51656c7591b06,
released from the list
(3) eap: Peer sent packet with method EAP TLS (13)
(3) eap: Calling submodule eap_tls to process data
(3) eap_tls: Continuing EAP-TLS
(3) eap_tls: Peer ACKed our handshake fragment
(3) eap_tls: [eaptls verify] = request
(3) eap_tls: [eaptls process] = handled
(3) eap: Sending EAP Request (code 1) ID 237 length 1004
(3) eap: EAP session adding &reply:State = 0xc5b51656c6581b06
(3) [eap] = handled
(3) } # authenticate = handled
(3) Using Post-Auth-Type Challenge
(3) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(3) Challenge { ... } # empty sub-section is ignored
(3) Sent Access-Challenge Id 88 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(3) EAP-Message =
0x01ed03ec0dc0000009d083bbbf63d3412eb67d2e9b76bc940c21bcd2d8fb0e0903edb96f942effbf10ea9e02061ed9e2e16b550cfec2b03861a4893803a40909ca2927a26464e80d3d412379118749142bdd6501a495016a792bca81198d00efa652e8bf23dcc47e1aca332cff830ea9c19400039a308203963082027ea00302010202085926eb742ef1ac6d300d06092a864886f70d01010b05003051310b300906035504061302504c31163014060355040a130d6c61622e70632d69742e6c616e31163014060355040b130d6c61622e70632d69742e6c616e31123010060355040313096c6162726f6f746361301e170d3234303632323230333730305a170d3334303632323230333730305a3051310b300906035504061302504c31163014060355040a130d6c61622e70632d69742e6c616e31163014060355040b130d6c61622e70632d69742e6c616e31123010060355040313096c6162726f6f74636130820122300d06092a864886f70d0101010500038201
(3) Message-Authenticator = 0x00000000000000000000000000000000
(3) State = 0xc5b51656c6581b062fd5566ed19722ea
(3) Finished request
Waking up in 4.9 seconds.
(4) Received Access-Request Id 89 from 192.168.80.50:32963 to
192.168.80.68:1812 length 233
(4) User-Name = "aaa"
(4) NAS-IP-Address = 192.168.80.50
(4) NAS-Identifier = "822aa877177d"
(4) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(4) NAS-Port-Type = Wireless-802.11
(4) Service-Type = Framed-User
(4) Calling-Station-Id = "20-47-DA-F1-54-16"
(4) Connect-Info = "CONNECT 0Mbps 802.11b"
(4) Acct-Session-Id = "A29F6EA35DB6E4A8"
(4) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(4) WLAN-Pairwise-Cipher = 1027076
(4) WLAN-Group-Cipher = 1027076
(4) WLAN-AKM-Suite = 1027073
(4) Framed-MTU = 1400
(4) EAP-Message = 0x02ed00060d00
(4) State = 0xc5b51656c6581b062fd5566ed19722ea
(4) Message-Authenticator = 0xea5939d6e35c8e1e6b84a14a5fd2a0d8
(4) session-state: No cached attributes
(4) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(4) authorize {
(4) policy filter_username {
(4) if (&User-Name) {
(4) if (&User-Name) -> TRUE
(4) if (&User-Name) {
(4) if (&User-Name =~ / /) {
(4) if (&User-Name =~ / /) -> FALSE
(4) if (&User-Name =~ /@[^@]*@/ ) {
(4) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(4) if (&User-Name =~ /\.\./ ) {
(4) if (&User-Name =~ /\.\./ ) -> FALSE
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(4) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(4) if (&User-Name =~ /\.$/) {
(4) if (&User-Name =~ /\.$/) -> FALSE
(4) if (&User-Name =~ /(a)\./) {
(4) if (&User-Name =~ /(a)\./) -> FALSE
(4) } # if (&User-Name) = notfound
(4) } # policy filter_username = notfound
(4) [preprocess] = ok
(4) [chap] = noop
(4) [mschap] = noop
(4) [digest] = noop
(4) suffix: Checking for suffix after "@"
(4) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(4) suffix: No such realm "NULL"
(4) [suffix] = noop
(4) ntdomain: Checking for prefix before "\"
(4) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(4) ntdomain: No such realm "NULL"
(4) [ntdomain] = noop
(4) eap: Peer sent EAP Response (code 2) ID 237 length 6
(4) eap: No EAP Start, assuming it's an on-going EAP conversation
(4) [eap] = updated
(4) [files] = noop
(4) [expiration] = noop
(4) [logintime] = noop
(4) [pap] = noop
(4) } # authorize = updated
(4) Found Auth-Type = eap
(4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(4) authenticate {
(4) eap: Expiring EAP session with state 0xc5b51656c6581b06
(4) eap: Finished EAP session with state 0xc5b51656c6581b06
(4) eap: Previous EAP request found for state 0xc5b51656c6581b06,
released from the list
(4) eap: Peer sent packet with method EAP TLS (13)
(4) eap: Calling submodule eap_tls to process data
(4) eap_tls: Continuing EAP-TLS
(4) eap_tls: Peer ACKed our handshake fragment
(4) eap_tls: [eaptls verify] = request
(4) eap_tls: [eaptls process] = handled
(4) eap: Sending EAP Request (code 1) ID 238 length 534
(4) eap: EAP session adding &reply:State = 0xc5b51656c15b1b06
(4) [eap] = handled
(4) } # authenticate = handled
(4) Using Post-Auth-Type Challenge
(4) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(4) Challenge { ... } # empty sub-section is ignored
(4) Sent Access-Challenge Id 89 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(4) EAP-Message =
0x01ee02160d80000009d091697b897308ebb39a432223743568ad7a94cf65db25e5368c36f888841d11035e1485160303014d0c0001490300174104b6a97220f9d76adfa34b3c21922b3408801a9ffd0cd87d165b7f0d418e3915ee383fdef46fee31f1221a31c23f51a9196c3d7e88b3e0d77181f2137ae8d7e26508040100332dc9fe5a3c6d2ff5c9019753879edfc08a908dfbcc43f4b3fe494524162c7e2c462a79ec277d97dec7275c568137c13ed140685463d27a880d936bd655f10b7e9f0ce949817a4a9fdb296338bad5c50ad58ec69c3cc3a3880f9b660a0fb000c3df928c6f011a583ffbe0e28502c274acb8bc81ec0996b81b99e50e03f88c4538d89d1cbc7af636244ebebfc1511f02d3c47dca48dfe8f6ab4593fc33a7fdab1109e9ddfbf2a06f875efcb25bbcca8a88e7370a210bf379899f5fdc4e1bd4b2f30d4b7661dfd6f880532817bbddfd1c099dbde644af3bede64ede636342b291bb103bc9c1c873fecb2256f180e9c75335e39c659243b759
(4) Message-Authenticator = 0x00000000000000000000000000000000
(4) State = 0xc5b51656c15b1b062fd5566ed19722ea
(4) Finished request
Waking up in 4.9 seconds.
(5) Received Access-Request Id 90 from 192.168.80.50:32963 to
192.168.80.68:1812 length 1645
(5) User-Name = "aaa"
(5) NAS-IP-Address = 192.168.80.50
(5) NAS-Identifier = "822aa877177d"
(5) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(5) NAS-Port-Type = Wireless-802.11
(5) Service-Type = Framed-User
(5) Calling-Station-Id = "20-47-DA-F1-54-16"
(5) Connect-Info = "CONNECT 0Mbps 802.11b"
(5) Acct-Session-Id = "A29F6EA35DB6E4A8"
(5) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(5) WLAN-Pairwise-Cipher = 1027076
(5) WLAN-Group-Cipher = 1027076
(5) WLAN-AKM-Suite = 1027073
(5) Framed-MTU = 1400
(5) EAP-Message =
0x02ee05800dc00000091a160303078a0b0007860007830003e3308203df308202c7a00302010202080ee5d6cac71d375f300d06092a864886f70d01010b05003051310b300906035504061302504c31163014060355040a130d6c61622e70632d69742e6c616e31163014060355040b130d6c61622e70632d69742e6c616e31123010060355040313096c6162726f6f746361301e170d3234303632323231323730305a170d3235303632323231323730305a304d310b300906035504061302504c31163014060355040a130d6c61622e70632d69742e6c616e31163014060355040b130d6c61622e70632d69742e6c616e310e300c06035504031305757365723130820122300d06092a864886f70d01010105000382010f003082010a0282010100d6fbf7e3fcd4700c88ff513fc6b03e0e031148aee6642ddf3a48323e24ff3169ab433745d476f37144768e9de6155ddf0f92495d1b5f2a1dca3ad3be72f282a149f67c4a6a340a1bcf5520b21d385464caebbb657e
(5) State = 0xc5b51656c15b1b062fd5566ed19722ea
(5) Message-Authenticator = 0x3b75557e8d8a15b3a0deca13b66d54ce
(5) session-state: No cached attributes
(5) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(5) authorize {
(5) policy filter_username {
(5) if (&User-Name) {
(5) if (&User-Name) -> TRUE
(5) if (&User-Name) {
(5) if (&User-Name =~ / /) {
(5) if (&User-Name =~ / /) -> FALSE
(5) if (&User-Name =~ /@[^@]*@/ ) {
(5) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(5) if (&User-Name =~ /\.\./ ) {
(5) if (&User-Name =~ /\.\./ ) -> FALSE
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(5) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(5) if (&User-Name =~ /\.$/) {
(5) if (&User-Name =~ /\.$/) -> FALSE
(5) if (&User-Name =~ /(a)\./) {
(5) if (&User-Name =~ /(a)\./) -> FALSE
(5) } # if (&User-Name) = notfound
(5) } # policy filter_username = notfound
(5) [preprocess] = ok
(5) [chap] = noop
(5) [mschap] = noop
(5) [digest] = noop
(5) suffix: Checking for suffix after "@"
(5) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(5) suffix: No such realm "NULL"
(5) [suffix] = noop
(5) ntdomain: Checking for prefix before "\"
(5) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(5) ntdomain: No such realm "NULL"
(5) [ntdomain] = noop
(5) eap: Peer sent EAP Response (code 2) ID 238 length 1408
(5) eap: No EAP Start, assuming it's an on-going EAP conversation
(5) [eap] = updated
(5) [files] = noop
(5) [expiration] = noop
(5) [logintime] = noop
(5) [pap] = noop
(5) } # authorize = updated
(5) Found Auth-Type = eap
(5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(5) authenticate {
(5) eap: Expiring EAP session with state 0xc5b51656c15b1b06
(5) eap: Finished EAP session with state 0xc5b51656c15b1b06
(5) eap: Previous EAP request found for state 0xc5b51656c15b1b06,
released from the list
(5) eap: Peer sent packet with method EAP TLS (13)
(5) eap: Calling submodule eap_tls to process data
(5) eap_tls: Continuing EAP-TLS
(5) eap_tls: Peer indicated complete TLS record size will be 2330 bytes
(5) eap_tls: Expecting 2 TLS record fragments
(5) eap_tls: Got first TLS record fragment (1398 bytes). Peer indicated
more fragments to follow
(5) eap_tls: [eaptls verify] = first fragment
(5) eap_tls: ACKing Peer's TLS record fragment
(5) eap_tls: [eaptls process] = handled
(5) eap: Sending EAP Request (code 1) ID 239 length 6
(5) eap: EAP session adding &reply:State = 0xc5b51656c05a1b06
(5) [eap] = handled
(5) } # authenticate = handled
(5) Using Post-Auth-Type Challenge
(5) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(5) Challenge { ... } # empty sub-section is ignored
(5) Sent Access-Challenge Id 90 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(5) EAP-Message = 0x01ef00060d00
(5) Message-Authenticator = 0x00000000000000000000000000000000
(5) State = 0xc5b51656c05a1b062fd5566ed19722ea
(5) Finished request
Waking up in 4.6 seconds.
(6) Received Access-Request Id 91 from 192.168.80.50:32963 to
192.168.80.68:1812 length 1171
(6) User-Name = "aaa"
(6) NAS-IP-Address = 192.168.80.50
(6) NAS-Identifier = "822aa877177d"
(6) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(6) NAS-Port-Type = Wireless-802.11
(6) Service-Type = Framed-User
(6) Calling-Station-Id = "20-47-DA-F1-54-16"
(6) Connect-Info = "CONNECT 0Mbps 802.11b"
(6) Acct-Session-Id = "A29F6EA35DB6E4A8"
(6) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(6) WLAN-Pairwise-Cipher = 1027076
(6) WLAN-Group-Cipher = 1027076
(6) WLAN-AKM-Suite = 1027073
(6) Framed-MTU = 1400
(6) EAP-Message =
0x02ef03aa0d00a31bd406bd419ac2c6c8c1558353382c2aa6808a2d507b5487a46bb5866af41575ff0bb0217e27719c75285337064bdaba8d9b3267aa1f7ae4b4dc9c46ba5b6f51da6c5fd40f9f52f59728a3f2c5d7a39254858fc74c1cf1ab7b26c753bf1cc49676e9ec6eb601f239b6e00ccab7d4205e6db52ee4b526d5a754d974978899b5d7b31e7607ffca67977c492d0203010001a3723070300f0603551d130101ff040530030101ff301d0603551d0e04160414af0d01ee364b6a74babdc79d7b47f2d6a11afb20300b0603551d0f040403020106301106096086480186f8420101040403020007301e06096086480186f842010d0411160f786361206365727469666963617465300d06092a864886f70d01010b05000382010100aab4f1cc959384cdc9af42af74841cd919fc9db3ff86ebb37c02fc4269cdf4092466bbf3da908b9e79b3b413a059bee72153d6da3ee6a8e4c39294b71fe826edd660137f4b60a70f7d3df14b8724a4671a2823ebee6c31d6
(6) State = 0xc5b51656c05a1b062fd5566ed19722ea
(6) Message-Authenticator = 0xa1f43a9397da1bf16cb84acc8d1b3051
(6) session-state: No cached attributes
(6) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(6) authorize {
(6) policy filter_username {
(6) if (&User-Name) {
(6) if (&User-Name) -> TRUE
(6) if (&User-Name) {
(6) if (&User-Name =~ / /) {
(6) if (&User-Name =~ / /) -> FALSE
(6) if (&User-Name =~ /@[^@]*@/ ) {
(6) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(6) if (&User-Name =~ /\.\./ ) {
(6) if (&User-Name =~ /\.\./ ) -> FALSE
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(6) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(6) if (&User-Name =~ /\.$/) {
(6) if (&User-Name =~ /\.$/) -> FALSE
(6) if (&User-Name =~ /(a)\./) {
(6) if (&User-Name =~ /(a)\./) -> FALSE
(6) } # if (&User-Name) = notfound
(6) } # policy filter_username = notfound
(6) [preprocess] = ok
(6) [chap] = noop
(6) [mschap] = noop
(6) [digest] = noop
(6) suffix: Checking for suffix after "@"
(6) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(6) suffix: No such realm "NULL"
(6) [suffix] = noop
(6) ntdomain: Checking for prefix before "\"
(6) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(6) ntdomain: No such realm "NULL"
(6) [ntdomain] = noop
(6) eap: Peer sent EAP Response (code 2) ID 239 length 938
(6) eap: No EAP Start, assuming it's an on-going EAP conversation
(6) [eap] = updated
(6) [files] = noop
(6) [expiration] = noop
(6) [logintime] = noop
(6) [pap] = noop
(6) } # authorize = updated
(6) Found Auth-Type = eap
(6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(6) authenticate {
(6) eap: Expiring EAP session with state 0xc5b51656c05a1b06
(6) eap: Finished EAP session with state 0xc5b51656c05a1b06
(6) eap: Previous EAP request found for state 0xc5b51656c05a1b06,
released from the list
(6) eap: Peer sent packet with method EAP TLS (13)
(6) eap: Calling submodule eap_tls to process data
(6) eap_tls: Continuing EAP-TLS
(6) eap_tls: Got final TLS record fragment (932 bytes)
(6) eap_tls: [eaptls verify] = ok
(6) eap_tls: Done initial handshake
(6) eap_tls: TLS_accept: SSLv3/TLS write server done
(6) eap_tls: <<< recv TLS 1.2 [length 078a]
(6) eap_tls: TLS - Creating attributes from certificate OIDs
(6) eap_tls: TLS-Cert-Serial := "5926eb742ef1ac6d"
(6) eap_tls: TLS-Cert-Expiration := "340622203700Z"
(6) eap_tls: TLS-Cert-Valid-Since := "240622203700Z"
(6) eap_tls: TLS-Cert-Subject :=
"/C=PL/O=lab.pc-it.lan/OU=lab.pc-it.lan/CN=labrootca"
(6) eap_tls: TLS-Cert-Issuer :=
"/C=PL/O=lab.pc-it.lan/OU=lab.pc-it.lan/CN=labrootca"
(6) eap_tls: TLS-Cert-Common-Name := "labrootca"
(6) eap_tls: TLS - Creating attributes from certificate OIDs
(6) eap_tls: TLS-Client-Cert-Serial := "0ee5d6cac71d375f"
(6) eap_tls: TLS-Client-Cert-Expiration := "250622212700Z"
(6) eap_tls: TLS-Client-Cert-Valid-Since := "240622212700Z"
(6) eap_tls: TLS-Client-Cert-Subject :=
"/C=PL/O=lab.pc-it.lan/OU=lab.pc-it.lan/CN=user1"
(6) eap_tls: TLS-Client-Cert-Issuer :=
"/C=PL/O=lab.pc-it.lan/OU=lab.pc-it.lan/CN=labrootca"
(6) eap_tls: TLS-Client-Cert-Common-Name := "user1"
(6) eap_tls: TLS-Client-Cert-X509v3-Basic-Constraints += "CA:FALSE"
(6) eap_tls: TLS-Client-Cert-X509v3-Subject-Key-Identifier +=
"AA:85:94:68:EE:AB:8F:42:AD:84:46:E3:8F:52:E4:C0:FB:CE:2C:FB"
(6) eap_tls: TLS-Client-Cert-X509v3-Extended-Key-Usage += "TLS Web
Client Authentication"
(6) eap_tls: TLS-Client-Cert-X509v3-Extended-Key-Usage-OID +=
"1.3.6.1.5.5.7.3.2"
(6) eap_tls: TLS_accept: SSLv3/TLS read client certificate
(6) eap_tls: <<< recv TLS 1.2 [length 0046]
(6) eap_tls: TLS_accept: SSLv3/TLS read client key exchange
(6) eap_tls: <<< recv TLS 1.2 [length 0108]
(6) eap_tls: TLS_accept: SSLv3/TLS read certificate verify
(6) eap_tls: TLS_accept: SSLv3/TLS read change cipher spec
(6) eap_tls: <<< recv TLS 1.2 [length 0010]
(6) eap_tls: TLS_accept: SSLv3/TLS read finished
(6) eap_tls: >>> send TLS 1.2 [length 0001]
(6) eap_tls: TLS_accept: SSLv3/TLS write change cipher spec
(6) eap_tls: >>> send TLS 1.2 [length 0010]
(6) eap_tls: TLS_accept: SSLv3/TLS write finished
(6) eap_tls: (other): SSL negotiation finished successfully
(6) eap_tls: TLS - Connection Established
(6) eap_tls: TLS-Session-Cipher-Suite = "ECDHE-RSA-AES128-GCM-SHA256"
(6) eap_tls: TLS-Session-Version = "TLS 1.2"
(6) eap_tls: TLS - got 51 bytes of data
(6) eap_tls: [eaptls process] = handled
(6) eap: Sending EAP Request (code 1) ID 240 length 61
(6) eap: EAP session adding &reply:State = 0xc5b51656c3451b06
(6) [eap] = handled
(6) } # authenticate = handled
(6) Using Post-Auth-Type Challenge
(6) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(6) Challenge { ... } # empty sub-section is ignored
(6) session-state: Saving cached attributes
(6) TLS-Session-Cipher-Suite = "ECDHE-RSA-AES128-GCM-SHA256"
(6) TLS-Session-Version = "TLS 1.2"
(6) Sent Access-Challenge Id 91 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(6) EAP-Message =
0x01f0003d0d800000003314030300010116030300281662faa733a21fdfe0137be5368e594fe764ee6670ae5ac0b92052209494cd1707069b09d1bef56c
(6) Message-Authenticator = 0x00000000000000000000000000000000
(6) State = 0xc5b51656c3451b062fd5566ed19722ea
(6) Finished request
Waking up in 4.6 seconds.
(7) Received Access-Request Id 92 from 192.168.80.50:32963 to
192.168.80.68:1812 length 233
(7) User-Name = "aaa"
(7) NAS-IP-Address = 192.168.80.50
(7) NAS-Identifier = "822aa877177d"
(7) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(7) NAS-Port-Type = Wireless-802.11
(7) Service-Type = Framed-User
(7) Calling-Station-Id = "20-47-DA-F1-54-16"
(7) Connect-Info = "CONNECT 0Mbps 802.11b"
(7) Acct-Session-Id = "A29F6EA35DB6E4A8"
(7) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(7) WLAN-Pairwise-Cipher = 1027076
(7) WLAN-Group-Cipher = 1027076
(7) WLAN-AKM-Suite = 1027073
(7) Framed-MTU = 1400
(7) EAP-Message = 0x02f000060d00
(7) State = 0xc5b51656c3451b062fd5566ed19722ea
(7) Message-Authenticator = 0x45abe55149eec9d435f068eae84e45ea
(7) Restoring &session-state
(7) &session-state:TLS-Session-Cipher-Suite =
"ECDHE-RSA-AES128-GCM-SHA256"
(7) &session-state:TLS-Session-Version = "TLS 1.2"
(7) # Executing section authorize from file
/etc/freeradius/3.0/sites-enabled/default
(7) authorize {
(7) policy filter_username {
(7) if (&User-Name) {
(7) if (&User-Name) -> TRUE
(7) if (&User-Name) {
(7) if (&User-Name =~ / /) {
(7) if (&User-Name =~ / /) -> FALSE
(7) if (&User-Name =~ /@[^@]*@/ ) {
(7) if (&User-Name =~ /@[^@]*@/ ) -> FALSE
(7) if (&User-Name =~ /\.\./ ) {
(7) if (&User-Name =~ /\.\./ ) -> FALSE
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/)) {
(7) if ((&User-Name =~ /@/) && (&User-Name !~ /(a)(.+)\.(.+)$/))
-> FALSE
(7) if (&User-Name =~ /\.$/) {
(7) if (&User-Name =~ /\.$/) -> FALSE
(7) if (&User-Name =~ /(a)\./) {
(7) if (&User-Name =~ /(a)\./) -> FALSE
(7) } # if (&User-Name) = notfound
(7) } # policy filter_username = notfound
(7) [preprocess] = ok
(7) [chap] = noop
(7) [mschap] = noop
(7) [digest] = noop
(7) suffix: Checking for suffix after "@"
(7) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(7) suffix: No such realm "NULL"
(7) [suffix] = noop
(7) ntdomain: Checking for prefix before "\"
(7) ntdomain: No '\' in User-Name = "aaa", looking up realm NULL
(7) ntdomain: No such realm "NULL"
(7) [ntdomain] = noop
(7) eap: Peer sent EAP Response (code 2) ID 240 length 6
(7) eap: No EAP Start, assuming it's an on-going EAP conversation
(7) [eap] = updated
(7) [files] = noop
(7) [expiration] = noop
(7) [logintime] = noop
(7) [pap] = noop
(7) } # authorize = updated
(7) Found Auth-Type = eap
(7) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(7) authenticate {
(7) eap: Expiring EAP session with state 0xc5b51656c3451b06
(7) eap: Finished EAP session with state 0xc5b51656c3451b06
(7) eap: Previous EAP request found for state 0xc5b51656c3451b06,
released from the list
(7) eap: Peer sent packet with method EAP TLS (13)
(7) eap: Calling submodule eap_tls to process data
(7) eap_tls: Continuing EAP-TLS
(7) eap_tls: Peer ACKed our handshake fragment. handshake is finished
(7) eap_tls: [eaptls verify] = success
(7) eap_tls: [eaptls process] = success
(7) eap: Sending EAP Success (code 3) ID 240 length 4
(7) eap: Freeing handler
(7) [eap] = ok
(7) } # authenticate = ok
(7) # Executing section post-auth from file
/etc/freeradius/3.0/sites-enabled/default
(7) post-auth {
(7) if (session-state:User-Name && reply:User-Name &&
request:User-Name && (reply:User-Name == request:User-Name)) {
(7) if (session-state:User-Name && reply:User-Name &&
request:User-Name && (reply:User-Name == request:User-Name)) -> FALSE
(7) update {
(7) &reply::TLS-Session-Cipher-Suite +=
&session-state:TLS-Session-Cipher-Suite[*] -> 'ECDHE-RSA-AES128-GCM-SHA256'
(7) &reply::TLS-Session-Version +=
&session-state:TLS-Session-Version[*] -> 'TLS 1.2'
(7) } # update = noop
(7) [exec] = noop
(7) policy remove_reply_message_if_eap {
(7) if (&reply:EAP-Message && &reply:Reply-Message) {
(7) if (&reply:EAP-Message && &reply:Reply-Message) -> FALSE
(7) else {
(7) [noop] = noop
(7) } # else = noop
(7) } # policy remove_reply_message_if_eap = noop
(7) } # post-auth = noop
(7) Sent Access-Accept Id 92 from 192.168.80.68:1812 to
192.168.80.50:32963 length 0
(7) MS-MPPE-Recv-Key =
0x406733be33c96e20a4ad82593923dee8f714646847128f39978e739d51e5dc54
(7) MS-MPPE-Send-Key =
0x12bddabe72908fde73e92b19c4fe5dff6afa3d4ccc2dfb61d865ecc296783da8
(7) EAP-Message = 0x03f00004
(7) Message-Authenticator = 0x00000000000000000000000000000000
(7) User-Name = "aaa"
(7) Finished request
Waking up in 4.6 seconds.
(8) Received Accounting-Request Id 93 from 192.168.80.50:55237 to
192.168.80.68:1813 length 213
(8) Acct-Status-Type = Start
(8) Acct-Authentic = RADIUS
(8) User-Name = "aaa"
(8) NAS-IP-Address = 192.168.80.50
(8) Framed-IP-Address = 192.168.80.61
(8) NAS-Identifier = "822aa877177d"
(8) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(8) NAS-Port-Type = Wireless-802.11
(8) Service-Type = Framed-User
(8) Calling-Station-Id = "20-47-DA-F1-54-16"
(8) Connect-Info = "CONNECT 0Mbps 802.11b"
(8) Acct-Session-Id = "A29F6EA35DB6E4A8"
(8) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(8) WLAN-Pairwise-Cipher = 1027076
(8) WLAN-Group-Cipher = 1027076
(8) WLAN-AKM-Suite = 1027073
(8) Event-Timestamp = "Jun 30 2024 23:07:42 CEST"
(8) Acct-Delay-Time = 0
(8) # Executing section preacct from file
/etc/freeradius/3.0/sites-enabled/default
(8) preacct {
(8) [preprocess] = ok
(8) policy acct_unique {
(8) update request {
(8) &Tmp-String-9 := "ai:"
(8) } # update request = noop
(8) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) {
(8) EXPAND %{hex:&Class}
(8) -->
(8) EXPAND ^%{hex:&Tmp-String-9}
(8) --> ^61693a
(8) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) -> FALSE
(8) else {
(8) update request {
(8) EXPAND
%{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
(8) --> b48085220c535c93a65396983387809b
(8) &Acct-Unique-Session-Id := b48085220c535c93a65396983387809b
(8) } # update request = noop
(8) } # else = noop
(8) } # policy acct_unique = noop
(8) suffix: Checking for suffix after "@"
(8) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(8) suffix: No such realm "NULL"
(8) [suffix] = noop
(8) [files] = noop
(8) } # preacct = ok
(8) # Executing section accounting from file
/etc/freeradius/3.0/sites-enabled/default
(8) accounting {
(8) detail: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
(8) detail: --> /var/log/freeradius/radacct/192.168.80.50/detail-20240630
(8) detail:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.80.50/detail-20240630
(8) detail: EXPAND %t
(8) detail: --> Sun Jun 30 23:07:42 2024
(8) [detail] = ok
(8) [unix] = ok
(8) [exec] = noop
(8) attr_filter.accounting_response: EXPAND %{User-Name}
(8) attr_filter.accounting_response: --> aaa
(8) attr_filter.accounting_response: Matched entry DEFAULT at line 12
(8) [attr_filter.accounting_response] = updated
(8) } # accounting = updated
(8) Sent Accounting-Response Id 93 from 192.168.80.68:1813 to
192.168.80.50:55237 length 0
(8) Finished request
(8) Cleaning up request packet ID 93 with timestamp +14
Waking up in 3.2 seconds.
(0) Cleaning up request packet ID 85 with timestamp +12
(1) Cleaning up request packet ID 86 with timestamp +12
(2) Cleaning up request packet ID 87 with timestamp +12
(3) Cleaning up request packet ID 88 with timestamp +12
(4) Cleaning up request packet ID 89 with timestamp +12
Waking up in 0.2 seconds.
(5) Cleaning up request packet ID 90 with timestamp +13
(6) Cleaning up request packet ID 91 with timestamp +13
(7) Cleaning up request packet ID 92 with timestamp +13
Ready to process requests
(9) Received Accounting-Request Id 94 from 192.168.80.50:55237 to
192.168.80.68:1813 length 261
(9) Acct-Status-Type = Stop
(9) Acct-Authentic = RADIUS
(9) User-Name = "aaa"
(9) NAS-IP-Address = 192.168.80.50
(9) Framed-IP-Address = 192.168.80.61
(9) NAS-Identifier = "822aa877177d"
(9) Called-Station-Id = "82-2A-A8-77-17-7D:uni-81-fr3"
(9) NAS-Port-Type = Wireless-802.11
(9) Service-Type = Framed-User
(9) Calling-Station-Id = "20-47-DA-F1-54-16"
(9) Connect-Info = "CONNECT 0Mbps 802.11b"
(9) Acct-Session-Id = "A29F6EA35DB6E4A8"
(9) Acct-Multi-Session-Id = "A4EEB85F84AC4780"
(9) WLAN-Pairwise-Cipher = 1027076
(9) WLAN-Group-Cipher = 1027076
(9) WLAN-AKM-Suite = 1027073
(9) Event-Timestamp = "Jun 30 2024 23:08:02 CEST"
(9) Acct-Delay-Time = 0
(9) Acct-Session-Time = 19
(9) Acct-Input-Packets = 1517
(9) Acct-Output-Packets = 2451
(9) Acct-Input-Octets = 280691
(9) Acct-Input-Gigawords = 0
(9) Acct-Output-Octets = 2382768
(9) Acct-Output-Gigawords = 0
(9) Acct-Terminate-Cause = User-Request
(9) # Executing section preacct from file
/etc/freeradius/3.0/sites-enabled/default
(9) preacct {
(9) [preprocess] = ok
(9) policy acct_unique {
(9) update request {
(9) &Tmp-String-9 := "ai:"
(9) } # update request = noop
(9) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) {
(9) EXPAND %{hex:&Class}
(9) -->
(9) EXPAND ^%{hex:&Tmp-String-9}
(9) --> ^61693a
(9) if (("%{hex:&Class}" =~ /^%{hex:&Tmp-String-9}/) &&
("%{string:&Class}" =~ /^ai:([0-9a-f]{32})/i)) -> FALSE
(9) else {
(9) update request {
(9) EXPAND
%{md5:%{User-Name},%{Acct-Session-ID},%{%{NAS-IPv6-Address}:-%{NAS-IP-Address}},%{NAS-Identifier},%{NAS-Port-ID},%{NAS-Port}}
(9) --> b48085220c535c93a65396983387809b
(9) &Acct-Unique-Session-Id := b48085220c535c93a65396983387809b
(9) } # update request = noop
(9) } # else = noop
(9) } # policy acct_unique = noop
(9) suffix: Checking for suffix after "@"
(9) suffix: No '@' in User-Name = "aaa", looking up realm NULL
(9) suffix: No such realm "NULL"
(9) [suffix] = noop
(9) [files] = noop
(9) } # preacct = ok
(9) # Executing section accounting from file
/etc/freeradius/3.0/sites-enabled/default
(9) accounting {
(9) detail: EXPAND
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
(9) detail: --> /var/log/freeradius/radacct/192.168.80.50/detail-20240630
(9) detail:
/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d
expands to /var/log/freeradius/radacct/192.168.80.50/detail-20240630
(9) detail: EXPAND %t
(9) detail: --> Sun Jun 30 23:08:02 2024
(9) [detail] = ok
(9) [unix] = ok
(9) [exec] = noop
(9) attr_filter.accounting_response: EXPAND %{User-Name}
(9) attr_filter.accounting_response: --> aaa
(9) attr_filter.accounting_response: Matched entry DEFAULT at line 12
(9) [attr_filter.accounting_response] = updated
(9) } # accounting = updated
(9) Sent Accounting-Response Id 94 from 192.168.80.68:1813 to
192.168.80.50:55237 length 0
(9) Finished request
(9) Cleaning up request packet ID 94 with timestamp +34
Ready to process requests
1
0
Matthew,
Thank you very much for your clear answer and your time.
W dniu 30.06.2024 o 14:00, freeradius-users-request(a)lists.freeradius.org
pisze:
>> Here is my second question - is it possible to set double authorization,
>> i.e. the user must have an installed certificate and then provide the
>> login and password from AD to connect to WiFi?
> Even though the EAP methods can potentially do it, for all intents and
> purposes nothing supports EAP-TTLS or PEAP (which would let you do
> username+password auth) together with client certificates. EAP-TLS is
> cert only.
>
> I'd expect doing both may only be possible using wpa-supplicant on Linux
> using the config files.
>
> So basically no.
>
> -- Matthew
1
0
Hello and welcome,
Dear community, I am asking for help. I've been struggling with
configuring Freeradius in my home lab for several days. And I've reached
a wall that I can't overcome.
What does the architecture look like:
AD Controller dc1.lab.lan
Freeradius 3.0.21 (Debian 11 bullseye)
Unifi Controller (on Debian)
AP Unifi
CA (using xCA - issuing certificates manually)
Everything is on one local network 192.168.80.x/24, Gateway 192.168.80.1
DNS 192.168.80.21 (dc1).
And so the goal is to authorize users using AD credentials or
certificates issued from xCA. Certificates in pem12 (for android). I
tested on Android 9 and 13.
What works - user authorization using login and password from AD.
EAP-PEAP
MSCHAPv2
Certificate – Imported p12 User+rootCA
Variant 2
EAP-PEAP
MSCHAPv2
Certificate – don't check
Certificates
user authorization through issued certificates works (signed directly by
rootCA for now, without an intermediate authority).
EAP-TLS
Device certificate - Imported p12 User+rootCA
User certificate - Imported p12 User+rootCA
Username: cannot be empty, I have to enter something to make it work,
e.g. AAA (in radius, if the check CN option is selected, it is required
to enter the correct username).
Case two
EAP-TLS
Device cert: labrootca (imported separately – rootCA)
User certificate – user1
Username: whatever
Password: blank
(user1 does not exist in AD or local configuration files and yet
freeradius authorizes it)
My main problem is the CRL not working.
I made a combined rootCA+CRL certificate in pem.
I deleted the .cnf files in /etc/freeradius/3.0/certs because I don't
want to use an external CA (xCA).
I only left bootstrap and dh. I did this before turning on freeradius
C_rehash /etc/freeradius/3.0/certs
New files (links) have appeared.
sudo freeradius -XC => Configuration appears to be OK
Then start freeradius -X => shows no errors
Here is my second question - is it possible to set double authorization,
i.e. the user must have an installed certificate and then provide the
login and password from AD to connect to WiFi?
First of all, please tell me what I can do wrong with this CRL list.
Below are the configuration files (most # comments removed, I left a few
for example)
Labrootca.crt
-----BEGIN CERTIFICATE-----
MIIDljCCAn6gAwIBAgIIWSbrdC7xrG0wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE
BhMCUEwxFjAUBgNVBAoTDWxhYi5wYy1pdC5sYW4xFjAUBgNVBAsTDWxhYi5wYy1p
(rest of cert)
sUTnIqKeufo9rhrL3V/1UPAJK0+2gj+RaXuJcwjrs5pDIiN0NWitepTPZdsl5TaM
NviIhB0RA14UhQ==
-----END CERTIFICATE-----
Labrootcacrl_and_CA.pem
-----BEGIN CERTIFICATE-----
MIIDljCCAn6gAwIBAgIIWSbrdC7xrG0wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE
BhMCUEwxFjAUBgNVBAoTDWxhYi5wYy1pdC5sYW4xFjAUBgNVBAsTDWxhYi5wYy1p
(rest of cert)
sUTnIqKeufo9rhrL3V/1UPAJK0+2gj+RaXuJcwjrs5pDIiN0NWitepTPZdsl5TaM
NviIhB0RA14UhQ==
-----END CERTIFICATE-----
-----BEGIN X509 CRL-----
MIIB4zCBzAIBATANBgkqhkiG9w0BAQsFADBRMQswCQYDVQQGEwJQTDEWMBQGA1UE
ChMNbGFiLnBjLWl0LmxhbjEWMBQGA1UECxMNbGFiLnBjLWl0LmxhbjESMBAGA1UE
(rest of CRL)
9xWxqQIS5Q==
-----END X509 CRL-----
---------EAP FILE---------
eap {
default_eap_type = peap
timer_expire = 60
ignore_unknown_eap_types = no
cisco_accounting_username_bug = no
max_sessions = ${max_requests}
#md5 {
#}
#leap {
#}
#gtc {
#challenge = "Password: "
#auth_type = PAP
#}
tls-config tls-common {
#freerad and key are in the same file so duplicated
private_key_file = /etc/certyfikaty/freerad.pem
certificate_file = /etc/certyfikaty/freerad.pem
ca_file = /etc/freeradius/3.0/certs/labrootcacrl_and_CA.pem
#auto_chain = yes
dh_file = ${certdir}/dh
#random_file = /dev/urandom
#fragment_size = 1024
#include_length = yes
#Check the Certificate Revocation List
#
#1) Copy CA certificates and CRLs to same directory.
#2) Execute 'c_rehash <CA certs&CRLs Directory>'.
#'c_rehash' is OpenSSL's command.
#3) uncomment the lines below.
#5) Restart radiusd
check_crl = yes
# Check if intermediate CAs have been revoked.
check_all_crl = yes
ca_path = /etc/freeradius/3.0/certs/labrootcacrl_and_CA.pem
allow_expired_crl = yes
#check_cert_issuer = "/C=GB/ST=Berkshire/L=Newbury/O=My Company Ltd"
#check_cert_cn = %{User-Name}
cipher_list = "DEFAULT"
cipher_server_preference = no
#disable_tlsv1_2 = no
#disable_tlsv1_1 = yes
#disable_tlsv1 = yes
tls_min_version = "1.2"
tls_max_version = "1.2"
ecdh_curve = "prime256v1"
cache {
enable = no
lifetime = 24 # hours
#name = "EAP module"
#persist_dir = "${logdir}/tlscache"
store {
Tunnel-Private-Group-Id
}
}
verify {
#skip_if_ocsp_ok = no
#tmpdir = /tmp/radiusd
#client = "/path/to/openssl verify -CApath ${..ca_path}
%{TLS-Client-Cert-Filename}"
}
ocsp {
enable = no
override_cert_url = yes
url = "http://127.0.0.1/ocsp/"
#use_nonce = yes
#timeout = 0
#softfail = no
}
}
tls {
tls = tls-common
#virtual_server = check-eap-tls
}
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 = yes
}
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 = yes
#soh_virtual_server = "soh-server"
#require_client_cert = yes
}
mschapv2 {
#send_error = no
#identity = "FreeRADIUS"
}
}
----- SITES DEFAULT ---
server default {
listen {
type = auth
ipaddr = *
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
listen {
ipaddr = *
#ipv6addr = ::
port = 0
type = acct
limit {
}
}
listen {
type = auth
ipv6addr = ::# any.::1 == localhost
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
listen {
ipv6addr = ::
port = 0
type = acct
limit {
}
}
authorize {
filter_username
preprocess
chap
mschap
digest
suffix
ntdomain
eap {
ok = return
#updated = return
}
files
-sql
-ldap
expiration
logintime
pap
}
authenticate {
ntlm_auth
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
mschap
digest
#Auth-Type LDAP {
#ldap
#}
eap
}
preacct {
preprocess
acct_unique
suffix
#ntdomain
files
}
accounting {
detail
unix
-sql
exec
attr_filter.accounting_response
}
session {
}
post-auth {
if (session-state:User-Name && reply:User-Name && request:User-Name &&
(reply:User-Name == request:User-Name)) {
update reply {
&User-Name !* ANY
}
}
update {
&reply: += &session-state:
}
-sql
exec
remove_reply_message_if_eap
Post-Auth-Type REJECT {
# log failed authentications in SQL, too.
-sql
attr_filter.access_reject
eap
remove_reply_message_if_eap
}
Post-Auth-Type Challenge {
#remove_reply_message_if_eap
#attr_filter.access_challenge.post-auth
}
}
pre-proxy {
}
post-proxy {
eap
}
}
---INNER TUNNEL
server inner-tunnel {
listen {
ipaddr = 127.0.0.1
port = 18120
type = auth
}
authorize {
filter_username
chap
mschap
suffix
#ntdomain
update control {
&Proxy-To-Realm := LOCAL
}
eap {
ok = return
}
files
-sql
-ldap
expiration
logintime
pap
}
authenticate {
ntlm_auth
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
mschap
#Auth-Type LDAP {
#ldap
#}
eap
}
session {
radutmp
}
post-auth {
-sql
#ldap
if (0) {
update reply {
User-Name !* ANY
Message-Authenticator !* ANY
EAP-Message !* ANY
Proxy-State !* ANY
MS-MPPE-Encryption-Types !* ANY
MS-MPPE-Encryption-Policy !* ANY
MS-MPPE-Send-Key !* ANY
MS-MPPE-Recv-Key !* ANY
}
update {
&outer.session-state: += &reply:
}
}
Post-Auth-Type REJECT {
# log failed authentications in SQL, too.
-sql
attr_filter.access_reject
update outer.session-state {
&Module-Failure-Message := &request:Module-Failure-Message
}
}
}
pre-proxy {
}
post-proxy {
eap
}
} # inner-tunnel server block
3
2
Dear community
I read about the server statistics (https://freeradius.org/documentation/freeradius-server/3.2.4/howto/monitori…) but still don’t get it a 100%. I use this information as a reference:
Received Access-Accept Id 39 from 127.0.0.1:46c9 to 127.0.0.1:49906 length 596
FreeRADIUS-Total-Access-Requests = 592
FreeRADIUS-Total-Access-Accepts = 13
FreeRADIUS-Total-Access-Rejects = 0
FreeRADIUS-Total-Access-Challenges = 135
FreeRADIUS-Total-Auth-Responses = 148
FreeRADIUS-Total-Auth-Duplicate-Requests = 0
FreeRADIUS-Total-Auth-Malformed-Requests = 0
FreeRADIUS-Total-Auth-Invalid-Requests = 0
FreeRADIUS-Total-Auth-Dropped-Requests = 0
FreeRADIUS-Total-Auth-Unknown-Types = 0
FreeRADIUS-Total-Auth-Conflicts = 0
...
FreeRADIUS-Total-Proxy-Access-Requests = 39
FreeRADIUS-Total-Proxy-Access-Accepts = 0
FreeRADIUS-Total-Proxy-Access-Rejects = 0
FreeRADIUS-Total-Proxy-Access-Challenges = 39
FreeRADIUS-Total-Proxy-Auth-Responses = 39
FreeRADIUS-Total-Proxy-Auth-Duplicate-Requests = 0
FreeRADIUS-Total-Proxy-Auth-Malformed-Requests = 0
FreeRADIUS-Total-Proxy-Auth-Invalid-Requests = 0
FreeRADIUS-Total-Proxy-Auth-Dropped-Requests = 0
FreeRADIUS-Total-Proxy-Auth-Unknown-Types = 0
FreeRADIUS-Total-Proxy-Accounting-Requests = 0
FreeRADIUS-Total-Proxy-Accounting-Responses = 0
FreeRADIUS-Total-Proxy-Acct-Duplicate-Requests = 0
FreeRADIUS-Total-Proxy-Acct-Malformed-Requests = 0
FreeRADIUS-Total-Proxy-Acct-Invalid-Requests = 0
FreeRADIUS-Total-Proxy-Acct-Dropped-Requests = 0
FreeRADIUS-Total-Proxy-Acct-Unknown-Types = 0
FreeRADIUS-Stats-Start-Time = "Jun 21 2024 11:08:37 CEST"
Some questions you could maybe answer me:
1. The total numbers are an incremented total since “FreeRADIUS-Stats-Start-Time”, is that correct?
2. Based on which additional value could I calculate the percentage of successful RADIUS “tries” (“FreeRADIUS-Total-Access-Accepts” and ???)?
a) There is a massive difference between “FreeRADIUS-Total-Access-Accepts” and “FreeRADIUS-Total-Access-Requests” or “FreeRADIUS-Total-Auth-Responses” and why is that?
b) somehow the values for “FreeRADIUS-Total-Access-Accepts” and “FreeRADIUS-Total-Access-Rejects” should somehow correlate with any of the other total values; or I am completely wrong about this?
3. Concerning the Proxy-statistics:
a) Why are the values for FreeRADIUS-Total-Proxy-Access-Accepts and FreeRADIUS-Total-Proxy-Access-Rejects always = 0?
Thanks a lot for any help concerning the statistics; I am pretty new to FreeRADIUS and any help is appreciated.
Regards
Dominic
3
21