On Чцв, 07 вер 2023, Sam Morris wrote:
On Wed, Sep 06, 2023 at 02:50:32PM +0300, Alexander Bokovoy via FreeIPA-users
wrote:
It would help to see logs (krb5kdc.log) from RHEL8 servers for this
communication, both on ipa5/ipa6 and back to xoanon.
I've created a script to test this automatically.
Thank you!
I filed https://pagure.io/freeipa/issue/9448 to track this issue.
I'll be on vacation next week and Julien (krb5 maintainer) is on
vacation too, so we'll look at it after we are both back to work.
[root@xoanon ~]# (set -eu; export SSSD_KRB5_LOCATOR_DISABLE=1; for tgt in 5 6; do
for st in 5 6; do for ipa in 5 6; do (export KRB5CCNAME=/tmp/ipa-$tgt-$st-$ipa.cc;
KRB5_CONFIG=/tmp/krb5-ipa${tgt}-min.conf kinit -k; if
KRB5_CONFIG=/tmp/krb5-ipa${st}-min.conf ipa -v -e
xmlrpc_uri=https://ipa${ipa}.ipa.example.com/ipa/xml user-show admin 2>&1 |
grep -q 'GSSAPI Error'; then result=FAIL; else result=OK; fi; echo $tgt $st $ipa
$result); done; done; done)
5 5 5 OK
5 5 6 OK
5 6 5 FAIL
5 6 6 OK
6 5 5 OK
6 5 6 OK
6 6 5 FAIL
6 6 6 OK
Each test case is a line. The numbers tell you:
* which KDC gave the TGT to the client
* which KDC gave the ST for the IPA API to the client
* which IPA server the client made the API request to
... followed by the result.
Analysing the output, it seems that the IPA API running on the RHEL 8
server is not able to perform its constrained delegation request using
an evidence ticket that was generated by the RHEL 9 server.
The KDC from which the client obtains its TGT doesn't affect the result.
Here are the krb5.conf files used in the testing:
[root@xoanon ~]# cat /tmp/krb5-ipa5-min.conf
include /etc/krb5.conf
[realms]
IPA.EXAMPLE.COM = {
kdc = ipa5.ipa.example.com
}
[root@xoanon ~]# cat /tmp/krb5-ipa5-min.conf
include /etc/krb5.conf
[realms]
IPA.EXAMPLE.COM = {
kdc = ipa5.ipa.example.com
}
(BTW, is there something I can put into /etc/ipa/default.conf to prevent
the ipa client from reacting to the error from the server under test by
making another request to another server? It would cut down on noise in
the output/logs).
Here are the log messages from one of the failed test cases, first we
see the service ticket for ipa5 being requested fron ipa6:
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207733](info): TGS_REQ (6
etypes {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192(20),
camellia256-cts-cmac(26), aes128-cts-hmac-sha1-96(17),
aes128-cts-hmac-sha256-128(19), camellia128-cts-cmac(25)}) 192.168.88.3: ISSUE:
authtime 1694078668, etypes {rep=aes256-cts-hmac-sha1-96(18),
tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)},
host/[email protected] for
HTTP/[email protected]
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207733](info): closing down fd
11
Then on ipa5 we see the constrained delegation request from its API
server fail:
Sep 07 09:24:40 ipa5.ipa.example.com krb5kdc[239017](info): TGS_REQ :
handle_authdata (-1765328371)
Sep 07 09:24:40 ipa5.ipa.example.com krb5kdc[239017](info): TGS_REQ (6
etypes {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192(20),
camellia256-cts-cmac(26), aes128-cts-hmac-sha1-96(17),
aes128-cts-hmac-sha256-128(19), camellia128-cts-cmac(25)}) 192.168.88.5:
HANDLE_AUTHDATA: authtime 1694078668, etypes {rep=UNSUPPORTED:(0)}
HTTP/[email protected] for
ldap/[email protected], KDC can't fulfill requested option
Sep 07 09:24:40 ipa5.ipa.example.com krb5kdc[239017](info): ...
CONSTRAINED-DELEGATION s4u-client=host/[email protected]
Sep 07 09:24:40 ipa5.ipa.example.com krb5kdc[239017](info): closing down fd
12
Finally on ipa6 we see the client retrying its API request against ipa6,
which involves fetching the service ticket for HTTP/ipa6, followed by
ipa6's own constrained delegation request (actaully there are two, and I
don't know why, not that it matters).
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207732](info): TGS_REQ (6
etypes {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192(20),
camellia256-cts-cmac(26), aes128-cts-hmac-sha1-96(17),
aes128-cts-hmac-sha256-128(19), camellia128-cts-cmac(25)}) 192.168.88.3: ISSUE:
authtime 1694078668, etypes {rep=aes256-cts-hmac-sha1-96(18),
tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)},
host/[email protected] for
HTTP/[email protected]
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207732](info): closing down fd
11
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207733](info): TGS_REQ (4
etypes {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192(20),
aes128-cts-hmac-sha256-128(19), aes128-cts-hmac-sha1-96(17)}) 192.168.88.6:
ISSUE: authtime 1694078668, etypes {rep=aes256-cts-hmac-sha1-96(18),
tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)},
HTTP/[email protected] for
ldap/[email protected]
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207733](info): ...
CONSTRAINED-DELEGATION s4u-client=host/[email protected]
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207733](info): closing down fd
11
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207732](info): TGS_REQ (4
etypes {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192(20),
aes128-cts-hmac-sha256-128(19), aes128-cts-hmac-sha1-96(17)}) 192.168.88.6:
ISSUE: authtime 1694078668, etypes {rep=aes256-cts-hmac-sha1-96(18),
tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)},
HTTP/[email protected] for
ldap/[email protected]
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207732](info): ...
CONSTRAINED-DELEGATION s4u-client=host/[email protected]
Sep 07 09:24:40 ipa6.ipa.example.com krb5kdc[207732](info): closing down fd
11
If you want the full logs from the servers and/or the full debug output
from the client just let me know and I'll collect them up and mail them
to you.
--
Sam Morris <https://robots.org.uk/>
PGP: rsa4096/CAAA AA1A CA69 A83A 892B 1855 D20B 4202 5CDA 27B9
--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland
_______________________________________________
FreeIPA-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedorahosted.org/archives/list/[email protected]
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue