Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: 'Introduction' added

Table of Contents

...

Introduction

...

LDAP

...

authentication for the JOC Cockpit relies on a connection between the LDAP server and the JOC Cockpit web services. It is likely to be desirable for this connection to be secured as it otherwise is vulnerable to, for example, a man-in-the-middle attack.

The LDAP server - web services connection can be secured using two commonly available protocols StartTLS and LDAPS.

Connection Content Encryption with StartTLS

StartTLS in an extension to the LDAP protocol which uses TLS protocol to encrypt communication. It works by establishing a normal - i.e. insecure - connection with the LDAP server before a handshake negotiation between the server and the web services is carried out. Here, the server sends its certificate to prove its identity before the secure connection is established. If a secure connection is not established, the connection will remain insecure and therefore vulnerable to man-in-the-middle attacks. StartTLS uses a secure port (e.g. 636) and a unsecured port (e.g. 389, the standard LDAP connection port).

Connection Encryption with LDAPS

LDAPS is a non-official protocol that in contrast with StartTLS only allows communication over a secure port such as 636. It establishes the secure connection before there is any communication with the LDAP serever. LDAPS generally provides protection against man-in-the-middle attacks and a higher level of security than StartTLS as it explicitly does not allow insecure LDAP connections.

Scope

  • The current article describes the configuration of StartTLS for use with the JOC Cockpit web services. Users withing to implement LDAPS with the JOC Cockpit should refer to specialist literature.

Prerequisites for StartTLS

...

  • The Java Keytools is installed with your Java JRE.
  • Your LDAP server is configured to use STARTTLS.
  • When using starttls your LDAP realm configuration in the shiro.ini configuration file contains:
    ldapRealm.useStartTls=true

...