Hi, We are attempting to enforce LDAP signing or TLS encryption and have started by auditing insecure LDAP binds in AD. An example how-to detailing steps to do: https://azurecloudai.blog/2019/08/03/step-by-step-enforce-require-ldap-signing-on-domain-controllers-part-1/
We are using an 'Active Directory Domain' together with AD authentication sources. Herewith sample events relating to LDAP binds from Packet Fence: 4624, dc01.realm.com, 07/31/2021 23:59:45, S-1-5-18 DC01$ DOMAIN 0x3e7 S-1-5-21-1004336348-1177238915-682003330-11463 auth-packetfence DOMAIN 0xf86c0dd 3 Advapi MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 DC01 {00000000-0000-0000-0000-000000000000} - - 0 0x26c C:\Windows\System32\lsass.exe 192.168.1.5 44240 %%1833 - - - %%1843 0x0 %%1842,(System.Diagnostics.EventLogEntry.message) 4624, dc01.realm.com, 07/31/2021 23:59:15, S-1-5-18 DC01$ DOMAIN 0x3e7 S-1-5-21-1004336348-1177238915-682003330-11463 auth-packetfence DOMAIN 0xf86bc35 3 Advapi MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 DC01 {00000000-0000-0000-0000-000000000000} - - 0 0x26c C:\Windows\System32\lsass.exe 192.168.1.5 44110 %%1833 - - - %%1843 0x0 %%1842,(System.Diagnostics.EventLogEntry.message) 4624, dc01.realm.com, 07/31/2021 23:58:45, S-1-5-18 DC01$ DOMAIN 0x3e7 S-1-5-21-1004336348-1177238915-682003330-11463 auth-packetfence DOMAIN 0xf867d3e 3 Advapi MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 DC01 {00000000-0000-0000-0000-000000000000} - - 0 0x26c C:\Windows\System32\lsass.exe 192.168.1.5 43930 %%1833 - - - %%1843 0x0 %%1842,(System.Diagnostics.EventLogEntry.message) 4624, dc01.realm.com, 07/31/2021 23:58:15, S-1-5-18 DC01$ DOMAIN 0x3e7 S-1-5-21-1004336348-1177238915-682003330-11463 auth-packetfence DOMAIN 0xf863c2a 3 Advapi MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 DC01 {00000000-0000-0000-0000-000000000000} - - 0 0x26c C:\Windows\System32\lsass.exe 192.168.1.5 43804 %%1833 - - - %%1843 0x0 %%1842,(System.Diagnostics.EventLogEntry.message) I have however defined the LDAP host in the GUI as: Host: realm.com Port: 636 Type: SSL Are there possibly checks or other interactions that bind to LDAP without TLS? Perhaps this has already been discussed previously, to prepare PacketFence's AD integration to either use LDAP signing or encapsulate all simple binds in TLS? PS: Our AD servers use certificates issued by an AD CS, herewith the steps we took to add the public CA root certificate chain: f='companyad'; mkdir -p /usr/share/ca-certificates/$f; scp linux-test.realm.com:/etc/pki/tls/syrex-AD-ca.pem /usr/share/ca-certificates/$f/$f.crt; #curl http://www.cacert.org/certs/root.crt > /usr/share/ca-certificates/$f/$f.crt; #curl http://www.cacert.org/certs/class3.crt >> /usr/share/ca-certificates/$f/$f.crt; echo "$f/$f.crt" >> /etc/ca-certificates.conf; update-ca-certificates; /usr/local/pf/conf/domain.conf [companyad] workgroup=DOMAIN ntlm_cache_on_connection=disabled dns_servers=192.168.1.5 ad_server=dc01.realm.com registration=0 ntlm_cache_filter=(&(samAccountName=*)(!(|(lockoutTime=>0)(userAccountControl:1.2.840.113556.1.4.803:=2)))) dns_name=realm.com sticky_dc=* ou=Company/Users/LDAP Integration ntlm_cache_batch_one_at_a_time=disabled server_name=%h ntlm_cache_batch=disabled ntlm_cache_expiry=3600 ntlmv2_only=1 status=enabled /usr/local/pf/conf/realm.conf # Copyright (C) Inverse inc. [1 DEFAULT] radius_auth_proxy_type=keyed-balance domain=companyad radius_acct_proxy_type=load-balance radius_auth= radius_auth_compute_in_pf=enabled permit_custom_attributes=disabled radius_acct= [1 NULL] radius_auth_proxy_type=keyed-balance radius_auth= permit_custom_attributes=disabled radius_auth_compute_in_pf=enabled domain=companyad radius_acct_proxy_type=load-balance radius_acct= eduroam_radius_auth_proxy_type=keyed-balance eduroam_radius_acct= eduroam_radius_auth= eduroam_radius_acct_proxy_type=load-balance eduroam_radius_auth_compute_in_pf=enabled [1 DOMAIN] portal_strip_username=enabled radius_strip_username=enabled radius_acct= radius_auth_compute_in_pf=enabled radius_auth= admin_strip_username=enabled radius_acct_proxy_type=load-balance permit_custom_attributes=disabled domain=companyad radius_auth_proxy_type=keyed-balance eap=default [1 realm.com] admin_strip_username=disabled radius_acct= permit_custom_attributes=disabled radius_acct_proxy_type=load-balance radius_auth_compute_in_pf=enabled radius_strip_username=disabled portal_strip_username=enabled radius_auth= domain=companyad radius_auth_proxy_type=keyed-balance eap=default /usr/local/pf/conf/authentication.conf [companyad_users] password=**************** write_timeout=5 description=Company AD - Users scope=sub realms=null,DOMAIN,realm.com type=AD connection_timeout=1 binddn=auth-packetfe...@realm.com read_timeout=10 cache_match=0 host=realm.com port=636 monitor=1 shuffle=0 searchattributes= email_attribute=mail encryption=ssl basedn=OU=Users,OU=Company,DC=realm,DC=com usernameattribute=sAMAccountName dynamic_routing_module=AuthModule dead_duration=60 set_access_durations_action= [companyad_users rule pf_admin] status=enabled condition0=memberOf,equals,CN=packetfence-admin,OU=3rd Party,OU=Security Groups,OU=Company,DC=realm,DC=com description=Member of packetfence-admin AD security group class=administration action0=set_access_level=ALL match=all [companyad_users rule pf_reviewer] condition0=memberOf,equals,CN=packetfence-reviewer,OU=3rd Party,OU=Security Groups,OU=Company,DC=realm,DC=com status=enabled description=Member of packetfence_reviewer AD security group action0=set_access_level=Reviewer class=administration match=all [companyad_users rule staff] match=all status=enabled action0=set_role=staff action1=set_access_duration=1M class=authentication condition0=memberOf,equals,CN=company,OU=Company,OU=Security Groups,OU=Company,DC=realm,DC=com description=Member of company AD security group [companyad_computers] write_timeout=5 basedn=OU=Computers,OU=Company,DC=realm,DC=com description=Company AD - Computers scope=sub port=636 host=realm.com type=AD realms=realm.com usernameattribute=servicePrincipalName shuffle=0 read_timeout=10 password=**************** searchattributes= monitor=0 connection_timeout=1 encryption=ssl email_attribute=mail binddn=auth-packetfe...@realm.com cache_match=0 dynamic_routing_module=AuthModule dead_duration=60 set_access_durations_action= Regards David Herselman
_______________________________________________ PacketFence-users mailing list PacketFence-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/packetfence-users