AD-Integration

ad-integration

aktuelle “stable” Version: 0.9.9.9
development Version: 1.0-RC2

Diese Seiten beschreiben das WordPress-Plugin Active Directory Integration.

Warum?

Ich brauchte ein WordPress mit Active Directory Integration. Nichts leichter als das – dachte ich. Es wird doch bestimmt ein Plugin geben, dass es mir ermöglicht Benutzer gegebenüber einem Active Directory zu authentifizieren und am besten auch noch zu authorisieren. Mit drupal mache ich das schließlich auch. Ich habe dann auch tatsächlich ein entsprechendes Plugin gefunden: Active Directory Authentication von Jonathan Marc Bearak. Es ist ein tolles Plugin und nach kurzem herumspielen funktionierte es auch. Allerdings hatte ich ein riesiges Problem damit: Sicherheit! Und so musste ich dann selber ran.

Sicherheit

In Jonathans Plugin war eine verschlüsselte Kommunikation zwischen WordPress und dem AD Server nicht vorgesehen. Die benutzte adLDAP-Library unterstützt zwar LDAPS, aber das ganze ist sehr frickelig und LDAPS ist sowieso deprecated. Stattdessen sollte man START-TLS verwenden. Die Library unterstützt das allerdings nicht. Blöd! Also musste ich auch noch adLDAP anpassen. Wenn wir nun die Authentifizierung eines öffentlichen WordPress-Blogs mittels AD vornehmen, dann ist einer Brute-Force-Attacke Tür und Tor geöffnet. Somit habe ich eine Funktionalität implementiert, die dem einen Riegel vorschiebt. Wenn man nun noch HTTPS für das gesamte Blog oder zumindest den Login verwendet, können wir uns recht sicher sein, dass nichts schief geht.

Funktionalität

Active Directory Integration gestattet es WordPress Benutzer gegen eine Active Directory zu authentifizieren, authorisieren, sowie Benutzer automatisch in WordPress anzulegen und upzudaten. Das Plugin lässt sich sehr einfach installieren und konfigurieren. Einfach das Plugin aktivieren, Domain Controller eintragen und fertig! Allerdings kann man noch mehr damit anstellen.

  • Benutzer gegen einen oder mehrere AD Server authentifizieren,
  • Benutzer über Gruppenmitgliedschaft authorisieren,
  • Benutzer die sich am AD authentifizieren können in WordPress anlegen und updaten,
  • Zuweisung von WordPress-Rollen auf Basis von AD Gruppen,
  • sichere Kommunikation zum AD Server mittels TLS (empfohlen),
  • Benutzung von Nicht-Standard-Ports für die Kommunikation zu AD Servern,
  • Schutz vor Brute-Force-Attacken,
  • sendet E-Mails an Benutzer und/oder Administratoren, wenn eine Benutzerkonto durch den Brute-Force-Schutz gesperrt wurde,
  • Mehrsprachiges Backend (Englisch und Deutsch bereits enthalten),
  • “rückstandsloses” Deinstallieren des Plugins,
  • setzen des Anzeigenamens aus AD Attributen (sAMAccountName, displayName, description, SN, CN, givenName oder mail).

Anforderungen

  • WordPress ab 2.7.1 (nur getestet mit 2.7.1 und 2.8.x, wahrscheinlich funktioniert es aber ab 2.5.x)
  • PHP 5 (wegen Verwendung der aktuellen adLDAP-Library)
  • LDAP Unterstützung (auf dem Server muss die LDAP Unterstützung aktiviert sein)
  • OpenSSL Unterstützung (damit TLS funktioniert, muss die OpenSSL Unterstützung auf dem Server aktiviert sein)

Download

Das Plugin kann von wordpress.org heruntergeladen werden.

Installation

  1. Mit Administrationsrechten am WP anmelden, z.B. als Benutzer “admin”.
  2. Den Ordner active-directory-integration in den Plugins-Ordner hochladen, normalerweise ist das “wp-content/plugins”.
  3. Auf der Plugins-Seite das Plugin aktivieren.
  4. Unter “Einstellungen > Active Directory Integration” das Plugin konfigurieren und dabei möglichst TLS aktivieren.
  5. Aktivieren des Admin-SSL-Modes durch hinzufügen der Zeile
    define('FORCE_SSL_ADMIN', true);

    zur wp-config.php damit die Kennwörter nicht im Klartext über das Netz gehen.