Hello Jay,

it's been a while i didn't answer to the mailing list.

First quick question, does your ldap support the password in clear text or nthash ? (if no then you can't make it work).

After that what you have to do is to define your ldap configuration in Freeradius (There is no gui for that in packetfence) in mod-available/ldap. (https://github.com/inverse-inc/packetfence/blob/devel/docs/PacketFence_Installation_Guide.asciidoc#eap-authentication-against-openldap).

And don't forget to add  (it disable the call to ntlm_auth):

        update control {
            MS-CHAP-Use-NTLM-Auth := No
        }

in fact something like that:

Next in /usr/local/pf/raddb/sites-available/packetfence-tunnel add in the authorize section:

authorize {
        suffix
        ntdomain
        eap {
                ok = return
        }
        files
        openldap

        update control {
            MS-CHAP-Use-NTLM-Auth := No
        }

    }

Restart radius and run it in debug mode to see exactly what it happen (raddebug -f /usr/local/pf/var/run/radiusd.sock -t 3000)


Hope it will help

Regards

Fabrice



Le 2018-10-02 à 07:37, Jay Hauss via PacketFence-users a écrit :
Hello,
I've been trying to test PacketFence on our corporate network, but I keep running into roadblocks. I've tried to follow the PacketFence installation guide but am not able to do so because */we do not use Microsoft Active Directory/*. The installation documentation guide is good but unfortunately written sequentially -- it pre-supposes you have access to an AD environment and in order to do the steps in later chapters (Say, Chapter 11), you had to have set up everything successfully in Chapter 4/5.... Our corporate environment contains little to no Microsoft products (only supporting the odd legacy workstation or laptop). Everything else is macOS, Linux or BSD. All we're looking to do is simply have the Radius server set the VLAN on the port based on authentication. If you authenticate, you get network access. Otherwise, nothing. The most basic and simple use case of this software (which is why I'm sure the install guide starts there).
I am using the following setup:
-PacketFence 8.1 installed on CentOS 7.5 (IP: 10.111.111.1)
-Cisco 2960X 48 port switch (IP: 10.111.111.2)
-Test LDAP server (OpenDJ 2.5.2) which has been configured the same as our corporate LDAP server.

I managed to get everything installed nicely but run into issues at section 5.2 (Titled: Connecting PacketFence to a Microsoft Active Directory). Having no AD, I couldn't complete step 5.2 in its entirety (I have no Domain to define or REALM to join) but instead went to Authentication Sources and added my internal LDAP server. I receive the "Sucess !" message when trying the test button. I then configured the switch as in sections 5.3, 5.4 and 5.5. I even got out a Windows 10 Laptop to do step 5.6. However, it has never worked. I can never move beyond step 5.7.
Symptoms:
When I connect the ethernet cable to the laptop, I am immediately prompted for a Username/Password which I provide. However it says "Authentication Failed". I've captured the output from the Radius debug using the following command run as root (Section 12.3): raddebug -t 300 -f /usr/local/pf/var/run/radiusd.sock
##### raddebug #####
(13) Mon Oct  1 12:06:01 2018: Debug: mschap: Creating challenge hash with username: testuser
(13) Mon Oct  1 12:06:01 2018: Debug: mschap: Client is using MS-CHAPv2
(13) Mon Oct  1 12:06:01 2018: Debug: mschap: Executing: /usr/local/pf/bin/ntlm_auth_wrapper -- --request-nt-key --username=%{%{Stripped-User-Name}:-%{mschap:User-Name:-None}} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}: (13) Mon Oct  1 12:06:01 2018: Debug: mschap: EXPAND --username=%{%{Stripped-User-Name}:-%{mschap:User-Name:-None}}
(13) Mon Oct  1 12:06:01 2018: Debug: mschap:    --> --username=testuser
(13) Mon Oct  1 12:06:01 2018: Debug: mschap: Creating challenge hash with username: testuser (13) Mon Oct  1 12:06:01 2018: Debug: mschap: EXPAND --challenge=%{mschap:Challenge:-00} (13) Mon Oct  1 12:06:01 2018: Debug: mschap:    --> --challenge=8881e30a07b259b3 (13) Mon Oct  1 12:06:01 2018: Debug: mschap: EXPAND --nt-response=%{mschap:NT-Response:-00} (13) Mon Oct  1 12:06:01 2018: Debug: mschap:    --> --nt-response=10a441d370fdb1c7723ca301f3885e45ca2bcd6ca6f61dd9 (13) Mon Oct  1 12:06:01 2018: ERROR: mschap: Program returned code (1) and output 'Reading winbind reply failed! (0xc0000001)'
(13) Mon Oct  1 12:06:01 2018: Debug: mschap: External script failed
(13) Mon Oct  1 12:06:01 2018: ERROR: mschap: External script says: Reading winbind reply failed! (0xc0000001) (13) Mon Oct  1 12:06:01 2018: ERROR: mschap: MS-CHAP2-Response is incorrect
(13) Mon Oct  1 12:06:01 2018: Debug:             [mschap] = reject
(13) Mon Oct  1 12:06:01 2018: Debug:           } # else = reject
(13) Mon Oct  1 12:06:01 2018: Debug:         } # else = reject
(13) Mon Oct  1 12:06:01 2018: Debug:       } # policy packetfence-mschap-authenticate = reject
(13) Mon Oct  1 12:06:01 2018: Debug:     } # else = reject
(13) Mon Oct  1 12:06:01 2018: Debug:   } # Auth-Type MS-CHAP = reject
(13) Mon Oct  1 12:06:01 2018: Debug: eap: Sending EAP Failure (code 4) ID 8 length 4
##################
Or example of the issue from radius.log
#### radius.log ####
Oct  1 13:55:43 packetfence8-1 auth[35178]: rlm_sql (sql): Closing connection (0): Hit idle_timeout, was idle for 96 seconds Oct  1 13:55:43 packetfence8-1 auth[35178]: rlm_sql (sql): Closing connection (1): Hit idle_timeout, was idle for 96 seconds Oct  1 13:55:43 packetfence8-1 auth[35178]: rlm_sql (sql): Opening additional connection (2), 1 of 64 pending slots used Oct  1 13:55:43 packetfence8-1 auth[35178]: Need 2 more connections to reach min connections (3) Oct  1 13:55:43 packetfence8-1 auth[35178]: rlm_sql (sql): Opening additional connection (3), 1 of 63 pending slots used Oct  1 13:55:43 packetfence8-1 auth[35178]: (13) mschap: ERROR: Program returned code (1) and output 'Reading winbind reply failed! (0xc0000001)' Oct  1 13:55:43 packetfence8-1 auth[35178]: (13)   Login incorrect (mschap: Program returned code (1) and output 'Reading winbind reply failed! (0xc0000001)'): [testuser] (from client 10.111.111.2 port 50121 cli a0:ce:c8:09:9a:b4 via TLS tunnel) Oct  1 13:55:43 packetfence8-1 auth[35178]: (14) eap_peap:   This means you need to read the PREVIOUS messages in the debug output Oct  1 13:55:43 packetfence8-1 auth[35178]: (14) eap_peap:   to find out the reason why the user was rejected Oct  1 13:55:43 packetfence8-1 auth[35178]: (14) eap_peap:   Look for "reject" or "fail".  Those earlier messages will tell you Oct  1 13:55:43 packetfence8-1 auth[35178]: (14) eap_peap:   what went wrong, and how to fix the problem Oct  1 13:55:43 packetfence8-1 auth[35178]: (14) Login incorrect (eap_peap: The users session was previously rejected: returning reject (again.)): [testuser] (from client 10.111.111.2 port 50121 cli a0:ce:c8:09:9a:b4) Oct  1 13:55:43 packetfence8-1 auth[35178]: [mac:a0:ce:c8:09:9a:b4] Rejected user: testuser
###############
I've seen the "windbind reply fail previously" posted on the message board here but for a different use case: https://www.mail-archive.com/packetfence-users@lists.sourceforge.net/msg15094.html
I tried adding the required portions to packetfence-tunnel template file:
##########
#  The ldap module reads passwords from the LDAP database.
     ldap
     if (ok) {
         update control {
             &MS-CHAP-Use-NTLM-Auth := No
         }
     }
##########
But now my Radius server won't start up. It's saying there's no LDAP module installed. Here is the output from 'journalctl -xe':
##########
Oct 01 14:56:41 packetfence8-1.testdomain.local radiusd[43004]: /usr/local/pf/raddb/sites-enabled/packetfence-tunnel[122]: Failed to find "ldap" as a module or policy. Oct 01 14:56:41 packetfence8-1.testdomain.local radiusd[43004]: /usr/local/pf/raddb/sites-enabled/packetfence-tunnel[122]: Please verify that the configuration exists in /usr/local/pf/raddb/mods-enabled/ldap. Oct 01 14:56:41 packetfence8-1.testdomain.local radiusd[43004]: /usr/local/pf/raddb/sites-enabled/packetfence-tunnel[25]: Errors parsing authorize section.
##########
I don't want to start hacking around with the Freeradius instance in PacketFence blindly. I don't know Freeradius (and was hoping PacketFence would buffer me from having to hack together config files) but it appears this is where my issues are.
So! Could anybody recommend a way to move forward ?
I don't want to believe that PacketFence has AD as a requirement for usage, but it seems like every guide or tutorial about Packetfence involves it. Every error code or issue I look up has something to do with AD. It even appears to be an integral part of the PacketFence GUI. I hope in the future the developpers would take into consideration that not everybody uses Microsoft products.
-J




_______________________________________________
PacketFence-users mailing list
PacketFence-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/packetfence-users

_______________________________________________
PacketFence-users mailing list
PacketFence-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/packetfence-users

Reply via email to