stuvusIT.slapd-config

slapd-config

Ta rola umożliwia skonfigurowanie całej OLC serwera OpenLDAP. Wymaga, aby wcześniej utworzyć OLC i mieć działający slapd. Możesz skorzystać z slapd-base w tym celu.

slapd-config utworzy globalną konfigurację slapd bezpośrednio w cn=config i załaduje globalne moduły, takie jak mdb, jeśli nie zostały skompilowane jako statyczne zaplecza. Następnie zostanie utworzone i skonfigurowane zaplecze monitorujące oraz MDB, które wspiera definiowanie nakładek.

Wymagania

Dystrybucja Linuxa oparta na dpkg lub pacman.

Zmienne roli

Istnieje kilka zmiennych globalnych roli:

Nazwa Domyślna/Wymagana Opis
slapd_enable_monitor true Ładowanie modułu monitorowania (jeśli wymagane) i konfiguracja bazy monitorującej.
slapd_modules_path /usr/lib/ldap Ścieżka do dynamicznych modułów, jeśli zaplecza są wymagane, ale muszą być załadowane.
slapd_additional_modules Również ładować te moduły (oprócz MDB i monitor) jeśli nie są skompilowane.
slapd_olc_rootdn_password :heavy_check_mark: Hasło do dostępu do OLC. Nie jest automatycznie eksportowane przez slapd-base.
slapd_monitor_rootdn_password :heavy_check_mark: Hasło rootdn dla bazy monitorującej. Zostanie automatycznie zahardkodowane.
slapd_mdb_rootdn_password :heavy_check_mark: Hasło rootdn dla bazy MDB. Zostanie automatycznie zahardkodowane.
slapd_schemas Tablica ścieżek do plików schematów do załadowania.
slapd_global_config Zobacz opis Każda pojedyncza opcja globalnej konfiguracji slapd. Zobacz opis poniżej.
slapd_olc_config Zobacz opis Każda pojedyncza globalna wartość konfiguracyjna dla bazy OLC.
slapd_monitor_config Zobacz opis Każda pojedyncza globalna wartość konfiguracyjna dla bazy monitorującej.
slapd_mdb_config :heavy_check_mark: Każda pojedyncza globalna wartość konfiguracyjna dla bazy MDB.
slapd_mdb_overlays Zobacz opis Każdy moduł dla MDB. Zobacz przykład dla przykładu.

Zmienne slapd-base

Musisz ustawić te zmienne, jeśli slapd-base nie został uruchomiony w wcześniejszym kroku tego playbooka. Wszystkie zmienne są wymagane.

Nazwa Domyślna/Wymagana Opis
slapd_run_dir :heavy_check_mark: Katalog uruchomieniowy dla pliku args, pliku pid oraz gniazda ldapi
slapd_ldapi_socket :heavy_check_mark: gniazdo unix ldapi do lokalnej administracji slapd
slapd_mdb_dir :heavy_check_mark: Katalog, w którym znajduje się MDB
slapd_olc_dir :heavy_check_mark: Ścieżka, gdzie znajdują się pliki LDIF OLC
slapd_olc_rootdn :heavy_check_mark: Rootdn OLC

Opcje globalnej konfiguracji

Globalna konfiguracja OLC slapd została podzielona na różne sekcje.

Konfiguracja ogólna
Nazwa Domyślna/Wymagana Opis
olcConfigFile Ścieżka do pliku konfiguracyjnego do załadowania. Zastąpiona przez OLC.
olcConfigDir {{slapd_olc_dir}} Ścieżka do plików bazy danych OLC.
olcArgsFile {{slapd_run_dir}}/slapd.args slapd zapisze swoje argumenty do tego pliku.
olcPidFile {{slapd_run_dir}}/slapd.pid slapd zapisze swój PID do tego pliku.
olcGentleHUP FALSE Gdy TRUE, slapd nie zabije istniejących połączeń na SIGHUP, ale poczeka, aż one zakończą się.
olcServerID 0 ID tego serwera. Wymagane tylko w przypadku replikacji wielomasterowej.
Konfiguracja związana z bezpieczeństwem
Nazwa Domyślna/Wymagana Opis
olcAllows Zestaw funkcji, które są dozwolone.
olcDisallows Zestaw funkcji, które są zabronione.
olcRequires bind Zestaw warunków do wymaganego.
olcRestrict Lista operacji, które są ograniczone.
olcSecurity ssf=1 simple_bind=128 Określ zestaw czynników siły bezpieczeństwa do wymaganego.
olcAuthIDRewrite Służy do konwertowania prostych nazw użytkowników na DN LDAP używane do celów autoryzacji.
olcAuthzRegexp Służy do konwertowania prostych nazw użytkowników na DN LDAP używane do autoryzacji. Może być określane wielokrotnie i wymaga ponownego uruchomienia serwera, aby zaczęło działać.
olcAuthzPolicy none Które zasady stosować do autoryzacji proxy.
olcLocalSSF 300 Domyślny SSF dla połączeń LDAPI.
olcPasswordHash {SSHA} Jedno lub więcej algorytmów haszujących, które należy użyć do modyfikacji zmiany hasła.
olcPasswordCryptSaltFormat %s Format soli podczas haszowania haseł za pomocą crypt().
Konfiguracja TLS
Nazwa Domyślna/Wymagana Opis
olcTLSCertificateFile Plik klucza publicznego dla slapd.
olcTLSCertificateKeyFile Klucz prywatny dla slapd.
olcTLSRandFile Plik do uzyskania losowych bitów, gdy urandom nie jest dostępny.
olcTLSDHParamFile Plik zawierający liczby pierwsze dla wymiany klucza Diffie-Hellman.
olcTLSCipherSuite Zestawy szyfrów TLS do użycia.
olcTLSProtocolMin Minimalna wersja TLS, którą należy wymagać. Domyślnie jest to najwyższy możliwy poziom.
olcTLSCACertificateFile Ścieżka do pliku zawierającego wszystkie zaufane urzędów certyfikacji.
olcTLSCACertificatePath Ścieżka do katalogu zawierającego pliki ze wszystkimi zaufanymi urzędami certyfikacji.
olcTLSCRLCheck none Czy CRL CA powinno być sprawdzane przy połączeniach.
olcTLSVerifyClient never Kiedy weryfikować tożsamość klienta.
Konfiguracja logowania
Nazwa Domyślna/Wymagana Opis
olcLogLevel stats Konfiguracja poziomu logowania dla każdego podsystemu.
olcLogFile Plik, do którego zapisywane będą logi. slapd zawsze loguje do stderr.
olcPluginLogFile Plik do logowania wyjścia pluginu slapi.
olcReplogFile Plik logowania replikacji, który można odczytać przez slurpd.
Konfiguracja wątków
Nazwa Domyślna/Wymagana Opis
olcConcurrency Wskazówka dla systemu operacyjnego dotycząca przechwałtózpołączeń. Nie używane pod Linuxem.
olcListenerThreads 1 Liczba wątków nasłuchujących na połączenia. 1 wystarczy do 16 rdzeni.
olcThreads 16 Liczba wątków CPU do przetwarzania żądań.
olcToolThreads 1 Liczba wątków CPU podczas pracy w trybie narzędzi. Nie powinno przekraczać liczby rdzeni w systemie.
Limity i czasy
Nazwa Domyślna/Wymagana Opis
olcIdleTimeout 0 Liczba sekund, przez które klient może nic nie robić przed rozłączeniem.
olcWriteTimeout 0 Liczba sekund, przez które klient z niezrealizowanymi zapisami może nic nie robić przed rozłączeniem.
olcTimeLimit 3600 Maksymalna liczba sekund, które slapd spędzi na udzieleniu odpowiedzi na żądanie. Pozwala na wartość nieograniczoną.
olcSizeLimit 500 Maksymalna liczba wpisów do zwrócenia z wyszukiwania.
Połączenia
Nazwa Domyślna/Wymagana Opis
olcConnMaxPending 50 Maksymalna liczba oczekujących połączeń w sesjach anonimowych.
olcConnMaxPendingAuth 1000 Maksymalna liczba oczekujących połączeń w sesjach uwierzytelnionych.
olcTCPBuffer Rozmiar bufora TCP. System operacyjny może automatycznie dostosować to.
olcSockbufMaxIncoming 262143 Maksymalny rozmiar LDAP PDU dla sesji anonimowych.
olcSockbufMaxIncomingAuth 4194303 Maksymalny rozmiar LDAP PDU dla sesji uwierzytelnionych.
SASL
Nazwa Domyślna/Wymagana Opis
olcSaslHost W pełni kwalifikowana nazwa domeny używana do przetwarzania SASL.
olcSaslRealm Królestwo SASL dla przetwarzania SASL.
olcSaslSecProps Określ właściwości zabezpieczeń SASL Cyrus.
olcSaslAuxprops Jakie wtyczki auxprop użyć do wyszukiwania w autoryzacji.
Indeksy
Nazwa Domyślna/Wymagana Opis
olcIndexSubstrIfMinLen 2 Minimalna długość dla subindeksów.
olcIndexSubstrIfMaxLen 4 Maksymalna długość dla subindeksów.
olcIndexSubstrAnyLen 4 Długość dla subindeksów. Atrybuty dłuższe niż ta długość są przetwarzane w segmentach.
olcIndexSubstrAnyStep 2 Kroki używane w wyszukiwaniach subindeksów. To jest offset dla segmentów przetwarznego ciągu filtrów.
olcIndexIntLen 4 Długość klucza dla uporządkowanych indeksów całkowitych.
Różne
Nazwa Domyślna/Wymagana Opis
olcAttributeOptions x-hidden lang- Oznaczanie opcji atrybutu lub tagów/range prefixe.
olcReferral URL przekierowania, który należy zwrócić, gdy slapd nie może znaleźć lokalnej bazy danych.
olcReverseLookup FALSE Włącz niezweryfikowane odwrotne wyszukiwanie nazwy klienta.
olcRootDSE Nazwa pliku LDIF zawierającego zdefiniowane przez użytkownika atrybuty dla root DSE.
olcReadOnly FALSE Ustaw cały serwer w tryb tylko do odczytu. Ostrzeżenie: Po ustaleniu na true, tę wartość nie można zmienić bez modyfikacji plików bazy danych na dysku i ponownego uruchomienia slapd!
olcLdapSyntaxes Szalenie nie mam pojęcia, dlaczego ten atrybut się tu znajduje. Nie ma dokumentacji w internecie.

Wartości konfiguracji bazy danych

Te wartości mają zastosowanie do każdej bazy danych (OLC, monitor i MDB). Ta sekcja przedstawia ich przegląd. Domyślne wartości dla każdej bazy danych są określone poniżej. Baza danych MDB ma również inne właściwości wspierane tylko w tej bazie.

Ogólne
Nazwa Wymagana Opis
olcSuffix :heavy_check_mark: DN suffix zapytań, które będą przesyłane do zaplecza bazy danych. Nie jest wymagane dla OLC i monitoru.
olcReadOnly :heavy_check_mark: Ustala tę bazę w trybie tylko do odczytu. Brak możliwości modyfikacji.
olcHidden :heavy_multiplication_x: Zapewnia, że slapd ogólnie zaprzeczy istnieniu tej bazy danych.
olcLastMod :heavy_check_mark: Czy slapd będzie automatycznie utrzymywał modifiersName, modifyTimestamp, creatorsName, createTimestamp, entryCSN, entryUUID.
olcSubordinate :heavy_multiplication_x: Czy ta baza danych jest podporządkowana innej bazie.
Bezpieczeństwo
Nazwa Wymagana Opis
olcSecurity :heavy_multiplication_x: Określ zestaw czynników siły bezpieczeństwa do wymaganego.
olcRootDN :heavy_check_mark: Nazwa RootDN tej bazy danych.
olcRootPW :heavy_check_mark: Hasło zaszyfrowane RootDN tej bazy danych.
olcRequires :heavy_multiplication_x: Zestaw warunków do wymaganego.
olcRestrict :heavy_multiplication_x: Lista operacji, które są ograniczone.
olcAddContentAcl :heavy_check_mark: Czy operacje będą wykonywać kontrolę ACL na treści dodawanego wpisu.
olcAccess :heavy_check_mark: Tablica reguł ACL dla tej bazy danych.
Limitacje i czasy
Nazwa Wymagana Opis
olcTimeLimit :heavy_multiplication_x: Maksymalna liczba sekund, które slapd spędzi na udzieleniu odpowiedzi na żądanie. Pozwala na wartość nieograniczoną.
olcSizeLimit :heavy_multiplication_x: Maksymalna liczba wpisów do zwrócenia z wyszukiwania.
olcLimits :heavy_multiplication_x: Limity czasu i rozmiaru na podstawie inicjatora operacji lub bazy DN.
Syncrepl
Nazwa Wymagana Opis
olcSyncrepl :heavy_multiplication_x: Główna konfiguracja Syncrepl.
olcUpdateDN :heavy_multiplication_x: DN dozwolone do aktualizacji repliki. Nie powinno być rootDN.
olcSyncUseSubentry :heavy_multiplication_x: Przechowywanie contextCSN syncrepl w podwpisie zamiast wpisu kontekstowego.
olcUpdateRef :heavy_multiplication_x: Przekierowanie, które ma być przekazane, gdy slapd poprosi o modyfikację replikowanej bazy danych.
olcMirrorMode :heavy_multiplication_x: Ustawia tę bazę danych w trybie lustrzanym.
Slurpd
Nazwa Wymagana Opis
olcReplica :heavy_multiplication_x:
olcReplicaArgsFile :heavy_multiplication_x:
olcReplicaPidFile :heavy_multiplication_x:
olcReplicationInterval :heavy_multiplication_x:
olcReplogFile :heavy_multiplication_x:
Różne
Nazwa Wymagana Opis
olcSchemaDN :heavy_multiplication_x: DN dla podwpisu subschematu dla wpisów.
olcMaxDerefDepth :heavy_multiplication_x: Maksymalna liczba aliasów do śledzenia.
olcPlugin :heavy_multiplication_x: Ładowanie wtyczek slapi.
olcMonitoring :heavy_multiplication_x: Zbieranie danych monitorujących tę bazę danych.
olcExtraAttrs :heavy_multiplication_x: Określ atrybuty do zwrócenia, nawet gdy nie były poszukiwane.
Ustawienia MDB

Te ustawienia mają zastosowanie tylko do bazy danych MDB!

Nazwa Wymagana Domyślna Opis
olcDbDirectory :heavy_check_mark: {{slapd_mdb_dir}} Ścieżka do katalogu bazy danych na dysku.
olcDbNoSync :heavy_multiplication_x: TRUE Nie synchronizować natychmiast po odebraniu danych.
olcDbCheckpoint :heavy_multiplication_x: 8192 15 Jak często (KB/min) zapisywać bazę danych na dysku.
olcDbMaxReaders :heavy_multiplication_x: Maksymalna liczba wątków, które mogą jednocześnie uzyskiwać dostęp do bazy danych.
olcDbMaxSize :heavy_multiplication_x: Maksymalny rozmiar bazy danych w bajtach.
olcDbMode :heavy_multiplication_x: 0600 Tryb pliku plików bazy danych.
olcDbSearchStack :heavy_multiplication_x: 16 Głębokość stosu podczas oceny filtrów wyszukiwania.
olcDbRtxnSize :heavy_multiplication_x: Liczba wpisów do przetworzenia w jednej transakcji odczytu.
olcDbIndex :heavy_multiplication_x: Indeksy do utworzenia na tej bazie danych.

Domyślne wartości dla każdej bazy danych

Nazwa Domyślny frontend Domyślny OLC Domyślny monitor Domyślny MDB
olcSuffix :exclamation:
olcReadOnly FALSE FALSE
olcHidden FALSE
olcLastMod TRUE TRUE
olcSubordinate
olcSecurity
olcRootDN {{slapd_olc_rootdn}} cn=root,cn=monitor cn=root,{{olcSuffix}}
olcRootPW [Hashed password] [Hashed password] [Hashed password]
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

Zależności

schema2ldif musi być zainstalowane.

Przykładowy 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

Licencja

To dzieło jest licencjonowane na zasadach Creative Commons Attribution-ShareAlike 4.0 International License.

Informacje o autorze

O projekcie

Configure an entire slapd with the OLC

Zainstaluj
ansible-galaxy install stuvusIT.slapd-config
Licencja
other
Pobrania
7.4k
Właściciel
stuvus IT Team - Studierendenvertretung Universität Stuttgart