I can share my notes, we authenticate UniFi clients via Freeradius against Samba AD. We also check group membership which you might or might not need: ## 4 FreeRADIUS ### 4.1 Basics ```bash apt install freeradius freeradius-ldap freeradius-utils # create new DH-params openssl dhparam -out /etc/freeradius/3.0/certs/dh 2048 ``` ### 4.2 Configure Authentication - modify mschap to use winbind, uncomment the following lines ``` # /etc/freeradius/3.0/mods-available/mschap require_encryption = yes require_strong = yes winbind_username = "%{mschap:User-Name}" winbind_domain = "%{%{mschap:NT-Domain}:-NTDOMAINNAME}" winbind_retry_with_normalised_username = yes ``` - add to global section in samba conf ``` # /etc/samba/smb.conf ntlm auth = mschapv2-and-ntlmv2-only ``` - fix perms and restart ```bash usermod -a -G winbindd_priv freerad service freeradius restart service samba-ad-dc restart ``` ### 4.3 Configure LDAP (group information) - enable ldap ```bash cd /etc/freeradius/3.0/mods-enabled ln -s ../mods-available/ldap ldap chown -h freerad:freerad ldap ``` - modify module ldap to retrieve group information ``` # /etc/freeradius/3.0/mods-available/ldap server = '10.0.1.250' server = '10.0.1.251' identity = 'cn=dc01,cn=users,dc=ds,dc=example,dc=com' password = *** base_dn = 'cn=users,dc=ds,dc=example,dc=com' user: filter = "(|(samaccountname=%{%{Stripped-User-Name}:-%{User-Name}})(userprincipalname=%{User-Name}))" group: filter = "(objectClasse=group)" group: membership_filter = "(member:1.2.840.113556.1.4.1941:=%{control:Ldap-UserDn})" start_tls = yes ca_file = /etc/ssl/certs/ca-certificates.crt ``` ### 4.4 Configure EAP - add root.ca and services.ca to certificate store ```bash cp /home/dcadmin/root.ca.crt /usr/local/share/ca-certificates/ cp /home/dcadmin/service.ca.crt /usr/local/share/ca-certificates/ update-ca-certificates ``` - add radius cert and key ```bash cp /home/dcadmin/service.radius.key /etc/freeradius/3.0/certs/service.radius.key cp /home/dcadmin/service.radius.crt /etc/freeradius/3.0/certs/service.radius.crt chmod 640 /etc/freeradius/3.0/certs/service.radius.* chown freerad:freerad /etc/freeradius/3.0/certs/service.radius.* ``` - configure eap module to use peap per default ``` # /etc/freeradius/3.0/mods-available/eap default_eap_type = peap #private_key_password = whatever private_key_file = ${certdir}/service.radius.key certificate_file = ${certdir}/service.radius.crt tls_min_version = "1.2" cache: enable = yes cache: name = ?<somename>.radius" cache: persist_dir = "${logdir}/tlscache" peap: copy_request_to_tunnel = yes ``` ### 4.5 Configure Clients - add client for UniFi ``` # /etc/freeradius/3.0/clients.conf client unifi { ipaddr = 10.0.1.0/24 secret = *** } ``` ### 4.6 Configure Authorization - devices/user via EAP ``` # /etc/freeradius/3.0/sites-enabled/inner-tunnel post-auth { if (!(Ldap-Group == ?SOMEGROUP")) { reject } ``` ### 4.7 Finish ```bash service freeradius restart ```> On Thursday, Apr 06, 2023 at 9:46 AM, Matthias K?hne | Ellerhold Aktiengesellschaft via samba <samba at lists.samba.org (mailto:samba at lists.samba.org)> wrote: > Hello Tim, Hello samba-people, > > is there an uptodate guide for authenticating via freeradius somewhere? > > I have some Ubiquiti APs plus a Cloud Key and I want to authenticate > WLAN clients via WPA2-Enterprise instead of a (shared) PSK. > > It seems like > https://wiki.samba.org/index.php/Authenticating_Freeradius_against_Active_Directory > is missing some steps (basic setup of freeradius). > > Can you write up some of your findings please? > > Thanks and happy holidays, > Matthias. > > Am 04.04.23 um 10:38 schrieb Tim ODriscoll via samba: > > Dear All, > > > > Well, this is very embarrassing.... > > > > It seems that running 'smbcontrol all reload-config' isn't sufficient for reloading the ntlm config parameters. > > > > I tried restarting the whole samba service on the DC my FR box was authenticating against (systemctl restart sernet-samba-ad) and my test laptop is now connected to the network on the correct VLAN. > > > > I apologise for wasting everyone's time - now I'll get back to cleaning up all the config files and making sure BYOD still works etc. > > > > Thank you, > > > > Tim > > -- > Senior Webentwickler > Datenschutzbeauftragter > > Ellerhold Aktiengesellschaft > Friedrich-List-Str. 4 > 01445 Radebeul > > Telefon: +49 (0) 351 83933-61 > Web: www.ellerhold.de > Facebook: www.facebook.com/ellerhold.gruppe > Instagram: www.instagram.com/ellerhold.gruppe > Twitter: https://twitter.com/EllerholdGruppe > > Amtsgericht Dresden / HRB 23769 > Vorstand: Stephan Ellerhold, Maximilian Ellerhold > Vorsitzender des Aufsichtsrates: Frank Ellerhold > > > > ---Diese E-Mail und Ihre Anlagen enthalten vertrauliche Mitteilungen. Sollten Sie nicht der beabsichtigte Adressat sein, so bitten wir Sie um Mitteilung und um sofortiges l?schen dieser E-Mail und der Anlagen. > > Unsere Hinweise zum Datenschutz finden Sie hier: http://www.ellerhold.de/datenschutz/ > > This e-mail and its attachments are privileged and confidential. If you are not the intended recipient, please notify us and immediately delete this e-mail and its attachments. > > You can find our privacy policy here: http://www.ellerhold.de/datenschutz/ > > > -- > To unsubscribe from this list go to the following URL and read the > instructions: https://lists.samba.org/mailman/options/samba
Matthias Kühne | Ellerhold Aktiengesellschaft
2023-Apr-12 10:20 UTC
[Samba] Fwd: ntlm_auth and freeradius
Hello Alexander, thanks Alexander for these configuration snippets. Which version of Samba are you using? Is this on debian bullseye? Is the FreeRADIUS server installed on a DC or on a Domain Member? (I just tested the latter). is "ntlm auth = yes" OK for the DCs and the domain member or does it have to be "mschapv2-and-ntlmv2-only" for all servers (DCs + Member)? It looks like "yes" is broader and it should work? Sadly we need "yes" for other applications... Im sad to say that I cant get it to work. Neither "radtest" nor my Ubiquity APs... I always get (3) mschap: ERROR: When trying to update a password, this return status indicates that the value provided as the current password is not correct. [0xC000006A] (3) mschap: ERROR: MS-CHAP2-Response is incorrect Similar error while using "ntlm_auth" instead of the direct winbind connections. Using ntlm_auth with --username and --password works. Using ntlm_auth with --challenge results in the same error message above. Any help would be much appreciated, otherwise we're going to switch to SQL or file based auth (with cleartext password *shudder*). Thanks and have a nice day, Matthias. Am 06.04.23 um 09:56 schrieb Alexander Harm || ApfelQ via samba:> I can share my notes, we authenticate UniFi clients via Freeradius against Samba AD. We also check group membership which you might or might not need: > > ## 4 FreeRADIUS > > ### 4.1 Basics > > ```bash > apt install freeradius freeradius-ldap freeradius-utils > > # create new DH-params > openssl dhparam -out /etc/freeradius/3.0/certs/dh 2048 > ``` > > ### 4.2 Configure Authentication > > - modify mschap to use winbind, uncomment the following lines > > ``` > # /etc/freeradius/3.0/mods-available/mschap > require_encryption = yes > require_strong = yes > winbind_username = "%{mschap:User-Name}" > winbind_domain = "%{%{mschap:NT-Domain}:-NTDOMAINNAME}" > winbind_retry_with_normalised_username = yes > ``` > > - add to global section in samba conf > > ``` > # /etc/samba/smb.conf > ntlm auth = mschapv2-and-ntlmv2-only > ``` > > - fix perms and restart > > ```bash > usermod -a -G winbindd_priv freerad > service freeradius restart > service samba-ad-dc restart > ``` > > ### 4.3 Configure LDAP (group information) > > - enable ldap > > ```bash > cd /etc/freeradius/3.0/mods-enabled > ln -s ../mods-available/ldap ldap > chown -h freerad:freerad ldap > ``` > > - modify module ldap to retrieve group information > > ``` > # /etc/freeradius/3.0/mods-available/ldap > server = '10.0.1.250' > server = '10.0.1.251' > identity = 'cn=dc01,cn=users,dc=ds,dc=example,dc=com' > password = *** > base_dn = 'cn=users,dc=ds,dc=example,dc=com' > user: filter = "(|(samaccountname=%{%{Stripped-User-Name}:-%{User-Name}})(userprincipalname=%{User-Name}))" > group: filter = "(objectClasse=group)" > group: membership_filter = "(member:1.2.840.113556.1.4.1941:=%{control:Ldap-UserDn})" > start_tls = yes > ca_file = /etc/ssl/certs/ca-certificates.crt > ``` > > ### 4.4 Configure EAP > > - add root.ca and services.ca to certificate store > > ```bash > cp /home/dcadmin/root.ca.crt /usr/local/share/ca-certificates/ > cp /home/dcadmin/service.ca.crt /usr/local/share/ca-certificates/ > update-ca-certificates > ``` > > - add radius cert and key > > ```bash > cp /home/dcadmin/service.radius.key /etc/freeradius/3.0/certs/service.radius.key > cp /home/dcadmin/service.radius.crt /etc/freeradius/3.0/certs/service.radius.crt > > chmod 640 /etc/freeradius/3.0/certs/service.radius.* > chown freerad:freerad /etc/freeradius/3.0/certs/service.radius.* > ``` > > - configure eap module to use peap per default > > ``` > # /etc/freeradius/3.0/mods-available/eap > default_eap_type = peap > > #private_key_password = whatever > private_key_file = ${certdir}/service.radius.key > certificate_file = ${certdir}/service.radius.crt > > tls_min_version = "1.2" > > cache: enable = yes > cache: name = ?<somename>.radius" > cache: persist_dir = "${logdir}/tlscache" > > peap: copy_request_to_tunnel = yes > ``` > > ### 4.5 Configure Clients > > - add client for UniFi > > ``` > # /etc/freeradius/3.0/clients.conf > client unifi { > ipaddr = 10.0.1.0/24 > secret = *** > } > ``` > > ### 4.6 Configure Authorization > > - devices/user via EAP > > ``` > # /etc/freeradius/3.0/sites-enabled/inner-tunnel > post-auth { > if (!(Ldap-Group == ?SOMEGROUP")) { > reject > } > ``` > > ### 4.7 Finish > > ```bash > service freeradius restart > ``` > >> On Thursday, Apr 06, 2023 at 9:46 AM, Matthias K?hne | Ellerhold Aktiengesellschaft via samba <samba at lists.samba.org (mailto:samba at lists.samba.org)> wrote: >> Hello Tim, Hello samba-people, >> >> is there an uptodate guide for authenticating via freeradius somewhere? >> >> I have some Ubiquiti APs plus a Cloud Key and I want to authenticate >> WLAN clients via WPA2-Enterprise instead of a (shared) PSK. >> >> It seems like >> https://wiki.samba.org/index.php/Authenticating_Freeradius_against_Active_Directory >> is missing some steps (basic setup of freeradius). >> >> Can you write up some of your findings please? >> >> Thanks and happy holidays, >> Matthias. >> >> Am 04.04.23 um 10:38 schrieb Tim ODriscoll via samba: >>> Dear All, >>> >>> Well, this is very embarrassing.... >>> >>> It seems that running 'smbcontrol all reload-config' isn't sufficient for reloading the ntlm config parameters. >>> >>> I tried restarting the whole samba service on the DC my FR box was authenticating against (systemctl restart sernet-samba-ad) and my test laptop is now connected to the network on the correct VLAN. >>> >>> I apologise for wasting everyone's time - now I'll get back to cleaning up all the config files and making sure BYOD still works etc. >>> >>> Thank you, >>> >>> Tim >> -- >> Senior Webentwickler >> Datenschutzbeauftragter >> >> Ellerhold Aktiengesellschaft >> Friedrich-List-Str. 4 >> 01445 Radebeul >> >> Telefon: +49 (0) 351 83933-61 >> Web: www.ellerhold.de >> Facebook: www.facebook.com/ellerhold.gruppe >> Instagram: www.instagram.com/ellerhold.gruppe >> Twitter: https://twitter.com/EllerholdGruppe >> >> Amtsgericht Dresden / HRB 23769 >> Vorstand: Stephan Ellerhold, Maximilian Ellerhold >> Vorsitzender des Aufsichtsrates: Frank Ellerhold >> >> >> >> ---Diese E-Mail und Ihre Anlagen enthalten vertrauliche Mitteilungen. Sollten Sie nicht der beabsichtigte Adressat sein, so bitten wir Sie um Mitteilung und um sofortiges l?schen dieser E-Mail und der Anlagen. >> >> Unsere Hinweise zum Datenschutz finden Sie hier: http://www.ellerhold.de/datenschutz/ >> >> This e-mail and its attachments are privileged and confidential. If you are not the intended recipient, please notify us and immediately delete this e-mail and its attachments. >> >> You can find our privacy policy here: http://www.ellerhold.de/datenschutz/ >> >> >> -- >> To unsubscribe from this list go to the following URL and read the >> instructions: https://lists.samba.org/mailman/options/samba-- Senior Webentwickler Datenschutzbeauftragter Ellerhold Aktiengesellschaft Friedrich-List-Str. 4 01445 Radebeul Telefon: +49 (0) 351 83933-61 Web: www.ellerhold.de Facebook: www.facebook.com/ellerhold.gruppe Instagram: www.instagram.com/ellerhold.gruppe Twitter: https://twitter.com/EllerholdGruppe Amtsgericht Dresden / HRB 23769 Vorstand: Stephan Ellerhold, Maximilian Ellerhold Vorsitzender des Aufsichtsrates: Frank Ellerhold ---Diese E-Mail und Ihre Anlagen enthalten vertrauliche Mitteilungen. Sollten Sie nicht der beabsichtigte Adressat sein, so bitten wir Sie um Mitteilung und um sofortiges l?schen dieser E-Mail und der Anlagen. Unsere Hinweise zum Datenschutz finden Sie hier: http://www.ellerhold.de/datenschutz/ This e-mail and its attachments are privileged and confidential. If you are not the intended recipient, please notify us and immediately delete this e-mail and its attachments. You can find our privacy policy here: http://www.ellerhold.de/datenschutz/