pgreco / rpms / ipa

Forked from forks/areguera/rpms/ipa 4 years ago
Clone

Blame SOURCES/0001-revert-minssf-defaults.patch

57b990
From 8177734d3b6c141c251c74ee29d223a7d414ab13 Mon Sep 17 00:00:00 2001
57b990
From: Alexander Bokovoy <abokovoy@redhat.com>
57b990
Date: Wed, 1 May 2019 21:25:31 +0300
57b990
Subject: [PATCH] Revert "Require a minimum SASL security factor of 56"
57b990
57b990
This reverts commit 350954589774499d99bf87cb5631c664bb0707c4.
57b990
---
57b990
 install/share/Makefile.am       |  1 -
57b990
 install/share/min-ssf.ldif      | 14 --------------
57b990
 ipalib/constants.py             |  3 ---
57b990
 ipapython/ipaldap.py            | 17 ++---------------
57b990
 ipaserver/install/dsinstance.py |  5 -----
57b990
 5 files changed, 2 insertions(+), 38 deletions(-)
57b990
 delete mode 100644 install/share/min-ssf.ldif
57b990
57b990
diff --git a/install/share/Makefile.am b/install/share/Makefile.am
57b990
index be83bdf75..8d039d95c 100644
57b990
--- a/install/share/Makefile.am
57b990
+++ b/install/share/Makefile.am
57b990
@@ -94,7 +94,6 @@ dist_app_DATA =				\
57b990
 	ipa-kdc-proxy.conf.template	\
57b990
 	ipa-pki-proxy.conf.template	\
57b990
 	ipa-rewrite.conf.template	\
57b990
-	min-ssf.ldif			\
57b990
 	ipaca_default.ini		\
57b990
 	ipaca_customize.ini		\
57b990
 	ipaca_softhsm2.ini		\
57b990
diff --git a/install/share/min-ssf.ldif b/install/share/min-ssf.ldif
57b990
deleted file mode 100644
57b990
index 1c2566f84..000000000
57b990
--- a/install/share/min-ssf.ldif
57b990
+++ /dev/null
57b990
@@ -1,14 +0,0 @@
57b990
-# config
57b990
-# pretend SSF for LDAPI connections
57b990
-# nsslapd-localssf must be equal to or greater than nsslapd-minssf
57b990
-dn: cn=config
57b990
-changetype: modify
57b990
-replace: nsslapd-localssf
57b990
-nsslapd-localssf: 256
57b990
-
57b990
-# minimum security strength factor for SASL and TLS
57b990
-# 56 is considered weak, but some old clients announce wrong SSF.
57b990
-dn: cn=config
57b990
-changetype: modify
57b990
-replace: nsslapd-minssf
57b990
-nsslapd-minssf: 56
57b990
diff --git a/ipalib/constants.py b/ipalib/constants.py
57b990
index bcf6f3373..c22dd26ae 100644
57b990
--- a/ipalib/constants.py
57b990
+++ b/ipalib/constants.py
57b990
@@ -311,9 +311,6 @@ TLS_VERSIONS = [
57b990
 ]
57b990
 TLS_VERSION_MINIMAL = "tls1.0"
57b990
 
57b990
-# minimum SASL secure strength factor for LDAP connections
57b990
-# 56 provides backwards compatibility with old libraries.
57b990
-LDAP_SSF_MIN_THRESHOLD = 56
57b990
 
57b990
 # Use cache path
57b990
 USER_CACHE_PATH = (
57b990
diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py
57b990
index d9d67be1d..9ff443fe4 100644
57b990
--- a/ipapython/ipaldap.py
57b990
+++ b/ipapython/ipaldap.py
57b990
@@ -43,9 +43,7 @@ import six
57b990
 
57b990
 # pylint: disable=ipa-forbidden-import
57b990
 from ipalib import errors, x509, _
57b990
-from ipalib.constants import (
57b990
-    LDAP_GENERALIZED_TIME_FORMAT, LDAP_SSF_MIN_THRESHOLD
57b990
-)
57b990
+from ipalib.constants import LDAP_GENERALIZED_TIME_FORMAT
57b990
 # pylint: enable=ipa-forbidden-import
57b990
 from ipaplatform.paths import paths
57b990
 from ipapython.ipautil import format_netloc, CIDict
57b990
@@ -105,8 +103,7 @@ def realm_to_ldapi_uri(realm_name):
57b990
     return 'ldapi://' + ldapurl.ldapUrlEscape(socketname)
57b990
 
57b990
 
57b990
-def ldap_initialize(uri, cacertfile=None,
57b990
-                    ssf_min_threshold=LDAP_SSF_MIN_THRESHOLD):
57b990
+def ldap_initialize(uri, cacertfile=None):
57b990
     """Wrapper around ldap.initialize()
57b990
 
57b990
     The function undoes global and local ldap.conf settings that may cause
57b990
@@ -117,10 +114,6 @@ def ldap_initialize(uri, cacertfile=None,
57b990
       locations, also known as system-wide trust store.
57b990
     * Cert validation is enforced.
57b990
     * SSLv2 and SSLv3 are disabled.
57b990
-    * Require a minimum SASL security factor of 56. That level ensures
57b990
-      data integrity and confidentiality. Although at least AES128 is
57b990
-      enforced pretty much everywhere, 56 is required for backwards
57b990
-      compatibility with systems that announce wrong SSF.
57b990
     """
57b990
     conn = ldap.initialize(uri)
57b990
 
57b990
@@ -128,12 +121,6 @@ def ldap_initialize(uri, cacertfile=None,
57b990
     conn.set_option(ldap.OPT_X_SASL_NOCANON, ldap.OPT_ON)
57b990
 
57b990
     if not uri.startswith('ldapi://'):
57b990
-        # require a minimum SSF for TCP connections, but don't lower SSF_MIN
57b990
-        # if the current value is already larger.
57b990
-        cur_min_ssf = conn.get_option(ldap.OPT_X_SASL_SSF_MIN)
57b990
-        if cur_min_ssf < ssf_min_threshold:
57b990
-            conn.set_option(ldap.OPT_X_SASL_SSF_MIN, ssf_min_threshold)
57b990
-
57b990
         if cacertfile:
57b990
             if not os.path.isfile(cacertfile):
57b990
                 raise IOError(errno.ENOENT, cacertfile)
57b990
diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py
57b990
index 8240e3043..9f05db1db 100644
57b990
--- a/ipaserver/install/dsinstance.py
57b990
+++ b/ipaserver/install/dsinstance.py
57b990
@@ -324,8 +324,6 @@ class DsInstance(service.Service):
57b990
         else:
57b990
             self.step("importing CA certificates from LDAP",
57b990
                       self.__import_ca_certs)
57b990
-        # set min SSF after DS is configured for TLS
57b990
-        self.step("require minimal SSF", self.__min_ssf)
57b990
         self.step("restarting directory server", self.__restart_instance)
57b990
 
57b990
         self.start_creation()
57b990
@@ -1243,9 +1241,6 @@ class DsInstance(service.Service):
57b990
             dm_password=self.dm_password
57b990
         )
57b990
 
57b990
-    def __min_ssf(self):
57b990
-        self._ldap_mod("min-ssf.ldif")
57b990
-
57b990
     def __add_sudo_binduser(self):
57b990
         self._ldap_mod("sudobind.ldif", self.sub_dict)
57b990
 
57b990
-- 
57b990
2.21.0
57b990