Bug 1329523

Summary: auth_domain fails to create schannel connection to the DC because netlogon credentials are not updated correctly
Product: Red Hat Enterprise Linux 5 Reporter: Andreas Schneider <asn>
Component: samba3xAssignee: Guenther Deschner <gdeschner>
Status: CLOSED ERRATA QA Contact: Robin Hack <rhack>
Severity: high Docs Contact:
Priority: unspecified    
Version: 5.11CC: afarley, alden.1, asn, baumanmo, cww, dkaylor, gdeschner, grundblom, jrivera, magnus.moren, maryinman, mkolaja, ovasik, qe-baseos-daemons, rhack, rich, sbose, ssn, thomas.jarosch
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: samba3x-3.6.23-13.el5_11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1327697 Environment:
Last Closed: 2016-06-23 13:14:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1327697    
Bug Blocks: 1269194    

Description Andreas Schneider 2016-04-22 07:28:06 UTC
+++ This bug was initially created as a clone of Bug #1327697 +++

Description of problem:

smbclient connections with passwords fail with:

# smbclient -U USER -L earth
Enter USER's password:
Got challenge flags:
Got NTLMSSP neg_flags=0x60898215
  NTLMSSP_NEGOTIATE_UNICODE
  NTLMSSP_REQUEST_TARGET
  NTLMSSP_NEGOTIATE_SIGN
  NTLMSSP_NEGOTIATE_NTLM
  NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  NTLMSSP_NEGOTIATE_NTLM2
  NTLMSSP_NEGOTIATE_TARGET_INFO
  NTLMSSP_NEGOTIATE_128
  NTLMSSP_NEGOTIATE_KEY_EXCH
NTLMSSP: Set final flags:
Got NTLMSSP neg_flags=0x60088215
  NTLMSSP_NEGOTIATE_UNICODE
  NTLMSSP_REQUEST_TARGET
  NTLMSSP_NEGOTIATE_SIGN
  NTLMSSP_NEGOTIATE_NTLM
  NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  NTLMSSP_NEGOTIATE_NTLM2
  NTLMSSP_NEGOTIATE_128
  NTLMSSP_NEGOTIATE_KEY_EXCH
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x60088215
  NTLMSSP_NEGOTIATE_UNICODE
  NTLMSSP_REQUEST_TARGET
  NTLMSSP_NEGOTIATE_SIGN
  NTLMSSP_NEGOTIATE_NTLM
  NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  NTLMSSP_NEGOTIATE_NTLM2
  NTLMSSP_NEGOTIATE_128
  NTLMSSP_NEGOTIATE_KEY_EXCH
SPNEGO login failed: Access denied
session setup failed: NT_STATUS_ACCESS_DENIED

Server:
[2016/04/15 09:55:38.693594,  4] libsmb/namequery_dc.c:146(ads_dc_name)
  ads_dc_name: using server='AD-OFFICE01.AD.DOMAIN.COM' IP=X.X.X.X
[2016/04/15 09:55:38.693841,  3] libsmb/cliconnect.c:3183(cli_start_connection)
  Connecting to host=AD-OFFICE01.AD.DOMAIN.COM
[2016/04/15 09:55:38.693938,  3] lib/util_sock.c:766(open_socket_out_send)
  Connecting to X.X.X.X at port 445
[2016/04/15 09:55:38.694697,  5] lib/util_sock.c:165(print_socket_options)
  Socket options:
        SO_KEEPALIVE = 0
        SO_REUSEADDR = 0
        SO_BROADCAST = 0
        TCP_NODELAY = 1
        TCP_KEEPCNT = 9
        TCP_KEEPIDLE = 7200
        TCP_KEEPINTVL = 75
        IPTOS_LOWDELAY = 0
        IPTOS_THROUGHPUT = 0
        SO_REUSEPORT = 0
        SO_SNDBUF = 16384
        SO_RCVBUF = 16384
        SO_SNDLOWAT = 1
        SO_RCVLOWAT = 1
        SO_SNDTIMEO = 0
        SO_RCVTIMEO = 0
        TCP_QUICKACK = 1
[2016/04/15 09:55:38.698405,  5] rpc_client/cli_pipe.c:1998(rpc_pipe_bind_send)
  Bind RPC Pipe: host AD-OFFICE01.AD.DOMAIN.COM auth_type 0, auth_level 1
[2016/04/15 09:55:38.698527,  5] rpc_client/cli_pipe.c:842(rpc_api_pipe_send)
  rpc_api_pipe: host AD-OFFICE01.AD.DOMAIN.COM
[2016/04/15 09:55:38.699272,  5] rpc_client/cli_pipe.c:98(rpc_read_send)
  rpc_read_send: data_to_read: 52
[2016/04/15 09:55:38.699390,  5] rpc_client/cli_pipe.c:1866(check_bind_response)
  check_bind_response: accepted!
[2016/04/15 09:55:38.699546,  5] rpc_client/cli_pipe.c:842(rpc_api_pipe_send)
  rpc_api_pipe: host AD-OFFICE01.AD.DOMAIN.COM
[2016/04/15 09:55:38.700384,  5] rpc_client/cli_pipe.c:98(rpc_read_send)
  rpc_read_send: data_to_read: 20
[2016/04/15 09:55:38.700602,  5] rpc_client/cli_pipe.c:842(rpc_api_pipe_send)
  rpc_api_pipe: host AD-OFFICE01.AD.DOMAIN.COM
[2016/04/15 09:55:38.702070,  5] rpc_client/cli_pipe.c:98(rpc_read_send)
  rpc_read_send: data_to_read: 24
[2016/04/15 09:55:38.702184,  5] rpc_client/cli_netlogon.c:148(rpccli_netlogon_setup_creds)
  rpccli_netlogon_setup_creds: server AD-OFFICE01.AD.DOMAIN.COM credential chain established.
[2016/04/15 09:55:38.702742,  5] rpc_client/cli_pipe.c:1998(rpc_pipe_bind_send)
  Bind RPC Pipe: host AD-OFFICE01.AD.DOMAIN.COM auth_type 68, auth_level 6
[2016/04/15 09:55:38.702841,  5] rpc_client/cli_pipe.c:842(rpc_api_pipe_send)
  rpc_api_pipe: host AD-OFFICE01.AD.DOMAIN.COM
[2016/04/15 09:55:38.703622,  5] rpc_client/cli_pipe.c:98(rpc_read_send)
  rpc_read_send: data_to_read: 72
[2016/04/15 09:55:38.703712,  5] rpc_client/cli_pipe.c:1866(check_bind_response)
  check_bind_response: accepted!
[2016/04/15 09:55:38.703762,  5] ../libcli/auth/credentials.c:108(netlogon_creds_step)
        seed        48c92a03:99ed1e33
[2016/04/15 09:55:38.703809,  5] ../libcli/auth/credentials.c:113(netlogon_creds_step)
        seed+time   9fda38ff:99ed1e33
[2016/04/15 09:55:38.703904,  5] ../libcli/auth/credentials.c:118(netlogon_creds_step)
        CLIENT      51d94044:5a7df281
[2016/04/15 09:55:38.703950,  5] ../libcli/auth/credentials.c:124(netlogon_creds_step)
        seed+time+1 9fda3900:99ed1e33
[2016/04/15 09:55:38.704026,  5] ../libcli/auth/credentials.c:129(netlogon_creds_step)
        SERVER      20492bd2:2705c8c6
[2016/04/15 09:55:38.704135,  5] rpc_client/cli_pipe.c:842(rpc_api_pipe_send)
  rpc_api_pipe: host AD-OFFICE01.AD.DOMAIN.COM
[2016/04/15 09:55:38.704992,  5] rpc_client/cli_pipe.c:98(rpc_read_send)
  rpc_read_send: data_to_read: 104
[2016/04/15 09:55:38.705664,  5] ../libcli/auth/credentials.c:108(netlogon_creds_step)
        seed        48c92a03:99ed1e33
[2016/04/15 09:55:38.705733,  5] ../libcli/auth/credentials.c:113(netlogon_creds_step)
        seed+time   9fda38ff:99ed1e33
[2016/04/15 09:55:38.705817,  5] ../libcli/auth/credentials.c:118(netlogon_creds_step)
        CLIENT      51d94044:5a7df281
[2016/04/15 09:55:38.705866,  5] ../libcli/auth/credentials.c:124(netlogon_creds_step)
        seed+time+1 9fda3900:99ed1e33
[2016/04/15 09:55:38.705948,  5] ../libcli/auth/credentials.c:129(netlogon_creds_step)
        SERVER      20492bd2:2705c8c6
[2016/04/15 09:55:38.706077,  5] rpc_client/cli_pipe.c:842(rpc_api_pipe_send)
  rpc_api_pipe: host AD-OFFICE01.AD.DOMAIN.COM
[2016/04/15 09:55:38.706936,  5] rpc_client/cli_pipe.c:98(rpc_read_send)
  rpc_read_send: data_to_read: 104
[2016/04/15 09:55:38.707088,  2] ../libcli/auth/credentials.c:289(netlogon_creds_client_check)
  credentials check failed
[2016/04/15 09:55:38.707145,  0] rpc_client/cli_netlogon.c:623(rpccli_netlogon_sam_network_logon)
  rpccli_netlogon_sam_network_logon: credentials chain check failed
[2016/04/15 09:55:38.708373,  0] auth/auth_domain.c:331(domain_client_validate)
  domain_client_validate: unable to validate password for user USER in domain DOMAIN to Domain controller AD-OFFICE01.AD.DOMAIN.COM. Error was NT_STATUS_ACCESS_DENIED.
[2016/04/15 09:55:38.709297,  5] auth/auth.c:281(check_ntlm_password)
  check_ntlm_password: winbind authentication for user [USER] FAILED with error NT_STATUS_ACCESS_DENIED
[2016/04/15 09:55:38.709370,  2] auth/auth.c:330(check_ntlm_password)
  check_ntlm_password:  Authentication for user [USER] -> [USER] FAILED with error NT_STATUS_ACCESS_DENIED
[2016/04/15 09:55:38.709439,  3] smbd/error.c:81(error_packet_set)
  error packet at smbd/sesssetup.c(124) cmd=115 (SMBsesssetupX) NT_STATUS_ACCESS_DENIED



Version-Release number of selected component (if applicable):
samba-3.6.23-30.el6_7.x86_64
samba-4.2.10-6.el7_2.x86_64

--- Additional comment from RHEL Product and Program Management on 2016-04-15 12:11:00 EDT ---

Since this bug report was entered in bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

--- Additional comment from Orion Poplawski on 2016-04-15 12:12:32 EDT ---

Starting winbind fixes this.  Apologies.

--- Additional comment from Orion Poplawski on 2016-04-15 12:23:03 EDT ---

Actually, it doesn't.  I do get farther:

# smbclient -U USER -L SERVER
Enter USER's  password:
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.6.23-30.el6_7]

        Sharename       Type      Comment
        ---------       ----      -------
        homes           Disk      Home Directories
        netlogon        Disk      Network Logon Service
        web             Disk      NWRA Boulder web documents
        ftp             Disk      NWRA Boulder ftp file repository
        data            Disk      Data drives
        home            Disk      Home dir
        local           Disk      Local dir
        scans           Disk      Scanned Documents
        IPC$            IPC       IPC Service (NWRA Boulder Network Server)
        user            Disk      Home Directories
session setup failed: NT_STATUS_ACCESS_DENIED
NetBIOS over TCP disabled -- no workgroup available

Then I get an abrt crash report for winbind on the server

# smbclient -U USER -L SERVER
Enter USER's password:
session setup failed: NT_STATUS_ACCESS_DENIED

--- Additional comment from Orion Poplawski on 2016-04-15 12:26 EDT ---



--- Additional comment from Andreas Schneider on 2016-04-15 12:40:56 EDT ---

We are already aware of the issue and working on it.

--- Additional comment from Glen Rundblom on 2016-04-19 10:34:45 EDT ---

I am also having this issue with Scientific Linux 6.7 and upgraded last Wednesday across our systems. I found that the problem lies in the netbios name resolution (nmb). If the user specifies the fully qualified domain name of the active directory, they are granted access, otherwise if they use the netbios name of the domain, I will see the "NT_STATUS_ACCESS_DENIED" message. 

I also found that domain joined windows boxes are able to access the samba shares, but I believe that is because they have a current kerberos token.

So, ad.domain.local\username - works
localdomain\username - does not work

I hope this helps,
-Glen

--- Additional comment from Glen Rundblom on 2016-04-19 11:53:17 EDT ---

(In reply to Glen Rundblom from comment #6)
> I am also having this issue with Scientific Linux 6.7 and upgraded last
> Wednesday across our systems. I found that the problem lies in the netbios
> name resolution (nmb). If the user specifies the fully qualified domain name
> of the active directory, they are granted access, otherwise if they use the
> netbios name of the domain, I will see the "NT_STATUS_ACCESS_DENIED"
> message. 
> 
> I also found that domain joined windows boxes are able to access the samba
> shares, but I believe that is because they have a current kerberos token.
> 
> So, ad.domain.local\username - works
> localdomain\username - does not work
> 
> I hope this helps,
> -Glen

Update: I found that specifying the fully qualified domain name was actually engaging in a kerberos ticket and granting access, I found on an ubuntu machine that installing krb5-user allowed nautilus to get a kerberos ticket, and then allow access (it was not working without it), so I suppose that is the piece that apple/mac clients and Windows clients were doing that I did not notice yet..

--- Additional comment from Red Hat Bugzilla Rules Engine on 2016-04-22 02:55:41 EDT ---

This bug report has Keywords: Regression or TestBlocker.

Since no regressions or test blockers are allowed between releases, it is also being [proposed|marked] as a blocker for this release.

Please resolve ASAP.

Comment 1 RHEL Program Management 2016-04-25 17:15:44 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 5 Andreas Schneider 2016-05-19 15:25:36 UTC
If you are running Samba as a AD domain member then winbindd should be running!

Comment 11 errata-xmlrpc 2016-06-23 13:14:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1294