[Freeipa-users] Distributing user keytabs for non-interactive auth question

Alexander Bokovoy abokovoy at redhat.com
Mon Sep 26 14:59:53 UTC 2016


On ma, 26 syys 2016, Matthew Sellers wrote:
>Hi Martin,
>
>Thank you for clarification.   In my example I am configuring
>'unprivileged' service users.   Specifically, I wrote a script to pull
>data from IPA from its wonderful REST interface that will run on a
>group of hosts.  Since this has to run non-interactively I would like
>to use a keytab.
>
>I initially went down the road of grabbing an initial keytab with
>ipa-getkeytab and then distributing the 'service user keytab' with
>Puppet.    I see the security implications here the same as
>un-encrypted ssh keys for service users.
>
>My second option was to jump on the host, grab a TGT for the service
>user with kinit, and download the lastest KVNO of my service user
>keytab using ipa-getkeytab with '-r' option.
>
>This seemed pretty cool and solved the issue of asking the KDC 'give
>me the lastest keytab for service user abc_service'.   What is the
>best way to do this?
>
>
>If anybody can share similar deployment stories that would be great.
If you are not tied to POSIX users, you can create actual Kerberos
services and use them to talk to IPA framework. To the framework there
is no difference whether it is a user or a kerberos service that is
authenticating. You can create roles that reference Kerberos services
instead of users when assigning permissions to access certain objects
and their attributes.

For services there is already a good way to delegate retrieval rights
for keytabs.


>
>Thank You!
>Matt
>
>
>
>On Mon, Sep 26, 2016 at 2:22 AM, Martin Babinsky <mbabinsk at redhat.com> wrote:
>> On 09/26/2016 04:22 AM, Matthew Sellers wrote:
>>>
>>> Hey Mike,
>>>
>>> Thanks for the reply.  I did use this originally when deploying my
>>> 'kerberized' service on my first host.   What I am trying to do is use
>>> ipa-getkeytab for keytab distribution on say...100 hosts, without
>>> having to copy around keytabs from host to host.
>>>
>>> Since using ipa-getkeytab without the '-r' option just creates a new
>>> keytab with bumped KVNO ..and.. when I do use '-r' I recieve a message
>>> for 'Insufficient access rights' I am still fuzzy....
>>>
>>> Can ipa-getkeytab be used for mass distribution of user keytabs with
>>> the -r option?
>>>
>>> Thanks Again!
>>> Matt
>>>
>>>
>>>
>>> On Sun, Sep 25, 2016 at 9:03 PM, Michael ORourke
>>> <mrorourke at earthlink.net> wrote:
>>>>
>>>> Matt,
>>>>
>>>> Try the following...
>>>>
>>>> # Get admin TGT
>>>> kinit admin at REALM.COM
>>>>
>>>> # Get keytab for user account
>>>> ipa-getkeytab -s coipa100 -p cron_runner at REALM.COM -k
>>>> ipa_cron_runner.keytab
>>>>
>>>> # Clear tickets
>>>> kdestroy
>>>>
>>>> # Request TGT using the keytab
>>>> kinit -k -t ./cron_runner.keytab cron_runner at REALM.COM
>>>>
>>>> # List tickets
>>>> klist
>>>>
>>>> I recommend including the username somewhere in the name of the keytab
>>>> file itself which makes it easier to remember.  Of course be careful with
>>>> the permissions on the keytab file, because anyone that has read access to
>>>> the keytab can get a TGT as that user.
>>>>
>>>> -Mike
>>>>
>>>> -----Original Message-----
>>>>>
>>>>> From: Matthew Sellers <matt at indigo.nu>
>>>>> Sent: Sep 25, 2016 8:37 PM
>>>>> To: freeipa-users at redhat.com
>>>>> Subject: [Freeipa-users] Distributing user keytabs for non-interactive
>>>>> auth    question
>>>>>
>>>>> Hi Guys,
>>>>>
>>>>> What is the best way to distribute a 'user' keytab to distribute
>>>>> keytabs to allow 'system users' to run scripts with non-interactive
>>>>> auth?  Is it possible to use the ipa-getkeytab feature ( with "-r"
>>>>> option ) to request a keytab for a user principal?  I see support for
>>>>> HOST and SERVICE keytabs, but nothing specific to user  keytabs?
>>>>>
>>>>> Concept Example:
>>>>>
>>>>> ipa-getkeytab -s ipa_server -p cron_runner at REALM.COM -k ipa_cron.keytab
>>>>> -r
>>>>> KRB5_KTNAME=ipa_cron.keytab service.py
>>>>>
>>>>> Actual Results ( tried with tgt for cron_runner or admin ):
>>>>>
>>>>> [sysadmin at 01 ~]$ ipa-getkeytab -s coipa100 -p cron_runner at REALM.COM
>>>>> -kipa_cron.keytab -r
>>>>> Failed to parse result: Insufficient access rights
>>>>>
>>>>> My only other option is grab the keytab and copy it around after
>>>>> initial creation ( understanding that each keytab requests bumps the
>>>>> KVNO ).  My goal is to make password-less authentication for automated
>>>>> processes as easy as possible to setup....ipa-getkeytab seems like its
>>>>> almost there?
>>>>>
>>>>> Love the work you guys are putting out, its a really cool system.
>>>>>
>>>>> Thanks,
>>>>> Matt
>>>>>
>>>>> --
>>>>> Manage your subscription for the Freeipa-users mailing list:
>>>>> https://www.redhat.com/mailman/listinfo/freeipa-users
>>>>> Go to http://freeipa.org for more info on the project
>>>>
>>>>
>>>> --
>>>> Manage your subscription for the Freeipa-users mailing list:
>>>> https://www.redhat.com/mailman/listinfo/freeipa-users
>>>> Go to http://freeipa.org for more info on the project
>>>
>>>
>>
>> The problem is that in order to retrieve an existing Kerberos keys the
>> getkeytab extended operation need to be able to read them. The support for
>> these permissions is currently implemented for hosts and services only (see
>> http://www.freeipa.org/page/V4/Keytab_Retrieval_Management for more
>> details).
>>
>> Maybe you can workaround this by retrieving keytabs as a directory manager
>> but then you have to enter directory manager password everywhere.
>>
>> Also there is a considerable security risk involved in storing user keytabs
>> e.g. in their home directories, as anyone who gains privileged access to the
>> enrolled machine can then impersonate any user that has a keytab stored on
>> it.
>>
>> --
>> Martin^3 Babinsky
>>
>>
>> --
>> Manage your subscription for the Freeipa-users mailing list:
>> https://www.redhat.com/mailman/listinfo/freeipa-users
>> Go to http://freeipa.org for more info on the project
>
>-- 
>Manage your subscription for the Freeipa-users mailing list:
>https://www.redhat.com/mailman/listinfo/freeipa-users
>Go to http://freeipa.org for more info on the project

-- 
/ Alexander Bokovoy




More information about the Freeipa-users mailing list