cf17b7a ipaserver/dcerpc: use Samba-provided trust helper to establish trust

Authored and Committed by abbra 3 years ago
    ipaserver/dcerpc: use Samba-provided trust helper to establish trust
    
    When establishing trust to Active Directory forest, RC4 is used to
    encrypt trusted domain object credentials as an application-specific
    material in a secure channel based on AES session key.
    
    In FIPS mode it is not possible to use RC4 directly.
    
    Samba 4.14 and backports to 4.13 in Fedora 33+ and RHEL 8.4+ now
    provide a helper that wraps LSA RPC call CreateTrustedDomainEx2.
    This helper ensures that in FIPS mode we first check that LSA session
    key is AES before allowing RC4 use internally in Samba bindings. Thus,
    it becomes possible to establish trust to Active Directory forest in
    FIPS mode.
    
    Adopt FreeIPA code to use the helper provided by Samba when it is
    available. If neither the helper nor unprotected arcfour_encrypt utility
    is available from Samba bindings, fail import of the ipaserver.dcerpc
    module.
    
    Fixes: https://pagure.io/freeipa/issue/8655
    Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
    Reviewed-By: Rob Crittenden <rcritten@redhat.com>
    
        
file modified
+44 -22