[Samba] Exporting keytab for SPN failure
Achim Gottinger
achim at ag-web.biz
Wed Sep 14 17:57:26 UTC 2016
Am 14.09.2016 um 18:23 schrieb Michael A Weber:
>
>> On Sep 14, 2016, at 10:44 AM, Achim Gottinger via samba
>> <samba at lists.samba.org <mailto:samba at lists.samba.org>> wrote:
>>
>>
>>
>> Am 14.09.2016 um 05:53 schrieb Michael A Weber via samba:
>>> Experts—
>>>
>>> I’m attempting to export a keytab for a created SPN on the AD DC
>>> machine but I’m receiving an error:
>>>
>>> ERROR(runtime): uncaught exception - Key table entry not found
>>> File
>>> "/usr/lib64/python2.6/site-packages/samba/netcmd/__init__.py", line
>>> 175, in _run
>>> return self.run(*args, **kwargs)
>>> File "/usr/lib64/python2.6/site-packages/samba/netcmd/domain.py",
>>> line 129, in run
>>> net.export_keytab(keytab=keytab, principal=principal)
>>>
>>> Steps taken to recreate:
>>>
>>> 1. Create a user for the SPN
>>>
>>> samba-tool user create web-intranet-macmini
>>> <provided password when prompted>
>>>
>>> 2. Add the SPN:
>>>
>>> samba-tool spn add
>>> HTTP/hostname.domain2.domain1.tld at DOMAIN2.DOMAIN1.TLD
>>> <mailto:HTTP/hostname.domain2.domain1.tld at domain2.domain1.tld>
>>> web-intranet-macmini
>>> <succeeded without error>
>>>
>>> 3. Export the keytab file to be used on the intranet host:
>>>
>>> samba-tool domain exportkeytab ~/intranet-macmini.keytab
>>> —principal=HTTP/hostname.domain2.domain1.tld at DOMAIN2.DOMAIN1.TLD
>>> <mailto:principal=HTTP/hostname.domain2.domain1.tld at domain2.domain1.tld>
>>>
>>> <Get the error listed above>
>>>
>>> Now, I tried adding another SPN without the realm, and exporting
>>> without the realm, and I did not receive an error.
>>>
>>> I then deleted both SPNs via samba-tool spn delete, recreated the
>>> SPN using the realm just to make sure I’m not completely crazy and
>>> didn’t fat finger anything (and to make sure my contact lenses are
>>> making me see what I think I’m seeing) and I still get the error.
>>>
>>> When I do samba-tool spn list web-intranet-macmini, I see the SPN(s)
>>> associated with that user, and they are correct.
>>>
>>> Is there something glaringly obvious I’m missing?
>>>
>>> Mike
>> Last time i created an SPN it was not neccessary to add the realm
>> part when creating the realm. It should be added automatically adn
>> you can verify it with
>> klist -Kek [your keytabfile]
>>
>> --
>> To unsubscribe from this list go to the following URL and read the
>> instructions: https://lists.samba.org/mailman/options/samba
>
> I did previously create an SPN without the realm, but the SPN
> attribute on the user also did not contain the realm. Then, I deleted
> the SPN and re-created it with the realm.
>
> Achim, I just tested your recommendation and verified with the klist
> command above, and they do look correct (sanitized below, of course):
>
> Keytab name: FILE:/root/intranet-macmini.keytab
> KVNO Principal
> ----
> --------------------------------------------------------------------------
> 1 HTTP/intranet.domain2.domain1.tld at DOMAIN2.DOMAIN1.TLD
> <mailto:HTTP/intranet.domain2.domain1.tld at domain2.domain1.tld> (des-cbc-crc)
> 1 HTTP/intranet.domain2.domain1.tld at DOMAIN2.DOMAIN1.TLD
> <mailto:domain2.domain1.tld at domain2.domain1.tld> (des-cbc-md5)
> 1 HTTP/intranet.domain2.domain1.tld at DOMAIN2.DOMAIN1.TLD
> <mailto:domain2.domain1.tld at domain2.domain1.tld> (arcfour-hmac)
>
>
>
>> On Sep 14, 2016, at 1:38 AM, Rowland Penny via samba
>> <samba at lists.samba.org <mailto:samba at lists.samba.org>> wrote:
>>
>> Yes, the principal isn't the SPN when you try to export the keytab, it
>> is the user.
>>
>> Rowland
>>
>
>
> Rowland, when I use your method of specifying the principal as the
> user and not the SPN, I get what I would think for Apache would be a
> completely incorrect keytab as verified by the klist -Kek command:
>
> Keytab name: FILE:/root/intranet-macmini.keytab
> KVNO Principal
> ----
> --------------------------------------------------------------------------
> 1 web-intranet-macmini at DOMAIN2.DOMAIN1.TLD
> <mailto:web-intranet-macmini at domain2.domain1.tld> (des-cbc-crc)
> 1 web-intranet-macmini at DOMAIN2.DOMAIN1.TLD
> <mailto:web-intranet-macmini at domain2.domain1.tld> (des-cbc-md5)
> 1 web-intranet-macmini at DOMAIN2.DOMAIN1.TLD
> <mailto:web-intranet-macmini at domain2.domain1.tld> (aes128-cts-hmac-sha1-96)
> 1 web-intranet-macmini at DOMAIN2.DOMAIN1.TLD
> <mailto:web-intranet-macmini at domain2.domain1.tld> (aes256-cts-hmac-sha1-96)
> 1 web-intranet-macmini at DOMAIN2.DOMAIN1.TLD
> <mailto:web-intranet-macmini at domain2.domain1.tld> (arcfour-hmac)
>
>
> Experts--
>
> So, which method is the correct way to export a keytab for an SPN for,
> say, Apache?
>
> Question though, just for my curiosity:
>
> The encryption algorithms specified after each SPN: I see that
> aes-256 is listed when I export the user, but not the SPN. Are those
> expected, or have I done something wrong and used incorrect algorithms
> somewhere? I recall reading that DES is not secure enough and that
> AES-256 (I think I read this during TLS enablement) is what should be
> used.
>
> Mike
You can use ktutil to add the aes keys manual. You can not use an random
password for the user account with this.
#ktutil
ktutil: rkt [keytabfile]
ktutil: addent -password -p
HTTP/intranet.domain2.domain1.tld at DOMAIN2.DOMAIN1.TLD
<mailto:domain2.domain1.tld at domain2.domain1.tld> -k 1 -e
aes256-cts-hmac-sha1-96
ktutil: [enter the password used for web-intranet-macmini]
ktutil: wkt [keytabfile]
ktutil: q
I have not tested this but it should work used an similar approach with
samba 4.0 for imap and smtp principals.
More information about the samba
mailing list