stuvusIT.slapd-config

slapd-config

Diese Rolle erlaubt die Konfiguration des gesamten OLC eines OpenLDAP-Servers. Es wird vorausgesetzt, dass du bereits ein OLC erstellt hast und slapd läuft. Sieh dir dazu slapd-base an.

slapd-config wird die globale slapd-Konfiguration direkt in cn=config erstellen und globale Module wie mdb laden, falls diese nicht als statische Backends kompiliert sind. Danach werden das Überwachungs-Backend und ein MDB erstellt und konfiguriert. Das MDB unterstützt das Angeben von Overlays.

Anforderungen

Eine dpkg- oder pacman-basierte Linux-Distribution.

Variablen der Rolle

Es gibt einige rollenweite Variablen:

Name Standard/Erforderlich Beschreibung
slapd_enable_monitor true Lade das Überwachungsmodul (wenn erforderlich) und konfiguriere die Überwachungsdatenbank.
slapd_modules_path /usr/lib/ldap Pfad zu dynamischen Modulen, falls Backends benötigt werden, aber geladen werden müssen.
slapd_additional_modules Lade auch diese Module (neben MDB und Monitor), falls sie nicht kompiliert sind.
slapd_olc_rootdn_password :heavy_check_mark: Passwort zum Zugriff auf das OLC. Wird nicht automatisch von slapd-base exportiert.
slapd_monitor_rootdn_password :heavy_check_mark: Das rootdn-Passwort für die Überwachungsdatenbank. Wird automatisch gehasht.
slapd_mdb_rootdn_password :heavy_check_mark: Das rootdn-Passwort für die MDB-Datenbank. Wird automatisch gehasht.
slapd_schemas Array von Pfaden zu Schema-Dateien, die geladen werden sollen.
slapd_global_config Siehe Beschreibung Jede einzelne globale slapd-Konfigurationsoption. Siehe unten für alle Beschreibungen.
slapd_olc_config Siehe Beschreibung Jeder einzelne globale Konfigurationswert für die OLC-Datenbank.
slapd_monitor_config Siehe Beschreibung Jeder einzelne globale Konfigurationswert für die Überwachungsdatenbank.
slapd_mdb_config :heavy_check_mark: Jeder einzelne globale Konfigurationswert für die MDB-Datenbank.
slapd_mdb_overlays Siehe Beschreibung Jedes Modul für die MDB. Siehe Beispiel für ein Beispiel.

slapd-base Variablen

Du musst diese Variablen festlegen, wenn slapd-base nicht in einem vorherigen Schritt in diesem Playbook ausgeführt wurde. Alle Variablen sind erforderlich.

Name Standard/Erforderlich Beschreibung
slapd_run_dir :heavy_check_mark: Laufzeitverzeichnis für die Argumentdatei, PID-Datei und ldapi-Socket
slapd_ldapi_socket :heavy_check_mark: ldapi-Unix-Socket für die lokale slapd-Verwaltung
slapd_mdb_dir :heavy_check_mark: Verzeichnis, in dem die MDB gespeichert ist
slapd_olc_dir :heavy_check_mark: Pfad, in dem sich die LDIF-Dateien des OLC befinden
slapd_olc_rootdn :heavy_check_mark: Rootdn des OLC

Globale Konfigurationsoptionen

Die globale slapd OLC-Konfiguration ist in verschiedene Abschnitte unterteilt.

Allgemeine Konfiguration
Name Standard/Erforderlich Beschreibung
olcConfigFile Pfad zu einer zu ladenden Konfigurationsdatei. Wird durch das OLC ersetzt.
olcConfigDir {{slapd_olc_dir}} Pfad zu den OLC-Datenbankdateien.
olcArgsFile {{slapd_run_dir}}/slapd.args slapd schreibt seine Argumente in diese Datei.
olcPidFile {{slapd_run_dir}}/slapd.pid slapd schreibt seine PID in diese Datei.
olcGentleHUP FALSE Wenn TRUE, wird slapd bestehende Verbindungen bei SIGHUP nicht beenden, sondern auf deren Beendigung warten.
olcServerID 0 ID dieses Servers. Nur erforderlich bei Multi-Master-Replikation.
Sicherheitsrelevante Konfiguration
Name Standard/Erforderlich Beschreibung
olcAllows Eine Menge von Funktionen, die erlaubt sind.
olcDisallows Eine Menge von Funktionen, die nicht erlaubt sind.
olcRequires bind Eine Menge von Bedingungen, die erforderlich sind.
olcRestrict Eine Liste von Operationen, die eingeschränkt sind.
olcSecurity ssf=1 simple_bind=128 Geben Sie eine Menge von Sicherheitsstärkefaktoren an, die erforderlich sind.
olcAuthIDRewrite Wird verwendet, um einfache Benutzernamen in ein LDAP DN für Authentifizierungszwecke zu konvertieren.
olcAuthzRegexp Wird verwendet, um einfache Benutzernamen in ein LDAP DN für Authentifizierungszwecke zu konvertieren. Kann mehrfach angegeben werden und erfordert einen Neustart des Servers, um wirksam zu werden.
olcAuthzPolicy none Welche Regeln für die Proxy-Autorisierung verwendet werden sollen.
olcLocalSSF 300 Angenommene SSF für LDAPI-Verbindungen.
olcPasswordHash {SSHA} Eine oder mehrere Hash-Algorithmen, die für erweiterte Modifikationen zur Passwortänderung verwendet werden.
olcPasswordCryptSaltFormat %s Das Format des Salzes beim Hashen von Passwörtern mit crypt().
TLS-Konfiguration
Name Standard/Erforderlich Beschreibung
olcTLSCertificateFile Öffentliches Schlüssel-Datei für slapd.
olcTLSCertificateKeyFile Privater Schlüssel für slapd.
olcTLSRandFile Die Datei, aus der Zufallsdaten bezogen werden, wenn /dev/urandom nicht verfügbar ist.
olcTLSDHParamFile Datei mit Primzahlen für den Diffie-Hellman-Ephemeral-Schlüsselaustausch.
olcTLSCipherSuite Zu verwendende TLS-Chiffre-Suiten.
olcTLSProtocolMin Minimal erforderliche TLS-Version. Der Standardwert ist das höchstmögliche Niveau.
olcTLSCACertificateFile Pfad zu einer Datei, die alle vertrauenswürdigen Zertifizierungsstellen enthält.
olcTLSCACertificatePath Pfad zu einem Verzeichnis, das Dateien mit allen vertrauenswürdigen Zertifizierungsstellen enthält.
olcTLSCRLCheck none Ob die CRL des CA bei Verbindungen überprüft werden soll.
olcTLSVerifyClient never Wann die Identität des Clients überprüft werden soll.
Protokollierungskonfiguration
Name Standard/Erforderlich Beschreibung
olcLogLevel stats Logging-Level-Konfiguration für jedes Subsystem.
olcLogFile Datei, in die protokolliert wird. slapd wird immer in stderr protokollieren.
olcPluginLogFile Datei, in die das Protokoll der slapi-Plugin-Ausgabe geschrieben wird.
olcReplogFile Datei für das Replog, die von slurpd gelesen werden kann.
Threading-Konfiguration
Name Standard/Erforderlich Beschreibung
olcConcurrency Thread-Hinweis für das Betriebssystem. Unter Linux nicht verwendet.
olcListenerThreads 1 Anzahl der Threads zum Lauschen auf Verbindungen. 1 ist genug für bis zu 16 Kerne.
olcThreads 16 Anzahl der CPU-Threads für die Anforderungsverarbeitung.
olcToolThreads 1 Anzahl der CPU-Threads im Tool-Modus. Sollte die Anzahl der Kerne im System nicht überschreiten.
Zeitüberschreitungen und Grenzen
Name Standard/Erforderlich Beschreibung
olcIdleTimeout 0 Anzahl der Sekunden, die ein Client nichts tun kann, bevor die Verbindung getrennt wird.
olcWriteTimeout 0 Anzahl der Sekunden, die ein Client mit ausstehenden Schreibvorgängen nichts tun kann, bevor die Verbindung getrennt wird.
olcTimeLimit 3600 Maximale Anzahl von Sekunden, die slapd verwenden wird, um eine Anfrage zu beantworten. Ermöglicht einen unlimited Wert.
olcSizeLimit 500 Maximale Anzahl von Einträgen, die aus einer Suche zurückgegeben werden.
Verbindungen
Name Standard/Erforderlich Beschreibung
olcConnMaxPending 50 Maximale Anzahl von ausstehenden Anfragen in anonymen Sitzungen.
olcConnMaxPendingAuth 1000 Maximale Anzahl von ausstehenden Anfragen in authentifizierten Sitzungen.
olcTCPBuffer Größe des TCP-Puffers. Das Betriebssystem kann dies automatisch anpassen.
olcSockbufMaxIncoming 262143 Maximale Größe des LDAP PDU für anonyme Sitzungen.
olcSockbufMaxIncomingAuth 4194303 Maximale Größe des LDAP PDU für authentifizierte Sitzungen.
SASL
Name Standard/Erforderlich Beschreibung
olcSaslHost Vollständig qualifizierter Domainname, der für die SASL-Verarbeitung verwendet wird.
olcSaslRealm Der SASL-Realm für die SASL-Verarbeitung.
olcSaslSecProps Gibt die Sicherheitsmerkmale von Cyrus SASL an.
olcSaslAuxprops Welche Auxprop-Plugins für Authentifizierungsabfragen verwendet werden sollen.
Indizierung
Name Standard/Erforderlich Beschreibung
olcIndexSubstrIfMinLen 2 Die Mindestlänge von Sub-Initial- und Sub-End- Indizes.
olcIndexSubstrIfMaxLen 4 Die Maximallänge von Sub-Initial- und Sub-End- Indizes.
olcIndexSubstrAnyLen 4 Länge für Sub-any-Indizes. Attribute, die länger als diese Länge sind, werden segmentweise verarbeitet.
olcIndexSubstrAnyStep 2 Schritte, die in Sub-any-Anfragen verwendet werden. Dies ist der Offset für die Segmente des Filterstrings, die verarbeitet werden.
olcIndexIntLen 4 Schlüsselgröße für geordnete Integer-Indizes.
Verschiedenes
Name Standard/Erforderlich Beschreibung
olcAttributeOptions x-hidden lang- Tagging-Attributoptionen oder Optionen-Tag-/Bereichs-Präfixe.
olcReferral Eine Referenz-URL, die zurückgegeben wird, wenn slapd keine lokale Datenbank finden kann.
olcReverseLookup FALSE Aktiviert nicht verifiziertes Reverse-Lookups des Clientnamens.
olcRootDSE Name einer LDIF-Datei, die benutzerdefinierte Attribute für das Root DSE enthält.
olcReadOnly FALSE Setzt den gesamten Server in den Nur-Lesen-Modus. Warnung: Einmal auf true gesetzt, kann dieser Wert nicht zurückgesetzt werden, ohne die Datenbankdateien auf der Festplatte zu ändern und slapd neu zu starten!
olcLdapSyntaxes Ich habe ernsthaft keine Ahnung, warum dieses Attribut hier ist. Es gibt keine Dokumentation im Internet.

Datenbankkonfigurationswerte

Diese Werte gelten für jede Datenbank (OLC, Überwachung und MDB). Dieser Abschnitt gibt einen Überblick über alle von ihnen. Die Standardwerte für jede Datenbank sind unten angegeben. Die MDB-Datenbank hat auch einige weitere Attribute, die nur von dieser Datenbank unterstützt werden.

Allgemein
Name Erforderlich Beschreibung
olcSuffix :heavy_check_mark: Der DN-Suffix von Abfragen, die an das Datenbank-Backend weitergeleitet werden. Für das OLC und die Überwachung nicht erforderlich.
olcReadOnly :heavy_check_mark: Setzt diese Datenbank in den Nur-Lesen-Modus. Keine Änderungen sind möglich.
olcHidden :heavy_multiplication_x: Beantworte keine Abfragen an diese Datenbank. slapd wird die Existenz dieser Datenbank leugnen.
olcLastMod :heavy_check_mark: Ob slapd automatisch modifiersName, modifyTimestamp, creatorsName, createTimestamp, entryCSN und entryUUID verwalten wird.
olcSubordinate :heavy_multiplication_x: Ob diese Datenbank eine Unterordnung zu einer anderen Datenbank hat.
Sicherheit
Name Erforderlich Beschreibung
olcSecurity :heavy_multiplication_x: Geben Sie eine Menge von Sicherheitsstärkefaktoren an, die erforderlich sind.
olcRootDN :heavy_check_mark: Name des RootDN dieser Datenbank.
olcRootPW :heavy_check_mark: Gehashtes Passwort des RootDN dieser Datenbank.
olcRequires :heavy_multiplication_x: Eine Menge von Bedingungen, die erforderlich sind.
olcRestrict :heavy_multiplication_x: Eine Liste von Operationen, die eingeschränkt sind.
olcAddContentAcl :heavy_check_mark: Ob Operationen eine ACL-Überprüfung auf den Inhalt des hinzugefügten Eintrags durchführen.
olcAccess :heavy_check_mark: Array von ACL-Regeln für diese Datenbank.
Zeitüberschreitungen und Grenzen
Name Erforderlich Beschreibung
olcTimeLimit :heavy_multiplication_x: Maximale Anzahl von Sekunden, die slapd zum Beantworten einer Anfrage aufwenden wird. Ermöglicht einen unlimited Wert.
olcSizeLimit :heavy_multiplication_x: Maximale Anzahl von Einträgen, die aus einer Suche zurückgegeben werden.
olcLimits :heavy_multiplication_x: Zeit- und Größenlimits basierend auf dem Initiator der Operation oder dem Basis-DN.
Syncrepl
Name Erforderlich Beschreibung
olcSyncrepl :heavy_multiplication_x: Hauptkonfiguration von Syncrepl.
olcUpdateDN :heavy_multiplication_x: DN, der zur Aktualisierung des Replikats berechtigt ist. Sollte nicht der rootDN sein.
olcSyncUseSubentry :heavy_multiplication_x: Speichert die syncrepl contextCSN in einem Untereintrag anstelle des Kontexteintrags.
olcUpdateRef :heavy_multiplication_x: Der Verweis, der zurückgegeben wird, wenn slapd aufgefordert wird, eine replizierte Datenbank zu ändern.
olcMirrorMode :heavy_multiplication_x: Setzt diese Datenbank in den Spiegelmodus.
slurpd
Name Erforderlich Beschreibung
olcReplica :heavy_multiplication_x:
olcReplicaArgsFile :heavy_multiplication_x:
olcReplicaPidFile :heavy_multiplication_x:
olcReplicationInterval :heavy_multiplication_x:
olcReplogFile :heavy_multiplication_x:
Verschiedenes
Name Erforderlich Beschreibung
olcSchemaDN :heavy_multiplication_x: DN für den Unterschemasubeintrag der Einträge.
olcMaxDerefDepth :heavy_multiplication_x: Maximale Anzahl von Aliasen, die gefolgt werden sollen.
olcPlugin :heavy_multiplication_x: Stunden slapi-Plugins.
olcMonitoring :heavy_multiplication_x: Sammeln von Überwachungsdaten für diese Datenbank.
olcExtraAttrs :heavy_multiplication_x: Gibt an, welche Attribute auch dann zurückgegeben werden, wenn sie nicht gesucht werden.
MDB-Einstellungen

Diese Einstellungen gelten nur für die MDB-Datenbank!

Name Erforderlich Standard Beschreibung
olcDbDirectory :heavy_check_mark: {{slapd_mdb_dir}} Pfad zum Datenbankverzeichnis auf der Festplatte.
olcDbNoSync :heavy_multiplication_x: TRUE Synchronisiere nicht sofort nach Erhalt der Daten.
olcDbCheckpoint :heavy_multiplication_x: 8192 15 Wie oft (KB/Minuten) die Datenbank auf die Festplatte geschrieben wird.
olcDbMaxReaders :heavy_multiplication_x: Maximale Anzahl von Threads, die gleichzeitig auf die DB zugreifen können.
olcDbMaxSize :heavy_multiplication_x: Maximale Größe der DB in Byte.
olcDbMode :heavy_multiplication_x: 0600 Dateimodus der Datenbankdateien.
olcDbSearchStack :heavy_multiplication_x: 16 Tiefe des Stacks während der Filterauswertungen.
olcDbRtxnSize :heavy_multiplication_x: Anzahl der Einträge, die in einer Lesetransaktion verarbeitet werden sollen.
olcDbIndex :heavy_multiplication_x: Indizes, die in dieser Datenbank erstellt werden sollen.

Standardwerte für jede Datenbank

Name Frontend-Standard OLC-Standard Überwachungs-Standard MDB-Standard
olcSuffix :exclamation:
olcReadOnly FALSE FALSE
olcHidden FALSE
olcLastMod TRUE TRUE
olcSubordinate
olcSecurity
olcRootDN {{slapd_olc_rootdn}} cn=root,cn=monitor cn=root,{{olcSuffix}}
olcRootPW [Geheimes Passwort] [Geheimes Passwort] [Geheimes Passwort]
olcRequires
olcRestrict
olcAddContentAcl TRUE TRUE
olcAccess 'to * by * read' 'to * by * none' 'to * by * none' 'to * by * none'
olcTimeLimit
olcSizeLimit
olcLimits
olcSyncrepl
olcUpdateDN
olcSyncUseSubentry FALSE FALSE
olcUpdateRef
olcMirrorMode FALSE
olcReplica
olcReplicaArgsFile
olcReplicaPidFile
olcReplicationInterval
olcReplogFile
olcSchemaDN cn=Subschema
olcMaxDerefDepth 15 15
olcPlugin
olcMonitoring FALSE FALSE
olcExtraAttrs

Abhängigkeiten

schema2ldif muss installiert sein.

Beispiel-Playbook

- hosts: ldap
  roles:
  - slapd-config
    slapd_modules_path: /usr/lib/openldap
    slapd_olc_rootdn_password: water
    slapd_mdb_rootdn_password: water
    slapd_monitor_rootdn_password: water
    slapd_additional_modules: [ 'memberof' ]
    slapd_mdb_config:
      olcSuffix: "dc=example,dc=com"
    slapd_mdb_overlays:
      memberof:
        olcOverlay: memberof
        objectClass: olcMemberOf
        olcMemberOfDangling: ignore

Lizenz

Diese Arbeit ist lizenziert unter einer Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Autor Informationen

Über das Projekt

Configure an entire slapd with the OLC

Installieren
ansible-galaxy install stuvusIT.slapd-config
GitHub Repository
Lizenz
other
Downloads
7.4k
Besitzer
stuvus IT Team - Studierendenvertretung Universität Stuttgart