1. DEFAULT policy has the same MACs as before, ETM and non-ETM (and implicit, but that's not controlled by macs option)
2. FIPS:OSPP uses etm@ssh = DISABLE_ETM has only non-ETM macs as before (and implicit)
3. specifying etm@ssh = DISABLE_NON_ETM and has ETM macs (and implicit)
4. ssh_etm = 1 works as before and outputs a deprecation warning
5. ssh_etm = 0 works as before and outputs a deprecation warning
6. it's documented in the manpages that the option is only meant to be used with the SSH scope
1. DEFAULT policy has the same MACs as before, ETM and non-ETM (and implicit, but that's not controlled by macs option)
2. FIPS:OSPP uses etm@ssh = DISABLE_ETM has only non-ETM macs as before (and implicit)
3. specifying etm@ssh = DISABLE_NON_ETM and has ETM macs (and implicit)
4. ssh_etm = 1 works as before and outputs a deprecation warning
5. ssh_etm = 0 works as before and outputs a deprecation warning
6. it's documented in the manpages that the option is only meant to be used with the SSH scope
.Finer control over MACs in SSH with `crypto-policies`
You can now set additional options for message authentication codes (MACs) for the SSH protocol in the system-wide cryptographic policies (`crypto-policies`). With this update, the `crypto-policies` option `ssh_etm` has been converted into a tri-state `etm@SSH` option. The previous `ssh_etm` option has been deprecated.
You can now set `ssh_etm` to one of the following values:
`ANY`:: Allows both `encrypt-then-mac` and `encrypt-and-mac` MACs.
`DISABLE_ETM`:: Disallows `encrypt-then-mac` MACs.
`DISABLE_NON_ETM`:: Disallows MACs that do not use `encrypt-then-mac`.
Note that ciphers that use implicit MACs are always allowed because they use authenticated encryption.
.Finer control over MACs in SSH with `crypto-policies`
You can now set additional options for message authentication codes (MACs) for the SSH protocol in the system-wide cryptographic policies (`crypto-policies`). With this update, the `crypto-policies` option `ssh_etm` has been converted into a tri-state ` etm@SSH ` option. The previous `ssh_etm` option has been deprecated.
You can now set `ssh_etm` to one of the following values:
`ANY`:: Allows both `encrypt-then-mac` and `encrypt-and-mac` MACs.
`DISABLE_ETM`:: Disallows `encrypt-then-mac` MACs.
`DISABLE_NON_ETM`:: Disallows MACs that do not use `encrypt-then-mac`.
Note that ciphers that use implicit MACs are always allowed because they use authenticated encryption.
Errata Tool
added a comment - Since the problem described in this issue should be resolved in a recent advisory, it has been closed.
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/RHEA-2024:2400
Hi asosedki@redhat.com, I adjusted the doctext for the release note. Please review if it's accurate.
Check specifically the last sentence, I changed the word order to make it easier to read, but there might be an unintended change in meaning.
Jan Fiala
added a comment - Hi asosedki@redhat.com , I adjusted the doctext for the release note. Please review if it's accurate.
Check specifically the last sentence, I changed the word order to make it easier to read, but there might be an unintended change in meaning.
4. ssh_etm = 1 works as before and outputs a deprecation warning
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 4. ssh_etm = 1 works as before and outputs a deprecation warning
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 14:45:50 ] :: [ PASS ] :: Command 'update-crypto-policies --set DEFAULT:SSH_ETM_1' (Expected 0, got 0)
:: [ 14:45:50 ] :: [ PASS ] :: File '/var/tmp/rlRun_LOG.5FpHmtJM' should contain 'PolicySyntaxDeprecationWarning: Option ssh_etm = 1 is deprecated'
:: [ 14:45:50 ] :: [ PASS ] :: File '/var/tmp/rlRun_LOG.5FpHmtJM' should contain 'please rewrite your rules using etm@ssh = any;'
:: [ 14:45:50 ] :: [ PASS ] :: File '/var/tmp/rlRun_LOG.5FpHmtJM' should contain 'be advised that it is not always a 1-1 replacement'
:: [ 14:45:50 ] :: [ PASS ] :: libssh (Expected 0, got 0)
:: [ 14:45:50 ] :: [ PASS ] :: openssl client (Expected 0, got 0)
:: [ 14:45:50 ] :: [ PASS ] :: openssh server (Expected 0, got 0)
:: [ 14:45:50 ] :: [ PASS ] :: Command 'update-crypto-policies --set DEFAULT' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 2s
:: Assertions: 8 good, 0 bad
:: RESULT: PASS (4. ssh_etm = 1 works as before and outputs a deprecation warning)
5. ssh_etm = 0 works as before and outputs a deprecation warning
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 5. ssh_etm = 0 works as before and outputs a deprecation warning
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [ 14:45:53 ] :: [ PASS ] :: Command 'update-crypto-policies --set DEFAULT:SSH_ETM_0' (Expected 0, got 0)
:: [ 14:45:53 ] :: [ PASS ] :: File '/var/tmp/rlRun_LOG.gCgnMXl8' should contain 'PolicySyntaxDeprecationWarning: Option ssh_etm = 0 is deprecated'
:: [ 14:45:53 ] :: [ PASS ] :: File '/var/tmp/rlRun_LOG.gCgnMXl8' should contain 'please rewrite your rules using etm@ssh = DISABLE_ETM;'
:: [ 14:45:53 ] :: [ PASS ] :: File '/var/tmp/rlRun_LOG.gCgnMXl8' should contain 'be advised that it is not always a 1-1 replacement'
:: [ 14:45:53 ] :: [ PASS ] :: libssh (Expected 0, got 0)
:: [ 14:45:53 ] :: [ PASS ] :: openssl client (Expected 0, got 0)
:: [ 14:45:53 ] :: [ PASS ] :: openssh server (Expected 0, got 0)
:: [ 14:45:53 ] :: [ PASS ] :: Command 'update-crypto-policies --set DEFAULT' (Expected 0, got 0)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Duration: 1s
:: Assertions: 8 good, 0 bad
:: RESULT: PASS (5. ssh_etm = 0 works as before and outputs a deprecation warning)
6. it's documented in the manpages that the option is only meant to be used with the SSH scope
# man crypto-policies
...
etm: ANY/DISABLE_ETM/DISABLE_NON_ETM allows both EtM (Encrypt-then-Mac) and E&M (Encrypt-and-Mac), disables EtM, and disables E&M respectively.
(Currently only implemented for SSH, do not use without @SSH scope.)
Update from upstream (scoped ssh_etm, deprecation warnings)
gitlab-bot
added a comment - Clemens Lang mentioned this issue in a merge request of Red Hat / centos-stream / rpms / crypto-policies on branch c9s-rhel-15925-fixes : Update from upstream (scoped ssh_etm, deprecation warnings)
Update from upstream (chroot fips-mode-setup, etm@SSH)
gitlab-bot
added a comment - Clemens Lang mentioned this issue in a commit of Red Hat / centos-stream / rpms / crypto-policies on branch c10s : Update from upstream (chroot fips-mode-setup, etm@SSH)
Since the problem described in this issue should be resolved in a recent advisory, it has been closed.
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/RHEA-2024:2400