Bug 1768501

Summary: [RFE]Requirement is to end up with a computer certificate that was issued via the Active Directory auto-enrollment policy automatically via the computer's own kerberos credentials, with no manual authencitaion/approval steps for issuance to any machine
Product: Red Hat Enterprise Linux 8 Reporter: Abhijit Roy <abroy>
Component: certmongerAssignee: Rob Crittenden <rcritten>
Status: CLOSED MIGRATED QA Contact: ipa-qe <ipa-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.4CC: abokovoy, apeddire, dchen, dsirrine, fedoraproject, grajaiya, lslebodn, mzidek, pbrezina, rcritten, tscherf
Target Milestone: rcKeywords: FutureFeature, MigratedToJIRA, Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-18 18:02:51 UTC Type: Story
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Abhijit Roy 2019-11-04 15:41:20 UTC
1.. Why does the customer need this? (List the business requirements here)  

- We need automatically-issued server certificates for use in 802.1x network authentication for wired and wireless network connections.

- These certs must not require manual action, and must be issued based on the proof-of-identity by Kerberos Keytab so that only domain-joined computers can receive these auto-generated certificates.

- the certs must automatically renew before expiration to prevent machines from getting kicked off the network

      
    2. How would the customer like to achieve this? (List the functional requirements here)  

- best case is using the Microsoft RPC protocol to request the certificate, the same way Centrify and MacOS do it.

- second best would be to leverage the CEP/CES protocols to acquire this

- the getcert already does this with other providers, so that seems the logical place to add the support


    3. For each functional requirement listed, specify how Red Hat and the customer can test to confirm the requirement is successfully implemented.  

a sequence of `getcert request` then `getcert list` to verify the cert was issued.

The end-to-end test would be to confirm that a certificate issued in such a manner would be accepted by the 802.1x authenticator.



Additional info:

Comment 1 Alexander Bokovoy 2019-11-04 16:01:20 UTC
This request lacks details that would help to understand scope and complexity of proposed solutions. Please provide details on what "Microsoft RPC protocol" is used to request the certificate. If you don't know what it is, please point to documentation where you read about "Microsoft RPC protocol" used by "Centrify and MacOS" to do it.

Which of MS-HCEP, MS-ICPR, MS-WCCE, MS-WSTEP, and/or MS-XCEP protocols is implied by that name?

Comment 2 Alexander Bokovoy 2019-11-04 16:02:03 UTC
The request is reall to certmonger, not SSSD.

Comment 3 Abhijit Roy 2019-11-04 16:11:58 UTC
Thanks for your reply Ab.

I will check which "Microsoft RPC protocol" is used to request the certificate.

Comment 4 Alexander Bokovoy 2019-11-04 16:29:31 UTC
Abhijit, please do not drop needinfo until you provided the information.

Comment 5 Abhijit Roy 2019-11-04 16:37:11 UTC
Alexander,

"it turns out that only a single API call is really needed to make the Kerberos authenticated call: CertServerRequest. In order to call that single API, you had to have a properly defined interface that can be compiled with a dce compiler."

https://twocanoes.com/ad-certificate-profile-got-macos-apple/

Comment 6 Abhijit Roy 2019-11-04 16:39:02 UTC
Hi Ab,

You can find more details.
on https://blogs.technet.microsoft.com/jeffbutte/2016/12/16/236/.
This page mentioned a tool call 'sscep' which is available in Fedora and EPEL but not in RHEL.

Comment 7 James Cassell 2019-11-04 16:50:55 UTC
(In reply to Abhijit Roy from comment #6)
> Hi Ab,
> 
> You can find more details.
> on https://blogs.technet.microsoft.com/jeffbutte/2016/12/16/236/.
> This page mentioned a tool call 'sscep' which is available in Fedora and
> EPEL but not in RHEL.

AFAIK, the scep protocol does not support Kerberos authentication.  It also requires setting up multiple additional services (including web services) on the Active Directory side.

Comment 8 Abhijit Roy 2019-11-04 16:53:38 UTC
Ab,

What about this?

"it turns out that only a single API call is really needed to make the Kerberos authenticated call: CertServerRequest. In order to call that single API, you had to have a properly defined interface that can be compiled with a dce compiler."

https://twocanoes.com/ad-certificate-profile-got-macos-apple/

Comment 9 James Cassell 2019-11-04 17:02:55 UTC
CertServerRequest is described in the '[MS-ICPR]' document: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-icpr/9b8ed605-6b00-41d1-9a2a-9897e40678fc

(that document references the '[MS-WCCE]' document, but may not be necessary: https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wcce/446a0fca-7f27-4436-965d-191635518466 )

MS-ICPR is the protocol under discussion for the request in this ticket.

Comment 10 Alexander Bokovoy 2019-11-04 17:19:21 UTC
Thanks. 

MS-ICPR still needs the same infrastructure MS-WCCE would build, just the supported call is limited to a single one. It is relatively straightforward to create a tool that communicates with MS-ICPR server component using Samba's PIDL compiler and NDR libraries.

I'd leave to Rob to decide what to do and how to do it.

Comment 15 Abhinay Reddy Peddireddy 2022-01-19 02:50:42 UTC
Hello, 

May I know for which version is this targeted ? Any ETA ? 

Thanks

Comment 23 RHEL Program Management 2023-09-18 18:01:04 UTC
Issue migration from Bugzilla to Jira is in process at this time. This will be the last message in Jira copied from the Bugzilla bug.

Comment 24 RHEL Program Management 2023-09-18 18:02:51 UTC
This BZ has been automatically migrated to the issues.redhat.com Red Hat Issue Tracker. All future work related to this report will be managed there.

Due to differences in account names between systems, some fields were not replicated.  Be sure to add yourself to Jira issue's "Watchers" field to continue receiving updates and add others to the "Need Info From" field to continue requesting information.

To find the migrated issue, look in the "Links" section for a direct link to the new issue location. The issue key will have an icon of 2 footprints next to it, and begin with "RHEL-" followed by an integer.  You can also find this issue by visiting https://issues.redhat.com/issues/?jql= and searching the "Bugzilla Bug" field for this BZ's number, e.g. a search like:

"Bugzilla Bug" = 1234567

In the event you have trouble locating or viewing this issue, you can file an issue by sending mail to rh-issues. You can also visit https://access.redhat.com/articles/7032570 for general account information.