When testing access as IPA user to Windows 2016 server AD DC, I found out that on Fedora 31 we seem to have some issue with both LDAP and SMB3.11 access to that AD DC. The traces show that Windows server does authenticate us but then: - for LDAP protocol sends back an error claiming we are not bound to the connection - for SMB protocol it sends back a signature that Samba considers 'bad' one.
Attached is a network trace for the following events: - kinit as AD administrator on Linux (IP address ends with .80) - do ldapsearch -Y GSS-SPNEGO -h ad1.win2016.test ... - result is successful - do smbclient -k -U Administrator@WIN2016.TEST //ad1.win2016.test/IPC\$ - result is successful - kinit as IPA admin on the same Linux machine (IP address ends with .80) - do ldapsearch -Y GSS-SPNEGO -h ad1.win2016.test ... - result is an error of binding (see below) - do smbclient -k -U admin@IPA.TEST //ad1.win2016.test/IPC\$ - result is an error of SMB2 signature (see below)
ldapsearch -Y GSS-SPNEGO -h ad1.win2016.test ...
smbclient -k -U Administrator@WIN2016.TEST //ad1.win2016.test/IPC\$
smbclient -k -U admin@IPA.TEST //ad1.win2016.test/IPC\$
Unsuccessful ldapsearch as IPA user:
# ldapsearch -Y GSS-SPNEGO -h ad1.win2016.test -b dc=win2016,dc=test cn=Administrator SASL/GSS-SPNEGO authentication started SASL username: admin@IPA.TEST SASL SSF: 256 SASL data security layer installed. # extended LDIF # # LDAPv3 # base <dc=win2016,dc=test> with scope subtree # filter: cn=Administrator # requesting: ALL # # search result search: 2 result: 1 Operations error text: 000004DC: LdapErr: DSID-0C0909AF, comment: In order to perform this opera tion a successful bind must be completed on the connection., data 0, v3839 # numResponses: 1
Unsuccessful SMB connection as IPA user:
# smbclient -k -U admin@IPA.TEST //ad1.win2016.test/IPC\$ lp_load_ex: changing to config backend registry Bad SMB2 signature for message [0000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ [0000] C0 80 22 D6 46 C9 F0 79 40 C6 E5 B8 72 1E 43 C3 ..".F..y @...r.C. session setup failed: NT_STATUS_ACCESS_DENIED [root@master ~]# smbclient -d50 -k -U admin@IPA.TEST //ad1.win2016.test/IPC\$ INFO: Current debug levels: all: 50 tdb: 50 printdrivers: 50 lanman: 50 smb: 50 rpc_parse: 50 rpc_srv: 50 rpc_cli: 50 passdb: 50 sam: 50 auth: 50 winbind: 50 vfs: 50 idmap: 50 quota: 50 acls: 50 locking: 50 msdfs: 50 dmapi: 50 registry: 50 scavenger: 50 dns: 50 ldb: 50 tevent: 50 auth_audit: 50 auth_json_audit: 50 kerberos: 50 drs_repl: 50 smb2: 50 smb2_credits: 50 dsdb_audit: 50 dsdb_json_audit: 50 dsdb_password_audit: 50 dsdb_password_json_audit: 50 dsdb_transaction_audit: 50 dsdb_transaction_json_audit: 50 dsdb_group_audit: 50 dsdb_group_json_audit: 50 lp_load_ex: refreshing parameters Initialising global parameters rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) INFO: Current debug levels: all: 50 tdb: 50 printdrivers: 50 lanman: 50 smb: 50 rpc_parse: 50 rpc_srv: 50 rpc_cli: 50 passdb: 50 sam: 50 auth: 50 winbind: 50 vfs: 50 idmap: 50 quota: 50 acls: 50 locking: 50 msdfs: 50 dmapi: 50 registry: 50 scavenger: 50 dns: 50 ldb: 50 tevent: 50 auth_audit: 50 auth_json_audit: 50 kerberos: 50 drs_repl: 50 smb2: 50 smb2_credits: 50 dsdb_audit: 50 dsdb_json_audit: 50 dsdb_password_audit: 50 dsdb_password_json_audit: 50 dsdb_transaction_audit: 50 dsdb_transaction_json_audit: 50 dsdb_group_audit: 50 dsdb_group_json_audit: 50 Processing section "[global]" doing parameter debug pid = yes doing parameter config backend = registry pm_process() returned Yes lp_load_ex: changing to config backend registry Freeing parametrics: Initialising global parameters rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) INFO: Current debug levels: all: 50 tdb: 50 printdrivers: 50 lanman: 50 smb: 50 rpc_parse: 50 rpc_srv: 50 rpc_cli: 50 passdb: 50 sam: 50 auth: 50 winbind: 50 vfs: 50 idmap: 50 quota: 50 acls: 50 locking: 50 msdfs: 50 dmapi: 50 registry: 50 scavenger: 50 dns: 50 ldb: 50 tevent: 50 auth_audit: 50 auth_json_audit: 50 kerberos: 50 drs_repl: 50 smb2: 50 smb2_credits: 50 dsdb_audit: 50 dsdb_json_audit: 50 dsdb_password_audit: 50 dsdb_password_json_audit: 50 dsdb_transaction_audit: 50 dsdb_transaction_json_audit: 50 dsdb_group_audit: 50 dsdb_group_json_audit: 50 lp_load_ex: refreshing parameters Initialising global parameters rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) INFO: Current debug levels: all: 50 tdb: 50 printdrivers: 50 lanman: 50 smb: 50 rpc_parse: 50 rpc_srv: 50 rpc_cli: 50 passdb: 50 sam: 50 auth: 50 winbind: 50 vfs: 50 idmap: 50 quota: 50 acls: 50 locking: 50 msdfs: 50 dmapi: 50 registry: 50 scavenger: 50 dns: 50 ldb: 50 tevent: 50 auth_audit: 50 auth_json_audit: 50 kerberos: 50 drs_repl: 50 smb2: 50 smb2_credits: 50 dsdb_audit: 50 dsdb_json_audit: 50 dsdb_password_audit: 50 dsdb_password_json_audit: 50 dsdb_transaction_audit: 50 dsdb_transaction_json_audit: 50 dsdb_group_audit: 50 dsdb_group_json_audit: 50 doing parameter registry shares = yes registry_init_smbconf called regdb_init: registry db openend. refcount reset (1) reghook_cache_init: new tree with default ops 0x7f77270a9100 for key [] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 41) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 11) -> 4 tdb_unpack(d, 8) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 13) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 regdb_fetch_values: Looking for values of key [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 33) -> 4 tdb_unpack(fdB, 29) -> 29 regdb_unpack_values: value[0]: name[Samba Printer Port] len[2] regdb_fetch_values: Looking for values of key [HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 104) -> 4 tdb_unpack(fdB, 100) -> 100 regdb_unpack_values: value[0]: name[DefaultSpoolDirectory] len[70] regdb_fetch_values: Looking for values of key [HKLM\SYSTEM\CurrentControlSet\Services\Eventlog] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 69) -> 4 tdb_unpack(fdB, 65) -> 40 regdb_unpack_values: value[0]: name[DisplayName] len[20] tdb_unpack(fdB, 25) -> 25 regdb_unpack_values: value[1]: name[ErrorControl] len[4] regdb_fetch_values: Looking for values of key [HKLM\SYSTEM\CurrentControlSet\Services\Eventlog] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 69) -> 4 tdb_unpack(fdB, 65) -> 40 regdb_unpack_values: value[0]: name[DisplayName] len[20] tdb_unpack(fdB, 25) -> 25 regdb_unpack_values: value[1]: name[ErrorControl] len[4] tdb_unpack(d, 11) -> 4 reghook_cache_add: Adding ops 0x7f77270a9020 for key [\HKLM\SOFTWARE\Samba\smbconf] pathtree_add: Enter pathtree_find_child: Did not find [HKLM] pathtree_birth_child: First child of node [NULL]! [HKLM] pathtree_find_child: Did not find [SOFTWARE] pathtree_birth_child: First child of node [HKLM]! [SOFTWARE] pathtree_find_child: Did not find [Samba] pathtree_birth_child: First child of node [SOFTWARE]! [Samba] pathtree_find_child: Did not find [smbconf] pathtree_birth_child: First child of node [Samba]! [smbconf] pathtree_add: Successfully added node [HKLM\SOFTWARE\Samba\smbconf] to tree pathtree_add: Exit regdb_close: decrementing refcount (1->0) regdb_open: registry db opened. refcount reset (1) regkey_open_onelevel: name = [HKLM] regdb_open: incrementing refcount (1->2) reghook_cache_find: Searching for keyname [\HKLM] pathtree_find: Enter [\HKLM] pathtree_find: [loop] base => [HKLM], new_path => [] pathtree_find_child: child key => [HKLM] pathtree_find_child: Found [HKLM] pathtree_find: Found data_p! pathtree_find: Exit reghook_cache_find: found ops 0x7f77270a9100 for key [\HKLM] regdb_fetch_keys: Enter key => [HKLM] tdb_unpack(d, 20) -> 4 tdb_unpack(d, 20) -> 4 tdb_unpack(f, 16) -> 9 tdb_unpack(f, 7) -> 7 regdb_fetch_keys: Exit [2] items regkey_open_onelevel: name = [SOFTWARE] regdb_open: incrementing refcount (2->3) reghook_cache_find: Searching for keyname [\HKLM\SOFTWARE] pathtree_find: Enter [\HKLM\SOFTWARE] pathtree_find: [loop] base => [HKLM], new_path => [SOFTWARE] pathtree_find_child: child key => [HKLM] pathtree_find_child: Found [HKLM] pathtree_find: [loop] base => [SOFTWARE], new_path => [] pathtree_find_child: child key => [SOFTWARE] pathtree_find_child: Found [SOFTWARE] pathtree_find: Found data_p! pathtree_find: Exit reghook_cache_find: found ops 0x7f77270a9100 for key [\HKLM\SOFTWARE] regdb_fetch_keys: Enter key => [HKLM\SOFTWARE] tdb_unpack(d, 29) -> 4 tdb_unpack(d, 29) -> 4 tdb_unpack(f, 25) -> 10 tdb_unpack(f, 15) -> 6 tdb_unpack(f, 9) -> 9 regdb_fetch_keys: Exit [3] items regkey_open_onelevel: name = [Samba] regdb_open: incrementing refcount (3->4) reghook_cache_find: Searching for keyname [\HKLM\SOFTWARE\Samba] pathtree_find: Enter [\HKLM\SOFTWARE\Samba] pathtree_find: [loop] base => [HKLM], new_path => [SOFTWARE\Samba] pathtree_find_child: child key => [HKLM] pathtree_find_child: Found [HKLM] pathtree_find: [loop] base => [SOFTWARE], new_path => [Samba] pathtree_find_child: child key => [SOFTWARE] pathtree_find_child: Found [SOFTWARE] pathtree_find: [loop] base => [Samba], new_path => [] pathtree_find_child: child key => [Samba] pathtree_find_child: Found [Samba] pathtree_find: Found data_p! pathtree_find: Exit reghook_cache_find: found ops 0x7f77270a9100 for key [\HKLM\SOFTWARE\Samba] regdb_fetch_keys: Enter key => [HKLM\SOFTWARE\Samba] tdb_unpack(d, 25) -> 4 tdb_unpack(d, 25) -> 4 tdb_unpack(f, 21) -> 8 tdb_unpack(f, 13) -> 13 regdb_fetch_keys: Exit [2] items regkey_open_onelevel: name = [smbconf] regdb_open: incrementing refcount (4->5) reghook_cache_find: Searching for keyname [\HKLM\SOFTWARE\Samba\smbconf] pathtree_find: Enter [\HKLM\SOFTWARE\Samba\smbconf] pathtree_find: [loop] base => [HKLM], new_path => [SOFTWARE\Samba\smbconf] pathtree_find_child: child key => [HKLM] pathtree_find_child: Found [HKLM] pathtree_find: [loop] base => [SOFTWARE], new_path => [Samba\smbconf] pathtree_find_child: child key => [SOFTWARE] pathtree_find_child: Found [SOFTWARE] pathtree_find: [loop] base => [Samba], new_path => [smbconf] pathtree_find_child: child key => [Samba] pathtree_find_child: Found [Samba] pathtree_find: [loop] base => [smbconf], new_path => [] pathtree_find_child: child key => [smbconf] pathtree_find_child: Found [smbconf] pathtree_find: Found data_p! pathtree_find: Exit reghook_cache_find: found ops 0x7f77270a9020 for key [\HKLM\SOFTWARE\Samba\smbconf] regdb_fetch_keys: Enter key => [HKLM\SOFTWARE\Samba\smbconf] tdb_unpack(d, 11) -> 4 tdb_unpack(d, 11) -> 4 tdb_unpack(f, 7) -> 7 regdb_fetch_keys: Exit [1] items regdb_close: decrementing refcount (5->4) regdb_close: decrementing refcount (4->3) regdb_close: decrementing refcount (3->2) process_registry_service: service name global regkey_open_onelevel: name = [global] regdb_open: incrementing refcount (2->3) reghook_cache_find: Searching for keyname [\HKLM\SOFTWARE\Samba\smbconf\global] pathtree_find: Enter [\HKLM\SOFTWARE\Samba\smbconf\global] pathtree_find: [loop] base => [HKLM], new_path => [SOFTWARE\Samba\smbconf\global] pathtree_find_child: child key => [HKLM] pathtree_find_child: Found [HKLM] pathtree_find: [loop] base => [SOFTWARE], new_path => [Samba\smbconf\global] pathtree_find_child: child key => [SOFTWARE] pathtree_find_child: Found [SOFTWARE] pathtree_find: [loop] base => [Samba], new_path => [smbconf\global] pathtree_find_child: child key => [Samba] pathtree_find_child: Found [Samba] pathtree_find: [loop] base => [smbconf], new_path => [global] pathtree_find_child: child key => [smbconf] pathtree_find_child: Found [smbconf] pathtree_find: [loop] base => [global], new_path => [] pathtree_find_child: Did not find [global] pathtree_find: Found data_p! pathtree_find: Exit reghook_cache_find: found ops 0x7f77270a9020 for key [\HKLM\SOFTWARE\Samba\smbconf\global] regdb_fetch_keys: Enter key => [HKLM\SOFTWARE\Samba\smbconf\global] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 regdb_fetch_keys: Exit [0] items regdb_close: decrementing refcount (3->2) regkey_open_onelevel: name = [global] regdb_open: incrementing refcount (2->3) reghook_cache_find: Searching for keyname [\HKLM\SOFTWARE\Samba\smbconf\global] pathtree_find: Enter [\HKLM\SOFTWARE\Samba\smbconf\global] pathtree_find: [loop] base => [HKLM], new_path => [SOFTWARE\Samba\smbconf\global] pathtree_find_child: child key => [HKLM] pathtree_find_child: Found [HKLM] pathtree_find: [loop] base => [SOFTWARE], new_path => [Samba\smbconf\global] pathtree_find_child: child key => [SOFTWARE] pathtree_find_child: Found [SOFTWARE] pathtree_find: [loop] base => [Samba], new_path => [smbconf\global] pathtree_find_child: child key => [Samba] pathtree_find_child: Found [Samba] pathtree_find: [loop] base => [smbconf], new_path => [global] pathtree_find_child: child key => [smbconf] pathtree_find_child: Found [smbconf] pathtree_find: [loop] base => [global], new_path => [] pathtree_find_child: Did not find [global] pathtree_find: Found data_p! pathtree_find: Exit reghook_cache_find: found ops 0x7f77270a9020 for key [\HKLM\SOFTWARE\Samba\smbconf\global] regdb_fetch_keys: Enter key => [HKLM\SOFTWARE\Samba\smbconf\global] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 4) -> 4 regdb_fetch_keys: Exit [0] items fetch_reg_values called for key 'HKLM\SOFTWARE\Samba\smbconf\global' (ops 0x7f77270a9020) regdb_fetch_values: Looking for values of key [HKLM\SOFTWARE\Samba\smbconf\global] tdb_unpack(d, 4) -> 4 tdb_unpack(d, 1561) -> 4 tdb_unpack(fdB, 1557) -> 26 regdb_unpack_values: value[0]: name[workgroup] len[8] tdb_unpack(fdB, 1531) -> 35 regdb_unpack_values: value[1]: name[netbios name] len[14] tdb_unpack(fdB, 1496) -> 32 regdb_unpack_values: value[2]: name[realm] len[18] tdb_unpack(fdB, 1464) -> 58 regdb_unpack_values: value[3]: name[kerberos method] len[34] tdb_unpack(fdB, 1406) -> 78 regdb_unpack_values: value[4]: name[dedicated keytab file] len[48] tdb_unpack(fdB, 1328) -> 31 regdb_unpack_values: value[5]: name[create krb5 conf] len[6] tdb_unpack(fdB, 1297) -> 27 regdb_unpack_values: value[6]: name[security] len[10] tdb_unpack(fdB, 1270) -> 30 regdb_unpack_values: value[7]: name[domain master] len[8] tdb_unpack(fdB, 1240) -> 30 regdb_unpack_values: value[8]: name[domain logons] len[8] tdb_unpack(fdB, 1210) -> 22 regdb_unpack_values: value[9]: name[log level] len[4] tdb_unpack(fdB, 1188) -> 35 regdb_unpack_values: value[10]: name[max log size] len[14] tdb_unpack(fdB, 1153) -> 61 regdb_unpack_values: value[11]: name[log file] len[44] tdb_unpack(fdB, 1092) -> 127 regdb_unpack_values: value[12]: name[passdb backend] len[104] tdb_unpack(fdB, 965) -> 32 regdb_unpack_values: value[13]: name[disable spoolss] len[8] tdb_unpack(fdB, 933) -> 32 regdb_unpack_values: value[14]: name[ldapsam:trusted] len[8] tdb_unpack(fdB, 901) -> 25 regdb_unpack_values: value[15]: name[ldap ssl] len[8] tdb_unpack(fdB, 876) -> 50 regdb_unpack_values: value[16]: name[ldap suffix] len[30] tdb_unpack(fdB, 826) -> 67 regdb_unpack_values: value[17]: name[ldap user suffix] len[42] tdb_unpack(fdB, 759) -> 70 regdb_unpack_values: value[18]: name[ldap group suffix] len[44] tdb_unpack(fdB, 689) -> 78 regdb_unpack_values: value[19]: name[ldap machine suffix] len[50] tdb_unpack(fdB, 611) -> 46 regdb_unpack_values: value[20]: name[rpc_server:epmapper] len[18] tdb_unpack(fdB, 565) -> 44 regdb_unpack_values: value[21]: name[rpc_server:lsarpc] len[18] tdb_unpack(fdB, 521) -> 43 regdb_unpack_values: value[22]: name[rpc_server:lsass] len[18] tdb_unpack(fdB, 478) -> 43 regdb_unpack_values: value[23]: name[rpc_server:lsasd] len[18] tdb_unpack(fdB, 435) -> 42 regdb_unpack_values: value[24]: name[rpc_server:samr] len[18] tdb_unpack(fdB, 393) -> 46 regdb_unpack_values: value[25]: name[rpc_server:netlogon] len[18] tdb_unpack(fdB, 347) -> 33 regdb_unpack_values: value[26]: name[rpc_server:tcpip] len[8] tdb_unpack(fdB, 314) -> 34 regdb_unpack_values: value[27]: name[rpc_daemon:epmd] len[10] tdb_unpack(fdB, 280) -> 35 regdb_unpack_values: value[28]: name[rpc_daemon:lsasd] len[10] tdb_unpack(fdB, 245) -> 41 regdb_unpack_values: value[29]: name[idmap config * : backend] len[8] tdb_unpack(fdB, 204) -> 43 regdb_unpack_values: value[30]: name[idmap config * : range] len[12] tdb_unpack(fdB, 161) -> 43 regdb_unpack_values: value[31]: name[idmap config IPA : backend] len[8] tdb_unpack(fdB, 118) -> 81 regdb_unpack_values: value[32]: name[idmap config IPA : range] len[48] tdb_unpack(fdB, 37) -> 37 regdb_unpack_values: value[33]: name[max smbd processes] len[10] regdb_close: decrementing refcount (3->2) Processing section "[global]" doing parameter workgroup = IPA doing parameter netbios name = MASTER doing parameter realm = IPA.TEST doing parameter kerberos method = dedicated keytab doing parameter dedicated keytab file = /etc/samba/samba.keytab doing parameter create krb5 conf = no doing parameter security = user doing parameter domain master = yes doing parameter domain logons = yes doing parameter log level = 1 doing parameter max log size = 100000 doing parameter log file = /var/log/samba/log.%m doing parameter passdb backend = ipasam:ldapi://%2fvar%2frun%2fslapd-IPA-TEST.socket doing parameter disable spoolss = yes doing parameter ldapsam:trusted = yes doing parameter ldap ssl = off doing parameter ldap suffix = dc=ipa,dc=test doing parameter ldap user suffix = cn=users,cn=accounts doing parameter ldap group suffix = cn=groups,cn=accounts doing parameter ldap machine suffix = cn=computers,cn=accounts doing parameter rpc_server:epmapper = external doing parameter rpc_server:lsarpc = external doing parameter rpc_server:lsass = external doing parameter rpc_server:lsasd = external doing parameter rpc_server:samr = external doing parameter rpc_server:netlogon = external doing parameter rpc_server:tcpip = yes doing parameter rpc_daemon:epmd = fork doing parameter rpc_daemon:lsasd = fork doing parameter idmap config * : backend = tdb doing parameter idmap config * : range = 0 - 0 doing parameter idmap config IPA : backend = sss doing parameter idmap config IPA : range = 1822600000 - 1822800000 doing parameter max smbd processes = 1000 lp_servicenumber: couldn't find homes added interface eth0 ip=10.0.153.80 bcast=10.0.155.255 netmask=255.255.252.0 Netbios name list:- my_netbios_names[0]="MASTER" Client started (version 4.11.5). Opening cache file at /var/lib/samba/lock/gencache.tdb sitename_fetch: No stored sitename for realm 'IPA.TEST' internal_resolve_name: looking up ad1.win2016.test#20 (sitename (null)) name ad1.win2016.test#20 found. remove_duplicate_addrs2: looking for duplicate address/port pairs samba_tevent: Added timed event "tevent_req_timedout": 0x564db8d0b2a0 Connecting to 10.0.153.139 at port 445 samba_tevent: Added timed event "tevent_req_timedout": 0x564db8d113d0 samba_tevent: Added timed event "tevent_req_timedout": 0x564db8d242c0 samba_tevent: Added timed event "tevent_req_timedout": 0x564db8d09670 samba_tevent: Destroying timer event 0x564db8d113d0 "tevent_req_timedout" samba_tevent: Destroying timer event 0x564db8d0b2a0 "tevent_req_timedout" samba_tevent: Destroying timer event 0x564db8d242c0 "tevent_req_timedout" Socket options: SO_KEEPALIVE = 0 SO_REUSEADDR = 0 SO_BROADCAST = 0 TCP_NODELAY = 1 TCP_KEEPCNT = 9 TCP_KEEPIDLE = 300 TCP_KEEPINTVL = 75 IPTOS_LOWDELAY = 0 IPTOS_THROUGHPUT = 0 SO_REUSEPORT = 0 SO_SNDBUF = 87040 SO_RCVBUF = 131072 SO_SNDLOWAT = 1 SO_RCVLOWAT = 1 SO_SNDTIMEO = 0 SO_RCVTIMEO = 0 TCP_QUICKACK = 1 TCP_DEFER_ACCEPT = 0 samba_tevent: Destroying timer event 0x564db8d09670 "tevent_req_timedout" session request ok samba_tevent: Added timed event "tevent_req_timedout": 0x564db8d1d710 samba_tevent: Schedule immediate event "tevent_queue_immediate_trigger": 0x564db8d113d0 samba_tevent: Run immediate event "tevent_queue_immediate_trigger": 0x564db8d113d0 samba_tevent: Destroying timer event 0x564db8d1d710 "tevent_req_timedout" samba_tevent: Schedule immediate event "tevent_req_trigger": 0x564db8d22230 samba_tevent: Run immediate event "tevent_req_trigger": 0x564db8d22230 negotiated dialect[SMB3_11] against server[ad1.win2016.test] cli_session_setup_spnego_send: Connect to ad1.win2016.test as admin@IPA.TEST using SPNEGO GENSEC backend 'gssapi_spnego' registered GENSEC backend 'gssapi_krb5' registered GENSEC backend 'gssapi_krb5_sasl' registered GENSEC backend 'spnego' registered GENSEC backend 'schannel' registered GENSEC backend 'naclrpc_as_system' registered GENSEC backend 'sasl-EXTERNAL' registered GENSEC backend 'ntlmssp' registered GENSEC backend 'ntlmssp_resume_ccache' registered GENSEC backend 'http_basic' registered GENSEC backend 'http_ntlm' registered GENSEC backend 'http_negotiate' registered Starting GENSEC mechanism spnego Starting GENSEC submechanism gse_krb5 samba_tevent: Schedule immediate event "tevent_req_trigger": 0x564db8d09530 gensec_update_send: gse_krb5[0x564db8d2a5f0]: subreq: 0x564db8d09440 gensec_update_send: spnego[0x564db8d20090]: subreq: 0x564db8d24590 samba_tevent: Run immediate event "tevent_req_trigger": 0x564db8d09530 gensec_update_done: gse_krb5[0x564db8d2a5f0]: NT_STATUS_MORE_PROCESSING_REQUIRED tevent_req[0x564db8d09440/../../source3/librpc/crypto/gse.c:842]: state[2] error[0 (0x0)] state[struct gensec_gse_update_state (0x564db8d095f0)] timer[(nil)] finish[../../source3/librpc/crypto/gse.c:853] gensec_update_done: spnego[0x564db8d20090]: NT_STATUS_MORE_PROCESSING_REQUIRED tevent_req[0x564db8d24590/../../auth/gensec/spnego.c:1630]: state[2] error[0 (0x0)] state[struct gensec_spnego_update_state (0x564db8d24740)] timer[(nil)] finish[../../auth/gensec/spnego.c:2115] samba_tevent: Added timed event "tevent_req_timedout": 0x564db8d281a0 samba_tevent: Schedule immediate event "tevent_queue_immediate_trigger": 0x564db8d113d0 samba_tevent: Run immediate event "tevent_queue_immediate_trigger": 0x564db8d113d0 samba_tevent: Destroying timer event 0x564db8d281a0 "tevent_req_timedout" samba_tevent: Schedule immediate event "tevent_req_trigger": 0x564db8d3ebd0 samba_tevent: Run immediate event "tevent_req_trigger": 0x564db8d3ebd0 samba_tevent: Schedule immediate event "tevent_req_trigger": 0x564db8d25130 gensec_update_send: gse_krb5[0x564db8d2a5f0]: subreq: 0x564db8d25040 gensec_update_send: spnego[0x564db8d20090]: subreq: 0x564db8d37400 samba_tevent: Run immediate event "tevent_req_trigger": 0x564db8d25130 gensec_update_done: gse_krb5[0x564db8d2a5f0]: NT_STATUS_OK tevent_req[0x564db8d25040/../../source3/librpc/crypto/gse.c:842]: state[2] error[0 (0x0)] state[struct gensec_gse_update_state (0x564db8d251f0)] timer[(nil)] finish[../../source3/librpc/crypto/gse.c:860] gensec_update_done: spnego[0x564db8d20090]: NT_STATUS_OK tevent_req[0x564db8d37400/../../auth/gensec/spnego.c:1630]: state[2] error[0 (0x0)] state[struct gensec_spnego_update_state (0x564db8d375b0)] timer[(nil)] finish[../../auth/gensec/spnego.c:2115] Bad SMB2 signature for message [0000] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........ [0000] 26 58 19 33 18 2D 0E 49 49 50 97 6D AF F6 1B AA &X.3.-.I IP.m.... SPNEGO login failed: {Access Denied} A process has requested access to an object but has not been granted those access rights. session setup failed: NT_STATUS_ACCESS_DENIED
I'm attaching the network trace and a keytab that contains all principals from AD DC side, including a trusted domain object for IPA-AD two-way trust.
Corresponding successful actions for AD user:
[root@master ~]# kinit Adminstrator@WIN2016.TEST kinit: Client 'Adminstrator@WIN2016.TEST' not found in Kerberos database while getting initial credentials [root@master ~]# kinit Administrator@WIN2016.TEST Password for Administrator@WIN2016.TEST: [root@master ~]# ldapsearch -Y GSS-SPNEGO -h ad1.win2016.test -b dc=win2016,dc=test cn=Administrator SASL/GSS-SPNEGO authentication started SASL username: Administrator@WIN2016.TEST SASL SSF: 256 SASL data security layer installed. # extended LDIF # # LDAPv3 # base <dc=win2016,dc=test> with scope subtree # filter: cn=Administrator # requesting: ALL # # Administrator, Users, win2016.test dn: CN=Administrator,CN=Users,DC=win2016,DC=test objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: Administrator description: Built-in account for administering the computer/domain distinguishedName: CN=Administrator,CN=Users,DC=win2016,DC=test instanceType: 4 whenCreated: 20200131082851.0Z whenChanged: 20200131084425.0Z uSNCreated: 8196 memberOf: CN=Group Policy Creator Owners,CN=Users,DC=win2016,DC=test memberOf: CN=Domain Admins,CN=Users,DC=win2016,DC=test memberOf: CN=Enterprise Admins,CN=Users,DC=win2016,DC=test memberOf: CN=Schema Admins,CN=Users,DC=win2016,DC=test memberOf: CN=Administrators,CN=Builtin,DC=win2016,DC=test uSNChanged: 13279 name: Administrator objectGUID:: xjBYOMFcYkCIKc2tJeBClA== userAccountControl: 512 badPwdCount: 0 codePage: 0 countryCode: 0 badPasswordTime: 0 lastLogoff: 0 lastLogon: 132249370018807138 logonHours:: //////////////////////////// pwdLastSet: 132249322773365571 primaryGroupID: 513 objectSid:: AQUAAAAAAAUVAAAAhvfyc7GAyaRfvmbT9AEAAA== adminCount: 1 accountExpires: 0 logonCount: 205 sAMAccountName: Administrator sAMAccountType: 805306368 objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=win2016,DC=test isCriticalSystemObject: TRUE dSCorePropagationData: 20200131084425.0Z dSCorePropagationData: 20200131084425.0Z dSCorePropagationData: 20200131082915.0Z dSCorePropagationData: 16010101181216.0Z lastLogonTimestamp: 132249329964431855 # search reference ref: ldap://ForestDnsZones.win2016.test/DC=ForestDnsZones,DC=win2016,DC=test # search reference ref: ldap://sub1.win2016.test/DC=sub1,DC=win2016,DC=test # search reference ref: ldap://DomainDnsZones.win2016.test/DC=DomainDnsZones,DC=win2016,DC=test # search reference ref: ldap://win2016.test/CN=Configuration,DC=win2016,DC=test # search result search: 2 result: 0 Success # numResponses: 6 # numEntries: 1 # numReferences: 4 [root@master ~]# smbclient -k -U Administrator@WIN2016.TEST //ad1.win2016.test/IPC\$ lp_load_ex: changing to config backend registry Try "help" to get a list of possible commands. smb: \> ls NT_STATUS_INVALID_INFO_CLASS listing \* smb: \> [root@master ~]# [root@master ~]# kdestroy -A
Software versions:
rpm -q krb5-libs samba-client openldap-clients cyrus-sasl-gssapi krb5-libs-1.17-45.fc31.x86_64 samba-client-4.11.5-20.test.fc31.x86_64 openldap-clients-2.4.47-3.fc31.x86_64 cyrus-sasl-gssapi-2.1.27-2.fc31.x86_64
BTW, the difference between IPA and AD user is that IPA user has no RC4-HMAC encryption keys but AD user has only RC4-HMAC key. The cross-realm tgt has both AES and RC4-HMAC encryption types:
$ klist -k -t -e win2016.keytab Keytab name: FILE:win2016.keytab KVNO Timestamp Principal ---- ------------------- ------------------------------------------------------ 3 31.01.2020 10.50.59 IPA$@WIN2016.TEST (aes256-cts-hmac-sha1-96) 3 31.01.2020 10.50.59 IPA$@WIN2016.TEST (aes128-cts-hmac-sha1-96) 3 31.01.2020 10.50.59 IPA$@WIN2016.TEST (DEPRECATED:arcfour-hmac) 2 31.01.2020 10.50.59 krbtgt@WIN2016.TEST (aes256-cts-hmac-sha1-96) 2 31.01.2020 10.50.59 krbtgt@WIN2016.TEST (aes128-cts-hmac-sha1-96) 2 31.01.2020 10.50.59 krbtgt@WIN2016.TEST (DEPRECATED:arcfour-hmac) 1 31.01.2020 10.50.59 cloudbase-init@WIN2016.TEST (DEPRECATED:arcfour-hmac) 2 31.01.2020 10.50.59 SUB1$@WIN2016.TEST (aes256-cts-hmac-sha1-96) 2 31.01.2020 10.50.59 SUB1$@WIN2016.TEST (aes128-cts-hmac-sha1-96) 2 31.01.2020 10.50.59 SUB1$@WIN2016.TEST (DEPRECATED:arcfour-hmac) 1 31.01.2020 10.50.59 cyg_server@WIN2016.TEST (DEPRECATED:arcfour-hmac) 3 31.01.2020 10.50.59 AD1$@WIN2016.TEST (aes256-cts-hmac-sha1-96) 3 31.01.2020 10.50.59 AD1$@WIN2016.TEST (aes128-cts-hmac-sha1-96) 3 31.01.2020 10.50.59 AD1$@WIN2016.TEST (DEPRECATED:arcfour-hmac) 1 31.01.2020 10.50.59 Administrator@WIN2016.TEST (DEPRECATED:arcfour-hmac)
Discussing it with Isaac, we found that in krb5 1.17 or below authentication indicators are added in CAMMAC entry as a separate ad-if-relevant element before the PAC record. This, it seems, confuses Windows server implementation.
In krb5 1.18 (current git master) the code around sign_authdata() callback was changed to first retrieve existing PAC and then authentication indicators, to allow them to be passed to sign_authdata() callback for possible change of PAC or auth indicators. It means in 1.18 the behavior would be different -- PAC record would appear a first ad-if-relevant element, CAMMAC would be added to it.
sign_authdata()
Isaac is currently testing this idea.
@rharwood -- as we confirmed the issue is actually a CAMMAC data added before the PAC record, we might need to have a backport/fixes in 1.17 and earlier to make it possible to have tickets with authentication indicators working against Windows systems.
Thanks for the heads up. Will pay attention to the discussion.
@rharwood so we need to think about a solution for FreeIPA 4.8 for krb5 < 1.18. This affects Fedora 30-31 and RHEL 8.2 beta right now because we are now adding authentication indicators for SPAKE and FAST-wrapped OTP pre-authentication.
I think I'm missing something. Why is this more complicated than just backporting the upstream change in krb5?
Because krb5 change is an ABI and API change in DAL. You are not really wanting to make that breaking older releases, right?
The problem was mitigated in MIT krb5 git master when sign_authdata callback was changed to allow KDB modules to modify a list of authentication indicators with https://github.com/krb5/krb5/commit/7196c03f18f14695abeb5ae4923004469b172f0f#diff-857aff07799d2dce245f10c186400e23. There was no release with this API change and the signed_authdata callback was further modified to handle RBCD. So the final update on the API is bigger than needed for a backport.
sign_authdata
signed_authdata
I suspect we need to extract a part of the original commit that moves PAC generation fragment from https://github.com/krb5/krb5/commit/7196c03f18f14695abeb5ae4923004469b172f0f#diff-857aff07799d2dce245f10c186400e23 before CAMMAC generation (e.g. fetch_kdb_authdata call). That would be a small backport.
fetch_kdb_authdata
I also suspect we would need a part of https://github.com/krb5/krb5/commit/94f7c9705879500b1dc8dda8592490efce05688f which will allow both CAMMAC and PAC to exist. Since we now add CAMMAC to any IPA user authenticated with SPAKE, and PAC to any IPA user that has ipaNTSecurityIdentifier attribute (all users after ipa-adtrust-install --add-sids was done), we need the fix independently of RBCD work.
ipaNTSecurityIdentifier
ipa-adtrust-install --add-sids
Following patch fixes the issue for me:
[root@master ~]# kdestroy -A [root@master ~]# kinit admin Password for admin@IPA.TEST: [root@master ~]# klist -A Ticket cache: KCM:0 Default principal: admin@IPA.TEST Valid starting Expires Service principal 02/05/20 09:32:54 02/06/20 09:32:51 krbtgt/IPA.TEST@IPA.TEST [root@master ~]# smbclient -d5 -k -U admin@IPA.TEST //ad1.win2016.test/IPC\$ INFO: Current debug levels: all: 5 tdb: 5 printdrivers: 5 lanman: 5 smb: 5 rpc_parse: 5 rpc_srv: 5 rpc_cli: 5 passdb: 5 sam: 5 auth: 5 winbind: 5 vfs: 5 idmap: 5 quota: 5 acls: 5 locking: 5 msdfs: 5 dmapi: 5 registry: 5 scavenger: 5 dns: 5 ldb: 5 tevent: 5 auth_audit: 5 auth_json_audit: 5 kerberos: 5 drs_repl: 5 smb2: 5 smb2_credits: 5 dsdb_audit: 5 dsdb_json_audit: 5 dsdb_password_audit: 5 dsdb_password_json_audit: 5 dsdb_transaction_audit: 5 dsdb_transaction_json_audit: 5 dsdb_group_audit: 5 dsdb_group_json_audit: 5 lp_load_ex: refreshing parameters Initialising global parameters rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) INFO: Current debug levels: all: 5 tdb: 5 printdrivers: 5 lanman: 5 smb: 5 rpc_parse: 5 rpc_srv: 5 rpc_cli: 5 passdb: 5 sam: 5 auth: 5 winbind: 5 vfs: 5 idmap: 5 quota: 5 acls: 5 locking: 5 msdfs: 5 dmapi: 5 registry: 5 scavenger: 5 dns: 5 ldb: 5 tevent: 5 auth_audit: 5 auth_json_audit: 5 kerberos: 5 drs_repl: 5 smb2: 5 smb2_credits: 5 dsdb_audit: 5 dsdb_json_audit: 5 dsdb_password_audit: 5 dsdb_password_json_audit: 5 dsdb_transaction_audit: 5 dsdb_transaction_json_audit: 5 dsdb_group_audit: 5 dsdb_group_json_audit: 5 Processing section "[global]" doing parameter debug pid = yes doing parameter config backend = registry pm_process() returned Yes lp_load_ex: changing to config backend registry Freeing parametrics: Initialising global parameters rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) INFO: Current debug levels: all: 5 tdb: 5 printdrivers: 5 lanman: 5 smb: 5 rpc_parse: 5 rpc_srv: 5 rpc_cli: 5 passdb: 5 sam: 5 auth: 5 winbind: 5 vfs: 5 idmap: 5 quota: 5 acls: 5 locking: 5 msdfs: 5 dmapi: 5 registry: 5 scavenger: 5 dns: 5 ldb: 5 tevent: 5 auth_audit: 5 auth_json_audit: 5 kerberos: 5 drs_repl: 5 smb2: 5 smb2_credits: 5 dsdb_audit: 5 dsdb_json_audit: 5 dsdb_password_audit: 5 dsdb_password_json_audit: 5 dsdb_transaction_audit: 5 dsdb_transaction_json_audit: 5 dsdb_group_audit: 5 dsdb_group_json_audit: 5 lp_load_ex: refreshing parameters Initialising global parameters rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) INFO: Current debug levels: all: 5 tdb: 5 printdrivers: 5 lanman: 5 smb: 5 rpc_parse: 5 rpc_srv: 5 rpc_cli: 5 passdb: 5 sam: 5 auth: 5 winbind: 5 vfs: 5 idmap: 5 quota: 5 acls: 5 locking: 5 msdfs: 5 dmapi: 5 registry: 5 scavenger: 5 dns: 5 ldb: 5 tevent: 5 auth_audit: 5 auth_json_audit: 5 kerberos: 5 drs_repl: 5 smb2: 5 smb2_credits: 5 dsdb_audit: 5 dsdb_json_audit: 5 dsdb_password_audit: 5 dsdb_password_json_audit: 5 dsdb_transaction_audit: 5 dsdb_transaction_json_audit: 5 dsdb_group_audit: 5 dsdb_group_json_audit: 5 doing parameter registry shares = yes process_registry_service: service name global Processing section "[global]" doing parameter workgroup = IPA doing parameter netbios name = MASTER doing parameter realm = IPA.TEST doing parameter kerberos method = dedicated keytab doing parameter dedicated keytab file = /etc/samba/samba.keytab doing parameter create krb5 conf = no doing parameter security = user doing parameter domain master = yes doing parameter domain logons = yes doing parameter log level = 1 doing parameter max log size = 100000 doing parameter log file = /var/log/samba/log.%m doing parameter passdb backend = ipasam:ldapi://%2fvar%2frun%2fslapd-IPA-TEST.socket doing parameter disable spoolss = yes doing parameter ldapsam:trusted = yes doing parameter ldap ssl = off doing parameter ldap suffix = dc=ipa,dc=test doing parameter ldap user suffix = cn=users,cn=accounts doing parameter ldap group suffix = cn=groups,cn=accounts doing parameter ldap machine suffix = cn=computers,cn=accounts doing parameter rpc_server:epmapper = external doing parameter rpc_server:lsarpc = external doing parameter rpc_server:lsass = external doing parameter rpc_server:lsasd = external doing parameter rpc_server:samr = external doing parameter rpc_server:netlogon = external doing parameter rpc_server:tcpip = yes doing parameter rpc_daemon:epmd = fork doing parameter rpc_daemon:lsasd = fork doing parameter idmap config * : backend = tdb doing parameter idmap config * : range = 0 - 0 doing parameter idmap config IPA : backend = sss doing parameter idmap config IPA : range = 959400000 - 959600000 doing parameter max smbd processes = 1000 added interface eth0 ip=10.0.152.167 bcast=10.0.155.255 netmask=255.255.252.0 Netbios name list:- my_netbios_names[0]="MASTER" Client started (version 4.11.6). Opening cache file at /var/lib/samba/lock/gencache.tdb sitename_fetch: No stored sitename for realm 'IPA.TEST' no entry for ad1.win2016.test#20 found. resolve_hosts: Attempting host lookup for name ad1.win2016.test<0x20> namecache_store: storing 1 address for ad1.win2016.test#20: 10.0.152.241 Connecting to 10.0.152.241 at port 445 Socket options: SO_KEEPALIVE = 0 SO_REUSEADDR = 0 SO_BROADCAST = 0 TCP_NODELAY = 1 TCP_KEEPCNT = 9 TCP_KEEPIDLE = 300 TCP_KEEPINTVL = 75 IPTOS_LOWDELAY = 0 IPTOS_THROUGHPUT = 0 SO_REUSEPORT = 0 SO_SNDBUF = 87040 SO_RCVBUF = 131072 SO_SNDLOWAT = 1 SO_RCVLOWAT = 1 SO_SNDTIMEO = 0 SO_RCVTIMEO = 0 TCP_QUICKACK = 1 TCP_DEFER_ACCEPT = 0 session request ok negotiated dialect[SMB3_11] against server[ad1.win2016.test] cli_session_setup_spnego_send: Connect to ad1.win2016.test as admin@IPA.TEST using SPNEGO GENSEC backend 'gssapi_spnego' registered GENSEC backend 'gssapi_krb5' registered GENSEC backend 'gssapi_krb5_sasl' registered GENSEC backend 'spnego' registered GENSEC backend 'schannel' registered GENSEC backend 'naclrpc_as_system' registered GENSEC backend 'sasl-EXTERNAL' registered GENSEC backend 'ntlmssp' registered GENSEC backend 'ntlmssp_resume_ccache' registered GENSEC backend 'http_basic' registered GENSEC backend 'http_ntlm' registered GENSEC backend 'http_negotiate' registered Starting GENSEC mechanism spnego Starting GENSEC submechanism gse_krb5 session setup ok signed SMB2 message tconx ok Try "help" to get a list of possible commands. smb: \> signed SMB2 message [root@master ~]# klist -A Ticket cache: KCM:0 Default principal: admin@IPA.TEST Valid starting Expires Service principal 02/05/20 09:33:27 02/05/20 19:33:27 krbtgt/WIN2016.TEST@WIN2016.TEST 02/05/20 09:32:54 02/06/20 09:32:51 krbtgt/IPA.TEST@IPA.TEST 02/05/20 09:33:27 02/05/20 19:33:27 cifs/ad1.win2016.test@WIN2016.TEST
and with LDAP access:
[root@master ~]# KRB5_TRACE=/dev/stderr ldapsearch -Y GSS-SPNEGO -h ad1.win2016.test -b dc=win2016,dc=test cn=administrator SASL/GSS-SPNEGO authentication started [34690] 1580894961.877172: ccselect can't find appropriate cache for server principal ldap/ad1.win2016.test@WIN2016.TEST [34690] 1580894961.877173: Getting credentials admin@IPA.TEST -> ldap/ad1.win2016.test@WIN2016.TEST using ccache KCM:0 [34690] 1580894961.877174: Retrieving admin@IPA.TEST -> ldap/ad1.win2016.test@WIN2016.TEST from KCM:0 with result: -1765328243/Matching credential not found [34690] 1580894961.877175: Retrieving admin@IPA.TEST -> krbtgt/WIN2016.TEST@WIN2016.TEST from KCM:0 with result: -1765328243/Matching credential not found [34690] 1580894961.877176: Retrieving admin@IPA.TEST -> krbtgt/IPA.TEST@IPA.TEST from KCM:0 with result: 0/Success [34690] 1580894961.877177: Starting with TGT for client realm: admin@IPA.TEST -> krbtgt/IPA.TEST@IPA.TEST [34690] 1580894962.3623: Retrieving admin@IPA.TEST -> krbtgt/WIN2016.TEST@WIN2016.TEST from KCM:0 with result: -1765328243/Matching credential not found [34690] 1580894962.3624: Requesting TGT krbtgt/WIN2016.TEST@IPA.TEST using TGT krbtgt/IPA.TEST@IPA.TEST [34690] 1580894962.3625: Generated subkey for TGS request: aes256-cts/2FBF [34690] 1580894962.3626: etypes requested in TGS request: aes256-cts, aes128-cts, aes256-sha2, aes128-sha2, rc4-hmac, camellia128-cts, camellia256-cts [34690] 1580894962.3628: Encoding request body and padata into FAST request [34690] 1580894962.3629: Sending request (1614 bytes) to IPA.TEST [34690] 1580894962.3630: Initiating TCP connection to stream 10.0.152.167:88 [34690] 1580894962.3631: Sending TCP request to stream 10.0.152.167:88 [34690] 1580894962.3632: Received answer (1512 bytes) from stream 10.0.152.167:88 [34690] 1580894962.3633: Terminating TCP connection to stream 10.0.152.167:88 [34690] 1580894962.3634: Response was from master KDC [34690] 1580894962.3635: Decoding FAST response [34690] 1580894962.3636: FAST reply key: aes256-cts/9487 [34690] 1580894962.3637: TGS reply is for admin@IPA.TEST -> krbtgt/WIN2016.TEST@IPA.TEST with session key aes256-cts/84BE [34690] 1580894962.3638: TGS request result: 0/Success [34690] 1580894962.3639: Received TGT for WIN2016.TEST; advancing current realm [34690] 1580894962.3640: Retrieving admin@IPA.TEST -> krbtgt/WIN2016.TEST@WIN2016.TEST from KCM:0 with result: -1765328243/Matching credential not found [34690] 1580894962.3641: Requesting TGT krbtgt/WIN2016.TEST@WIN2016.TEST using TGT krbtgt/WIN2016.TEST@IPA.TEST [34690] 1580894962.3642: Generated subkey for TGS request: aes256-cts/136F [34690] 1580894962.3643: etypes requested in TGS request: aes256-cts, aes128-cts, aes256-sha2, aes128-sha2, rc4-hmac, camellia128-cts, camellia256-cts [34690] 1580894962.3645: Encoding request body and padata into FAST request [34690] 1580894962.3646: Sending request (1589 bytes) to WIN2016.TEST [34690] 1580894962.3647: Initiating TCP connection to stream 10.0.152.241:88 [34690] 1580894962.3648: Sending TCP request to stream 10.0.152.241:88 [34690] 1580894962.3649: Received answer (1412 bytes) from stream 10.0.152.241:88 [34690] 1580894962.3650: Terminating TCP connection to stream 10.0.152.241:88 [34690] 1580894962.3651: Response was from master KDC [34690] 1580894962.3652: Decoding FAST response [34690] 1580894962.3653: FAST reply key: aes256-cts/853E [34690] 1580894962.3654: TGS reply is for admin@IPA.TEST -> krbtgt/WIN2016.TEST@WIN2016.TEST with session key aes256-cts/C48E [34690] 1580894962.3655: TGS request result: 0/Success [34690] 1580894962.3656: Storing admin@IPA.TEST -> krbtgt/WIN2016.TEST@WIN2016.TEST in KCM:0 [34690] 1580894962.3657: Received TGT for service realm: krbtgt/WIN2016.TEST@WIN2016.TEST [34690] 1580894962.3658: Requesting tickets for ldap/ad1.win2016.test@WIN2016.TEST, referrals on [34690] 1580894962.3659: Generated subkey for TGS request: aes256-cts/4570 [34690] 1580894962.3660: etypes requested in TGS request: aes256-cts, aes128-cts, aes256-sha2, aes128-sha2, rc4-hmac, camellia128-cts, camellia256-cts [34690] 1580894962.3662: Encoding request body and padata into FAST request [34690] 1580894962.3663: Sending request (1489 bytes) to WIN2016.TEST [34690] 1580894962.3664: Initiating TCP connection to stream 10.0.152.241:88 [34690] 1580894962.3665: Sending TCP request to stream 10.0.152.241:88 [34690] 1580894962.3666: Received answer (1440 bytes) from stream 10.0.152.241:88 [34690] 1580894962.3667: Terminating TCP connection to stream 10.0.152.241:88 [34690] 1580894962.3668: Response was from master KDC [34690] 1580894962.3669: Decoding FAST response [34690] 1580894962.3670: FAST reply key: aes256-cts/18F7 [34690] 1580894962.3671: TGS reply is for admin@IPA.TEST -> ldap/ad1.win2016.test@WIN2016.TEST with session key aes256-cts/6636 [34690] 1580894962.3672: TGS request result: 0/Success [34690] 1580894962.3673: Received creds for desired service ldap/ad1.win2016.test@WIN2016.TEST [34690] 1580894962.3674: Storing admin@IPA.TEST -> ldap/ad1.win2016.test@WIN2016.TEST in KCM:0 [34690] 1580894962.3676: Creating authenticator for admin@IPA.TEST -> ldap/ad1.win2016.test@WIN2016.TEST, seqnum 352069573, subkey aes256-cts/29F0, session key aes256-cts/6636 [34690] 1580894962.3681: Read AP-REP, time 1580894962.3677, subkey aes256-cts/DAAD, seqnum 1050652895 SASL username: admin@IPA.TEST SASL SSF: 256 SASL data security layer installed. # extended LDIF # # LDAPv3 # base <dc=win2016,dc=test> with scope subtree # filter: cn=administrator # requesting: ALL # # Administrator, Users, win2016.test dn: CN=Administrator,CN=Users,DC=win2016,DC=test objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: Administrator description: Built-in account for administering the computer/domain distinguishedName: CN=Administrator,CN=Users,DC=win2016,DC=test instanceType: 4 whenCreated: 20200205081815.0Z whenChanged: 20200205083345.0Z uSNCreated: 8196 memberOf: CN=Group Policy Creator Owners,CN=Users,DC=win2016,DC=test memberOf: CN=Domain Admins,CN=Users,DC=win2016,DC=test memberOf: CN=Enterprise Admins,CN=Users,DC=win2016,DC=test memberOf: CN=Schema Admins,CN=Users,DC=win2016,DC=test memberOf: CN=Administrators,CN=Builtin,DC=win2016,DC=test uSNChanged: 13264 name: Administrator objectGUID:: FngzRXbbFU67VBO9KTFxvQ== userAccountControl: 512 badPwdCount: 0 codePage: 0 countryCode: 0 badPasswordTime: 0 lastLogoff: 0 lastLogon: 132253664622915712 logonHours:: //////////////////////////// pwdLastSet: 132253635360254120 primaryGroupID: 513 objectSid:: AQUAAAAAAAUVAAAAbL9gGYyb/4nL8OH/9AEAAA== adminCount: 1 accountExpires: 0 logonCount: 204 sAMAccountName: Administrator sAMAccountType: 805306368 objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=win2016,DC=test isCriticalSystemObject: TRUE dSCorePropagationData: 20200205083345.0Z dSCorePropagationData: 20200205083345.0Z dSCorePropagationData: 20200205081835.0Z dSCorePropagationData: 16010101181216.0Z lastLogonTimestamp: 132253643558071834 # search reference ref: ldap://ForestDnsZones.win2016.test/DC=ForestDnsZones,DC=win2016,DC=test # search reference ref: ldap://sub1.win2016.test/DC=sub1,DC=win2016,DC=test # search reference ref: ldap://DomainDnsZones.win2016.test/DC=DomainDnsZones,DC=win2016,DC=test # search reference ref: ldap://win2016.test/CN=Configuration,DC=win2016,DC=test # search result search: 2 result: 0 Success # numResponses: 6 # numEntries: 1 # numReferences: 4
samba and freeipa are the only users of the DAL. I'd be fine with just rebasing in Fedora.
We discussed with Isaac that a fix from https://github.com/krb5/krb5/pull/1033 is actually more appropriate. It is small: https://github.com/krb5/krb5/commit/6fe918ad7db80056dfbb615b2dc248670189e585.patch, I tried it on my test environment and it also works where the original 1.17 in F31 is not working.
@rharwood I'm not sure it makes sense to rebase F31 to krb5 1.18 -- there are other API and ABI changes there that broke other packages.
FWIW, just applying 1033 was my original plan, but I assumed I was missing something.
krb5 does not break API/ABI between releases in stable libraries (i.e., everything except libkadm5/the KDB).
Pushed to rawhide. f31 bodhi needs karma: https://bodhi.fedoraproject.org/updates/FEDORA-2020-f5beaa44a6
Metadata Update from @abbra: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Since the fixes are in krb5 upstream, Fedora rawhide and Fedora 31, close this ticket.