Bug 1790791

Summary: update-crypto-policies manual is confusing about /etc/crypto-policies/local.d directory
Product: Red Hat Enterprise Linux 8 Reporter: Masahiro Matsuya <mmatsuya>
Component: crypto-policiesAssignee: Tomas Mraz <tmraz>
Status: CLOSED ERRATA QA Contact: Ondrej Moriš <omoris>
Severity: low Docs Contact:
Priority: low    
Version: 8.1CC: nmavrogi, omoris
Target Milestone: rcKeywords: EasyFix, ManPageChange, Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: crypto-policies-20200527-1.git0a29b28.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:58:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Masahiro Matsuya 2020-01-14 08:22:41 UTC
Description of problem:

This was reported by a customer.

man update-crypto-policies includes:
       --------------------------------------------------------------
       /etc/crypto-policies/local.d
           Contains additional files to be appended to the generated policy
           files. The files present must adhere to $app-XXX.config file naming,
           where XXX is any arbitrary identifier. For example, to append a line
           to GnuTLS' generated policy, create a gnutls-extra-line.config
           file in local.d. This will be appended to the generated gnutls.config
           during update-crypto-policies. These overrides, are only functional
           for the gnutls, bind, java (openjdk) and krb5 back-ends.
       --------------------------------------------------------------

The last sentence "These overrides, are only functional for the gnutls, bind, java (openjdk) and krb5 back-ends" is not correct. update-crypto-policies command uses the policy files in /etc/crypto-policies/local.d to override the default policy for any back-end, not only the listed back-ends.

The customer thought that it's not overridden for sshd upon this manual, but it's actually overridden by /etc/crypto-policies/local.d/opensshserver-ospp.config (generated by oscap).

Version-Release number of selected component (if applicable):

Red Hat Enterprise Linux 8.1

How reproducible:
Always

Steps to Reproduce:
1. man update-crypto-policies

Actual results:

 manual includes:
     These overrides, are only functional for the gnutls, bind, java (openjdk) and krb5 back-ends.

Expected results:

 manual doesn't includes the sentence, which is not true.

Comment 2 Tomas Mraz 2020-01-14 10:54:38 UTC
The thing is the overrides are not effective for all the backends - for example the openssl (not opensslconfig) backend does not allow for such configuration override. The same for openssh server backend. But it is true that the overrides can be applied to some additional backends rather than just to the mentioned ones.

Comment 3 Tomas Mraz 2020-01-14 11:26:06 UTC
Actually to be more precise the openssh server backend will just ignore the line from the original policy. Which sometimes might be useful, sometimes not.

Comment 5 Tomas Mraz 2020-01-15 07:45:22 UTC
The last sentence of the paragraph will be rewritten to:

 Please note that because the mechanism just appends
 a line to the back-end configuration the effect varies among the back-ends.
 For some of the back-ends the override fully replaces the original policy
 and for other back-ends the override might not be effective at all.

Comment 6 Masahiro Matsuya 2020-01-15 09:05:50 UTC
That looks great. Thank you!

Comment 10 Ondrej Moriš 2020-06-17 14:06:34 UTC
Successfully verified.

NEW (crypto-policies-20200527-4.git63fc906.el8)
===============================================
/etc/crypto-policies/local.d
           Contains additional files to be appended to the generated policy files. The files present must adhere to
           $app-XXX.config file naming, where XXX is any arbitrary identifier. For example, to append a line to
           GnuTLS' generated policy, create a gnutls-extra-line.config file in local.d. This will be appended to the
           generated gnutls.config during update-crypto-policies. Please note that because the mechanism just
           appends a line to the back-end configuration the effect varies among the back-ends. For some of the
           back-ends the override fully replaces the original policy and for other back-ends the override might not
           be effective at all.

Comment 13 errata-xmlrpc 2020-11-04 01:58:27 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (crypto-policies bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4536