[Samba] New options "sync machine password to keytab"/ "client ldap sasl wrapping"
Sami Hulkko
sahulkko at gmail.com
Tue Feb 18 14:21:58 UTC 2025
My penny on it:
tls enabled = Yes
tls cafile = /var/lib/samba/private/tls/ca.crt
tls certfile = /var/lib/samba/private/tls/dc.crt
tls crlfile = /var/lib/samba/private/tls/pki.crl
tls dh params file = /var/lib/samba/private/tls/dh.pem
tls keyfile = /var/lib/samba/private/tls/secure/dc.key
Works and needs absolute paths.
# tls priority = NORMAL:-VERS-TLS1.0:-VERS-TLS1.1
opt out old ciphers is possible.
SH
On 18/02/2025 14:38, Christian Naumer via samba wrote:
> Hi all,
> some additional info. If I supply a CRL file in the smb.conf like this:
>
> #tls verify peer = ca_and_name
> tls crlfile = tls/root.crl.pem
>
> And comment "tls verify peer" which then uses the default "tls verify
> peer = as_strict_as_possible"
>
> the "gensec_gse_client_prepare_ccache" error is not logged during
> "normal" password change. However, the behaviour of "net ads
> changetrustpw" is still the same.
>
> Any thoughts on this?
>
> Regards
>
> Christian
>
>
> Am 18.02.25 um 12:48 schrieb Christian Naumer via samba:
>> Hi all,
>> I have been trying to use the new options "sync machine password to
>> keytab" and "client ldap sasl wrapping" in Samba 4.21 together with
>> "client ldap sasl wrapping"
>>
>> When this is set:
>>
>> client ldap sasl wrapping = ldaps (or starttls)
>> tls cafile = tls/ca.pem
>> tls verify peer = ca_and_name
>> sync machine password to keytab = /etc/
>> krb5.keytab:sync_spns:sync_kvno:machine_password
>>
>>
>>
>> And I do a:
>>
>> net ads changetrustpw
>>
>>
>> I get this:
>>
>>
>> Changing password for principal: host$@DOMAIN.COM
>> gensec_gse_client_prepare_ccache: Kinit for HOST$@DOMAIN.COM to
>> access ldap/dc2.domain.com failed: Preauthentication failed:
>> NT_STATUS_LOGON_FAILURE
>> pw2kt_get_dc_info: Failed to refresh keytab, ads_connect() returned
>> Invalid credentials
>> secrets_finish_password_change: Sync of machine password failed.
>> Password change failed: An internal error occurred.
>>
>>
>> The keytab is still updated with the new KVNO and the machine
>> password in AD is updated. However the new KVNO is appended to the
>> keytab. There are two new KVNOs in the keytab as if the password was
>> updated twice.
>>
>>
>> When I remove the ldaps/startrls options from the smb.confI get this
>> result:
>>
>> Changing password for principal: host$@DOMAIN.COM
>> Password change for principal host$@DOMAIN.COM succeeded.
>>
>>
>> The keytab is updated with the new KVNO and the machine password in
>> AD is updated. In the keytab there are then always 3 KVNOs the
>> current and the two previous ones.
>>
>> Additional info. If I wait for the machine password to timeout and
>> winbind changes the password. This "works" as far as the keytab has
>> only one additional KVNO and all other KVNOs more then the current
>> and the last two are removed. However the error
>>
>> gensec_gse_client_prepare_ccache: Kinit for HOST$@DOMAIN.COM to
>> access ldap/dc2.domain.com failed: Preauthentication failed:
>> NT_STATUS_LOGON_FAILURE
>>
>> is still logged.
>>
>> Should I file a bug for this? I can reproduce this also on a Debian
>> 12 system.
>>
>> Regards
>>
>> Christian
>>
>>
>>
>>
>>
>> Samba version is 4.21.4-SerNet-RedHat-6.el8 just updated with the
>> release this morning.
>>
>> Here is the rest of the global section:
>>
>> [global]
>> netbios name = HOST
>> server string = Daten
>> security = ADS
>> realm = HQ.DOMAIN.COM
>> workgroup = DOMAIN-02
>> disable netbios = yes
>> smb ports = 445
>> interfaces = eth0
>> bind interfaces only = yes
>> server min protocol = SMB2
>> client min protocol = SMB2
>> log level = 1 auth_audit:5
>> client ldap sasl wrapping = starttls
>> tls cafile = tls/ca.pem
>> tls verify peer = ca_and_name
>> logging = syslog only
>> sync machine password to keytab = /etc/
>> krb5.keytab:sync_spns:sync_kvno:machine_password
>> writeable =YES
>> map acl inherit = yes
>> store dos attributes = yes
>> inherit acls = Yes
>> vfs objects = acl_xattr full_audit
>> full_audit:success = pwrite write unlinkat renameat
>> full_audit:prefix = IP=%I|USER=%u|MACHINE=%m|VOLUME=%S
>> full_audit:priority = NOTICE
>> full_audit:facility = local7
>> full_audit:failure = none
>> apply group policies = yes
>> username map = /etc/samba/smbusers
>>
>> interfaces = lo eth0
>> bind interfaces only = Yes
>> ##idmap##
>> # Default idmap config used for BUILTIN and local windows
>> accounts/groups
>> idmap config *:backend = tdb
>> idmap config *:range = 1000000-2000000
>>
>> # idmap config for domain DOMAIN-02
>> idmap config DOMAIN-02:backend = ad
>> idmap config DOMAIN-02:range = 500-65555
>> idmap config DOMAIN-02:unix_nss_info = yes
>> idmap config DOMAIN-02:schema_mode = rfc2307
>> winbind enum users = yes
>> winbind enum groups = yes
>> winbind use default domain = Yes
>> machine password timeout = 604800
>> winbind reconnect delay = 5
>> winbind refresh tickets = yes
>> min domain uid = 500
>>
>>
>>
>>
>
>
--
Sami Hulkko
+358 45 8569 319
sahulkko at gmail.com
sahulkko at icloud.com
More information about the samba
mailing list