Michael Ströder wrote:
> Quanah Gibson-Mount wrote:
>> I think it would be wise to update OpenLDAP to a different default for userPassword.
>
> Yes!
>
>> We currently have the Contrib SHA2 module,
>
> SHA-2 hashes with one round are also way too fast to be a good password hash algorithm.
>
>> It may be time to move the SHA2 module into core,
>
> Yes, but there should be something stronger.
>
> How about moving ./contrib/slapd-modules/passwd/pbkdf2 to core?
Yeah at this point we can probably bypass SHA2 and just go straight to SHA3.
There's a lot of crypto software out there already using it. pbkdf2 is still
using SHA2.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
The general weakness of SHA has been understood for some time, although
progress advances on finding collisions (Such as
<https://security.googleblog.com/2017/02/announcing-first-sha1-collision.htm…>).
I think it would be wise to update OpenLDAP to a different default for
userPassword. We currently have the Contrib SHA2 module, and there's a
nice bcrypt(*) module on Github (I asked the author if they would be
willing to contribute it, but they seem to have gone silent).
It may be time to move the SHA2 module into core, but there has been some
discussion of the limitations of the current SHA2 module in the past that
would likely need addressing.
What do other folks think?
* <https://github.com/wclarie/openldap-bcrypt/issues/1>
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
The patch for ITS8529 has been pushed to OpenLDAP master. Generally I'd
push something like this to RE24 as well, except for the fact that it
results in a behavior change vs prior releases (at least if OpenLDAP is
linked to OpenSSL).
On the plus side, the patch reveals potential misconfigurations that were
previously not noted.
On the minus side, it could affect someone's existing deployment.
(Although that deployment would clearly be in error).
I personally think it would be best to apply it to RE24, particularly given
that it has security implications. I know Michael Stroeder already noted
he would like to see it in RE24 as well.
Does anyone have some good concrete reasons why it should not go into RE24?
Thanks,
Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
--On Friday, February 03, 2017 1:53 PM +0100 Dieter Klünter
<dieter(a)dkluenter.de> wrote:
> Am Wed, 01 Feb 2017 13:14:56 -0800
> schrieb Quanah Gibson-Mount <quanah(a)symas.com>:
>
>> For some reason, test061 routinely fails for back-mdb in HEAD. I've
>> not had luck reproducing the issue with other backends or in RE24.
>>
>> To eliminate it being a replication delay, I increased the for loop
>> to give 55 seconds time (1 through 10 seconds) chance to replicate.
>> Most of the time the test fails in fewer than 50 iterations (most
>> often fewer than 20), however one time it took as long as 85
>> iterations before failing.
> [...]
>
> I now have intensively tested this issue and found occurrences in all
> branches. Just some examples:
>
> ERROR: Entry 21 not replicated to ldap://localhost:9012/! (32)!
> Error found after 1 of 1 iterations
> Failed after 15 of 50 iterations
> [dieter@pink tests (OPENLDAP_REL_ENG_2_4=)]$
>
> ERROR: Entry 21 not replicated to ldap://localhost:9012/! (32)!
> Error found after 1 of 1 iterations
> Failed after 6 of 50 iterations
> [dieter@pink tests (OPENLDAP_REL_ENG_2_5=)]$
>
> I did about 100 test runs looping 50 times. In average every 7th
> testrun failed.
Interesting... I've had > 1000 passes and 0 failures in RE24.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
--On Tuesday, January 31, 2017 5:07 PM +0100 Michael Ströder
<michael(a)stroeder.com> wrote:
> Hmm, up to now I thought setting LDAP_TLS_CACERT and friends overrides
> whatever is set in ldap.conf or .ldaprc.
Variables do override, however, I have no clue as to *what* things may be
set somewhere. If I were to unset LDAPNOINIT, any test is subject to
anything I don't specifically override that the user, system admin, etc,
may have set.
> And I also thought LDAPNOINIT disables all defaults from config files.
It disables everything (config files, environment variables, etc).
Thus the following files and variables are read, in order:
variable $LDAPNOINIT, and if that is not set:
system file /usr/local/etc/openldap/ldap.conf,
user files $HOME/ldaprc, $HOME/.ldaprc, ./ldaprc,
system file $LDAPCONF,
user files $HOME/$LDAPRC, $HOME/.$LDAPRC, ./$LDAPRC,
variables $LDAP<uppercase option name>.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
--On Tuesday, January 31, 2017 4:24 PM +0100 Michael Ströder
<michael(a)stroeder.com> wrote:
> Quanah Gibson-Mount wrote:
>> In working on creating a TLS testsuite for OpenLDAP, a glaring omission
>> in the abilities of the command line tools quickly became apparent.
>> Specifically, the inability to set any TLS related options.
>
> Just out of curiosity:
> Wasn't using the env vars not enough in the test suite's shell scripts?
No. I have no way of knowing what option(s)/conf files may exist in the
environment of the user building OpenLDAP. We set LDAPNOINIT in the test
suite to avoid this problem for the non-TLS portion, but there's no ability
to do anything TLS related at that point w/o such a patch.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
In working on creating a TLS testsuite for OpenLDAP, a glaring omission in
the abilities of the command line tools quickly became apparent.
Specifically, the inability to set any TLS related options. I've written
up a patch to allow setting various options via "-o", and tested it in my
environment, where it is behaving as desired.
Specifically, any option passed in via -o /overrides/ any LDAP* environment
variable, any ~/.ldaprc, any system ldap.conf, etc. It also allows the
ldap* utilities to work with TLS when LDAPNOINIT is set in the utility
environment.
Attached is the patch for general review. There are likely more options
that would be useful to add, but this gives a basic framework for what I
need initially in the TLS test suite.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
For this testing call, we particularly need folks to test OpenLDAP with
startTLS/LDAPS when compiled against OpenSSL (both pre 1.1 series and with
the 1.1 series). There is currenly nothing in the test suite that covers
encrypted connections (Although it's on my todo list). To build against
OpenSSL 1.1 may also require cyrus-sasl HEAD out of the cyrus-sasl GIT
repository, depending on your build options as the current cyrus-sasl
release does not support the OpenSSL 1.1 series. It can be found at
<https://github.com/cyrusimap/cyrus-sasl>. If you build with GSSAPI and
use Heimdal, you will also need the Heimdal 7.1.0 or later release (as that
is where OpenSSL 1.1 support was added). It can be obtained from
<http://h5l.org/>.
Also new with this release is the ability to run "make its" in the tests/
directory. This will run a specific set of tests around past bugs to
ensure there are no regressions. While I've tested this with modular
openldap builds, it has not been tested with the modules and backends built
into slapd, so there could be some issues in that scenario.
OpenLDAP 2.4.45 Engineering
Added slapd support for OpenSSL 1.1.0 series (ITS#8353, ITS#8533)
Fixed libldap handling of Diffie-Hellman parameters (ITS#7506)
Fixed libldap GnuTLS use after free (ITS#8385)
Fixed slapd sasl SEGV rebind in same session (ITS#8568)
Fixed slapd syncrepl filter handling (ITS#8413)
Fixed slapd syncrepl infinite looping mods with delta-sync MMR
(ITS#8432)
Fixed slapd callback struct so older modules without writewait
should function.
Custom modules may need to be updated for sc_writewait
callback (ITS#8435)
Fixed slapd-mdb so it passes ITS6794 regression test (ITS#6794)
Fixed slapd-meta uninitialized diagnostic message (ITS#8442)
Fixed slapo-accesslog to honor pauses during purge for cn=config
update (ITS#8423)
Fixed slapo-relay to correctly initialize sc_writewait (ITS#8428)
Build Environment
Added test065 for proxyauthz (ITS#8571)
Fix test008 to be portable (ITS#8414)
Fix its4336 regression test (ITS#8534)
Fix its4337 regression test (ITS#8535)
Fix regression tests to execute on all backends (ITS#8539)
Contrib
Added slapo-autogroup(5) man page (ITS#8569)
Added passwd missing conversion scripts for apr1 (ITS#6826)
Fixed contrib modules where the writewait callback was not
correctly initialized (ITS#8435)
Fixed smbk5pwd to build with newer OpenSSL releases
(ITS#8525)
Documentation
admin24 fixed tls_cipher_suite bindconf option (ITS#8099)
admin24 fixed typo cn=config to be slapd.d (ITS#8449)
Fixed slapd-config(5), slapd.conf(5) clarification on
interval keyword for refreshAndPersist (ITS#8538)
Fixed slapo-ppolicy(5) to clearly note rootdn requirement
(ITS#8565)
Fixed various minor grammar issues in the man pages
(ITS#8544)
LMDB 0.9.20 Release Engineering
Fix mdb_load with escaped plaintext (ITS#8558)
Fix mdb_cursor_last / mdb_put interaction (ITS#8557)
LMDB 0.9.19 Release (2016/12/28)
Fix mdb_env_cwalk cursor init (ITS#8424)
Fix robust mutexes on Solaris 10/11 (ITS#8339)
Tweak Win32 error message buffer
Fix MDB_GET_BOTH on non-dup record (ITS#8393)
Optimize mdb_drop
Fix xcursors after mdb_cursor_del (ITS#8406)
Fix MDB_NEXT_DUP after mdb_cursor_del (ITS#8412)
Fix mdb_cursor_put resetting C_EOF (ITS#8489)
Fix mdb_env_copyfd2 to return EPIPE on SIGPIPE (ITS#8504)
Fix mdb_env_copy with empty DB (ITS#8209)
Fix behaviors with fork (ITS#8505)
Fix mdb_dbi_open with mainDB cursors (ITS#8542)
Fix robust mutexes on kFreeBSD (ITS#8554)
Fix utf8_to_utf16 error checks (ITS#7992)
Fix F_NOCACHE on MacOS, error is non-fatal (ITS#7682)
Build
Make shared lib suffix overridable (ITS#8481)
Documentation
Cleanup doxygen nits
Note reserved vs actual mem/disk usage
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>