Mark Johnson
2018-Jul-20 00:35 UTC
[Samba] SSSD on CentOS 7 failing to start when connecting to 4.8.3 AD via LDAP
I've been going around in circles with this for days and I'm stuck. I'm trying to run up a new AD environment with only Samba 4.8.3 servers that we'll authenticate user server access against via SSSD/LDAP using a simple bind. All of our servers are either CentOS 6 or 7. I've created a test environment with a single Samba AD 4.8.3 server as the AD server, a Windows 7 client to run RSAT and a CentOS 6 and CentOS 7 server to test user authentication. The Samba server is up and running and I can manage the directory via RSAT. I've set up the CentOS 6 server and can successfully authenticate user logins on this via using SSSD/LDAP to the AD. However, the issue I have is with the CentOS 7 server. I've basically copied the SSSD config from the CentOS 6 server so everything is the same. However, when I start SSSD on the CentOS 7 server, it binds successfully and does an initial searchRequest which it gets a result from but after doing the subsequent searchRequests on Configuration, ForestDnsZones and DomainDnsZones I just see a RST from the server and the whole process starts over again. Over the third failure, SSSD fails to start and stops trying. Comparing packet captures on the AD server when starting SSSD on both servers, the initial ROOT search request and response are identical as is the bind request and response. However, the first wholeSubtree search request is where things start looking different. On the CentOS 6 server, it shows a filter in the request of: Filter: (&(&(cn=smtp)(ipServiceProtocol=dccp))(objectclass=ipService)) and there are 4 attributes in the request - objectClass, cn, ipServicePort, ipServiceProtocol Whereas on the CentOS 7 server, the filter looks like this: Filter: (&(objectClass=sudoRole)(|(|(|(|(|(|(|(|(|(!(sudoHost=*))(sudoHost=ALL))(sudoHostldaptest7.company.com ))(sudoHost=ldaptest7))(sudoHost=192.168.193.62))(sudoHost192.168.192.0/23))(sudoHost=fe80::5054:ff:fef2:26ed))(sudoHost=fe80::/6 with 13 attributes - objectClass, cn, and a bunch of sudo attributes. The response from the Samba server to each of these is nearly identical. Both servers then send searchRequests for Configuration, ForestDnsZones and DomainDnsZones but with the same filter differences above. This is the point of failure for the CentOS 7 server. The other server gets a successful response from the Samba server, but the CentOS 7 server just gets an ACK. When I up the debug level on SSSD on the CentOS 7 server, I see a few different errors but I'm not sure which of these show cause or effect. Examples... (Thu Jul 19 23:40:34 2018) [sssd[be[AD.COMPANY.COM]]] [common_parse_search_base] (0x0100): Search base added: [SUDO][dc=ad,dc=company,dc=com][SUBTREE][] (Thu Jul 19 23:40:34 2018) [sssd[be[AD.COMPANY.COM]]] [common_parse_search_base] (0x0100): Search base added: [AUTOFS][dc=ad,dc=company,dc=com][SUBTREE][] (Thu Jul 19 23:40:34 2018) [sssd[be[AD.COMPANY.COM]]] [dp_client_register] (0x0100): Cancel DP ID timeout [0x55941e9a6860] (Thu Jul 19 23:40:34 2018) [sssd[be[AD.COMPANY.COM]]] [dp_find_method] (0x0100): Target [subdomains] is not initialized (Thu Jul 19 23:40:34 2018) [sssd[be[AD.COMPANY.COM]]] [dp_req_reply_gen_error] (0x0080): DP Request [Subdomains #0]: Finished. Target is not supported with this configuration. (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [fo_resolve_service_send] (0x0100): Trying to resolve service 'LDAP' (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [set_server_common_status] (0x0100): Marking server '192.168.192.50' as 'resolving name' (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [set_server_common_status] (0x0100): Marking server '192.168.192.50' as 'name resolved' (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [sdap_get_server_opts_from_rootdse] (0x0100): Setting AD compatibility level to [4] (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [sdap_cli_auth_step] (0x0100): expire timeout is 900 (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [simple_bind_send] (0x0100): Executing simple bind as: sssd at ad.company.com (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [fo_set_port_status] (0x0100): Marking port 389 of server '192.168.192.50' as 'working' (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [set_server_common_status] (0x0100): Marking server '192.168.192.50' as 'working' (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [be_run_online_cb] (0x0080): Going online. Running callbacks. (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [be_ptask_enable] (0x0080): Task [SUDO Smart Refresh]: already enabled (Thu Jul 19 23:40:44 2018) [sssd[be[AD.COMPANY.COM]]] [sdap_process_result] (0x0040): ldap_result error: [Can't contact LDAP server] sssd_be: io.c:224: ber_flush2: Assertion `( (sb)->sb_opts.lbo_valid == 0x3 )' failed. (Thu Jul 19 23:40:44 2018) [sssd] [svc_child_info] (0x0040): Child [1570] terminated with signal [6] I get the feeling that the issue is around sudo somehow, but I don't believe I have sudo enabled in my sssd. Here's my sssd.conf from the CentOS 7 server: [sssd] config_file_version = 2 reconnection_retries = 3 sbus_timeout = 30 services = nss, pam domains = AD.COMPANY.COM [nss] filter_groups root,bin,daemon,sys,adm,tty,disk,lp,mem,kmem,wheel,mail,uucp,man,games,gopher,video,dip,ftp,lock,audio,nobody,users,floppy,vcsa,utmp,utempter,rpc,cdrom,tape,dialout,rpcuser,nfsnobody,sshd,cgred,screen,saslauth,apache,mailnull,smmsp,mysql filter_users root,bin,daemon,adm,lp,sync,shutdown,halt,mail,uucp,operator,games,gopher,ftp,nobody,vcsa,rpc,rpcuser,nfsnobody,sshd,saslauth,apache,mailnull,smmsp,mysql,apache reconnection_retries = 3 #entry_cache_timeout = 300 entry_cache_nowait_percentage = 75 [domain/AD.COMPANY.COM] enumerate = false cache_credentials = true id_provider = ldap #auth_provider = ldap ldap_schema = rfc2307bis ldap_user_principal = userPrincipalName ldap_user_fullname = displayName ldap_user_name = sAMAccountName ldap_user_object_class = user ldap_user_home_directory = unixHomeDirectory ldap_user_shell = loginShell ldap_group_object_class = group ldap_force_upper_case_realm = True ldap_uri = ldap://192.168.192.50 ldap_search_base = dc=ad,dc=company,dc=com ldap_id_use_start_tls = false ldap_tls_reqcert = never ldap_tls_cacert = /etc/sssd/ca.company.com.crt access_provider = ldap ldap_access_filter memberOf=cn=ServerAdmins,ou=Groups,dc=ad,dc=company,dc=com ldap_default_authtok_type = password ldap_default_bind_dn = sssd at ad.company.com ldap_default_authtok = Password1 [pam] I tried adding the sudo roles schema to active directory to see if it would resolve the sssd not starting issue, but while I was able to successfully import the schema via ldifde and create the sudoers OU in the root, but when it came to adding the sudoRole object via ADSIEdit, I got an Operation Failed error - "An invalid directory pathname was passed". So, I'm not sure if adding this will resolve the issue or not. There was no sudoers entry in nsswitch.conf so I tried specifically adding the following line to explicitly omit sss in case it has become a default setting: sudoers: files But that made no difference. I've tried all of the above twice from scratch to be sure and I got the same results both times. I can successfully query the directory via the same ldapsearch command from both CentOS servers. I don't know if I'm completely barking up the wrong tree. I'm just going around in circles now and I can't think of anything new to try. Oh, and here's my smb.conf... # Global parameters [global] bind interfaces only = Yes dns forwarder = 192.168.192.1 interfaces = lo eth0 netbios name = TUG-SAMBA realm = AD.COMPANY.COM server role = active directory domain controller workgroup = COMPANY idmap_ldb:use rfc2307 = yes dsdb:schema update allowed = yes ldap server require strong auth = no [netlogon] path = /var/lib/samba/sysvol/ad.company.com/scripts read only = No [sysvol] path = /var/lib/samba/sysvol read only = No
Rowland Penny
2018-Jul-20 07:32 UTC
[Samba] SSSD on CentOS 7 failing to start when connecting to 4.8.3 AD via LDAP
On Fri, 20 Jul 2018 10:35:59 +1000 Mark Johnson via samba <samba at lists.samba.org> wrote:> I've been going around in circles with this for days and I'm stuck. > I'm trying to run up a new AD environment with only Samba 4.8.3 > servers that we'll authenticate user server access against via > SSSD/LDAP using a simple bind. All of our servers are either CentOS > 6 or 7. >Hmm, so you are using a red-hat product (sssd) on red-hat OS against Samba and you are having problems. Can I point out that sssd has nothing to do with Samba, so you should ask either Centos or the sssd-users mailing list for help. This may not be the answer you were seeking, but you will get better help elsewhere, we are not the experts on sssd, the sssd-users mailing list is. Rowland
Rowland Penny
2018-Jul-23 07:53 UTC
[Samba] SSSD on CentOS 7 failing to start when connecting to 4.8.3 AD via LDAP
On Mon, 23 Jul 2018 09:45:09 +1000 Mark Johnson <mark.johnson.iovox at gmail.com> wrote:> Thanks Rowland, > > I realised my issue was likely to not be a Samba issue per se, > however I wasn't sure if it was related to the issue I was having > importing the active directory schema for sudo configuration and was > just taking a punt that maybe somebody else here had experienced this > and had some information that might be useful. > > My apologies for wasting your time. I'll try sssd-users. Thanks for > the push in the (hopefully) right direction. > > Mark > > On 20 July 2018 at 17:32, Rowland Penny via samba > <samba at lists.samba.org> wrote: > > > On Fri, 20 Jul 2018 10:35:59 +1000 > > Mark Johnson via samba <samba at lists.samba.org> wrote: > > > > > I've been going around in circles with this for days and I'm > > > stuck. I'm trying to run up a new AD environment with only Samba > > > 4.8.3 servers that we'll authenticate user server access against > > > via SSSD/LDAP using a simple bind. All of our servers are either > > > CentOS 6 or 7. > > > > > > > Hmm, so you are using a red-hat product (sssd) on red-hat OS against > > Samba and you are having problems. Can I point out that sssd has > > nothing to do with Samba, so you should ask either Centos or the > > sssd-users mailing list for help. > > > > This may not be the answer you were seeking, but you will get better > > help elsewhere, we are not the experts on sssd, the sssd-users > > mailing list is. > > > > Rowland > > > > -- > > To unsubscribe from this list go to the following URL and read the > > instructions: https://lists.samba.org/mailman/options/samba > >It is unlikely to be because you have the sudo schema in AD, I have it in mine without any problems. I suppose I should point out that you do not need sssd to use Sudo in AD. Rowland