Please convert to use the system's crypto policy for SSL and TLS: https://fedoraproject.org/wiki/Packaging:CryptoPolicies If this program is compiled against gnutls, change the default priority string to be "@SYSTEM" or to use gnutls_set_default_priority(). If this program is compiled against openssl, and there is no default cipher list specified, you don't need to modify it. Otherwise replace the default cipher list with "PROFILE=SYSTEM". In both cases please verify that the application uses the system's crypto policies. If the package is already using the system-wide crypto policies, or it does not use SSL or TLS, no action is required, the bug can simply be closed.
Will be fixed by m2crypto removal.
This is an automated message. This Bugzilla report has been opened on a version which is not maintained anymore. Please check if this bug is still relevant in oVirt 3.5.4. If it's not relevant anymore, please close it (you may use EOL or CURRENT RELEASE resolution) If it's an RFE please update the version to 4.0 if still relevant.
At the moment we have a (relatively small) Engine-side performance regression that does not let us completely drop m2crypto on 3.6.
(In reply to Dan Kenigsberg from comment #4) > At the moment we have a (relatively small) Engine-side performance > regression that does not let us completely drop m2crypto on 3.6. And in 4.0?
(In reply to Yaniv Kaul from comment #5) > (In reply to Dan Kenigsberg from comment #4) > > At the moment we have a (relatively small) Engine-side performance > > regression that does not let us completely drop m2crypto on 3.6. > > And in 4.0? Recent tests were not clear whether the regression is still in place. I suggest to perform new set of tests (no code changes required).
(In reply to Piotr Kliczewski from comment #6) > (In reply to Yaniv Kaul from comment #5) > > (In reply to Dan Kenigsberg from comment #4) > > > At the moment we have a (relatively small) Engine-side performance > > > regression that does not let us completely drop m2crypto on 3.6. > > > > And in 4.0? > > Recent tests were not clear whether the regression is still in place. I > suggest to perform new set of tests (no code changes required). Do we feel comfortable removing m2crypto in 4.0?
It should not take a lot of time to remove it but we would need to make sure that we are as fast with standard ssl module.
will it be verified and removed in 4.0 scope? if not, please update the target milestone and flags.
Let's target 4.0 and see how we progress with verification.
Moving from 4.0 alpha to 4.0 beta since 4.0 alpha has been already released and bug is not ON_QA.
oVirt 4.0 beta has been released, moving to RC milestone.
Piotr, what's the latest status here?
There was no work done to provide this functionality.
(In reply to Piotr Kliczewski from comment #15) > There was no work done to provide this functionality. Didn't you remove m2crypto? commit 6cc45394f688c0098f576d29f4623c1416e99299 Author: Piotr Kliczewski <piotr.kliczewski> Date: Tue Apr 25 16:31:56 2017 +0200 ssl: remove m2crypto
Please see comment #1. This BZ is not about which implementation we use but how it is configured. We want to use system's crypto policy to configure vdsm.
I don't see it being prioritized. Closing as wontfix.
Nikos, this page does mention Python. https://fedoraproject.org/wiki/Packaging:CryptoPolicies Do we have recommended configuration for Python?
Hari do you know that answer to the above? Do python applications need any additional settings to use the default crypto policies?
(In reply to Nikos Mavrogiannopoulos from comment #21) > Hari do you know that answer to the above? Do python applications need any > additional settings to use the default crypto policies? Hello Nikos. Python 3 already utilizes the system wide crypto policies in Fedora [0] and according to upstream [1]: Application are encouraged to use this default suite list. They are still free to override the default by calling SSLContext's set_ciphers() method. [0] https://src.fedoraproject.org/rpms/python3/c/969d51434e2479639d62c2b03fd51df7403eb722?branch=master [1] https://bugs.python.org/issue31429
So Nir, the point is that the application must not override the default set_ciphers(), unless requested by the user, in order to comply with the policies.
(In reply to Charalampos Stratakis from comment #22) > (In reply to Nikos Mavrogiannopoulos from comment #21) > > Hari do you know that answer to the above? Do python applications need any > > additional settings to use the default crypto policies? > Python 3 already utilizes the system wide crypto policies in Fedora ... What about 2.7? it seems we have no integration with system wide policies. From Fedora 28, python2-2.7.14-15.fc28.x86_64: # Disable weak or insecure ciphers by default # (OpenSSL's default setting is 'DEFAULT:!aNULL:!eNULL') # Enable a better set of ciphers by default # This list has been explicitly chosen to: # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) # * Prefer ECDHE over DHE for better performance # * Prefer AEAD over CBC for better performance and security # * Prefer AES-GCM over ChaCha20 because most platforms have AES-NI # (ChaCha20 needs OpenSSL 1.1.0 or patched 1.0.2) # * Prefer any AES-GCM and ChaCha20 over any AES-CBC for better # performance and security # * Then Use HIGH cipher suites as a fallback # * Disable NULL authentication, NULL encryption, 3DES and MD5 MACs # for security reasons _DEFAULT_CIPHERS = ( 'ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:' 'ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:' '!aNULL:!eNULL:!MD5:!3DES' ) # Restricted and more secure ciphers for the server side # This list has been explicitly chosen to: # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) # * Prefer ECDHE over DHE for better performance # * Prefer AEAD over CBC for better performance and security # * Prefer AES-GCM over ChaCha20 because most platforms have AES-NI # * Prefer any AES-GCM and ChaCha20 over any AES-CBC for better # performance and security # * Then Use HIGH cipher suites as a fallback # * Disable NULL authentication, NULL encryption, MD5 MACs, DSS, RC4, and # 3DES for security reasons _RESTRICTED_SERVER_CIPHERS = ( 'ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:' 'ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:' '!aNULL:!eNULL:!MD5:!DSS:!RC4:!3DES' ) From RHEL 7.5, python-2.7.5-68.el7.x86_64 # Disable weak or insecure ciphers by default # (OpenSSL's default setting is 'DEFAULT:!aNULL:!eNULL') # Enable a better set of ciphers by default # This list has been explicitly chosen to: # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) # * Prefer ECDHE over DHE for better performance # * Prefer any AES-GCM over any AES-CBC for better performance and security # * Then Use HIGH cipher suites as a fallback # * Then Use 3DES as fallback which is secure but slow # * Finally use RC4 as a fallback which is problematic but needed for # compatibility some times. # * Disable NULL authentication, NULL encryption, and MD5 MACs for security # reasons _DEFAULT_CIPHERS = ( 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:' 'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:ECDH+RC4:' 'DH+RC4:RSA+RC4:!aNULL:!eNULL:!MD5' ) # Restricted and more secure ciphers for the server side # This list has been explicitly chosen to: # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) # * Prefer ECDHE over DHE for better performance # * Prefer any AES-GCM over any AES-CBC for better performance and security # * Then Use HIGH cipher suites as a fallback # * Then Use 3DES as fallback which is secure but slow # * Disable NULL authentication, NULL encryption, MD5 MACs, DSS, and RC4 for # security reasons _RESTRICTED_SERVER_CIPHERS = ( 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:' 'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:!aNULL:' '!eNULL:!MD5:!DSS:!RC4' )
(In reply to Nir Soffer from comment #24) > (In reply to Charalampos Stratakis from comment #22) > > (In reply to Nikos Mavrogiannopoulos from comment #21) > > > Hari do you know that answer to the above? Do python applications need any > > > additional settings to use the default crypto policies? > > Python 3 already utilizes the system wide crypto policies in Fedora > ... > > What about 2.7? it seems we have no integration with system wide policies. > > From Fedora 28, python2-2.7.14-15.fc28.x86_64: > > # Disable weak or insecure ciphers by default > # (OpenSSL's default setting is 'DEFAULT:!aNULL:!eNULL') > # Enable a better set of ciphers by default > # This list has been explicitly chosen to: > # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) > # * Prefer ECDHE over DHE for better performance > # * Prefer AEAD over CBC for better performance and security > # * Prefer AES-GCM over ChaCha20 because most platforms have AES-NI > # (ChaCha20 needs OpenSSL 1.1.0 or patched 1.0.2) > # * Prefer any AES-GCM and ChaCha20 over any AES-CBC for better > # performance and security > # * Then Use HIGH cipher suites as a fallback > # * Disable NULL authentication, NULL encryption, 3DES and MD5 MACs > # for security reasons > _DEFAULT_CIPHERS = ( > 'ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:' > 'ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:' > '!aNULL:!eNULL:!MD5:!3DES' > ) > > # Restricted and more secure ciphers for the server side > # This list has been explicitly chosen to: > # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) > # * Prefer ECDHE over DHE for better performance > # * Prefer AEAD over CBC for better performance and security > # * Prefer AES-GCM over ChaCha20 because most platforms have AES-NI > # * Prefer any AES-GCM and ChaCha20 over any AES-CBC for better > # performance and security > # * Then Use HIGH cipher suites as a fallback > # * Disable NULL authentication, NULL encryption, MD5 MACs, DSS, RC4, and > # 3DES for security reasons > _RESTRICTED_SERVER_CIPHERS = ( > 'ECDH+AESGCM:ECDH+CHACHA20:DH+AESGCM:DH+CHACHA20:ECDH+AES256:DH+AES256:' > 'ECDH+AES128:DH+AES:ECDH+HIGH:DH+HIGH:RSA+AESGCM:RSA+AES:RSA+HIGH:' > '!aNULL:!eNULL:!MD5:!DSS:!RC4:!3DES' > ) > > From RHEL 7.5, python-2.7.5-68.el7.x86_64 > > # Disable weak or insecure ciphers by default > # (OpenSSL's default setting is 'DEFAULT:!aNULL:!eNULL') > # Enable a better set of ciphers by default > # This list has been explicitly chosen to: > # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) > # * Prefer ECDHE over DHE for better performance > # * Prefer any AES-GCM over any AES-CBC for better performance and security > # * Then Use HIGH cipher suites as a fallback > # * Then Use 3DES as fallback which is secure but slow > # * Finally use RC4 as a fallback which is problematic but needed for > # compatibility some times. > # * Disable NULL authentication, NULL encryption, and MD5 MACs for security > # reasons > _DEFAULT_CIPHERS = ( > > 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:' > > 'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:ECDH+RC4:' > 'DH+RC4:RSA+RC4:!aNULL:!eNULL:!MD5' > ) > > # Restricted and more secure ciphers for the server side > # This list has been explicitly chosen to: > # * Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE) > # * Prefer ECDHE over DHE for better performance > # * Prefer any AES-GCM over any AES-CBC for better performance and security > # * Then Use HIGH cipher suites as a fallback > # * Then Use 3DES as fallback which is secure but slow > # * Disable NULL authentication, NULL encryption, MD5 MACs, DSS, and RC4 > for > # security reasons > _RESTRICTED_SERVER_CIPHERS = ( > > 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:' > 'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:!aNULL:' > '!eNULL:!MD5:!DSS:!RC4' > ) Unfortunately python2 does not have any mechanism in place about that.
Note that this bug is about vdsm but we have more components that may need to be updated to use system policy: - ovirt-imageio-daemon - ovirt-hosted-engine-ha? - ovirt-vmconsole? - cockpit?
Verified in 4.4.0-0.33.master.el8ev
This bugzilla is included in oVirt 4.4.0 release, published on May 20th 2020. Since the problem described in this bug report should be resolved in oVirt 4.4.0 release, it has been closed with a resolution of CURRENT RELEASE. If the solution does not work for you, please open a new bug report.