teknik:infrastruktur:ldap
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| teknik:infrastruktur:ldap [2026/07/21 10:01] – created smarken | teknik:infrastruktur:ldap [2026/07/21 10:18] (current) – smarken | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ## **1. LDAP: Grundlaget for centraliseret brugerstyring** | + | ====== |
| - | ### **Hvad er LDAP?** | + | |
| - | LDAP (**Lightweight Directory Access Protocol**) er en **åben standard** (RFC 4510) til at hente, opdatere og søge i **hierarkiske directory-tjenester** over et netværk. Den bruges primært til: | + | |
| - | - **Centraliseret lagring** af brugere, grupper, enheder | + | |
| - | - **Autentificering** (login) og **autorisation** (adgangskontrol). | + | |
| - | - **Multi-platform understøttelse** (Linux, Windows, applikationer, | + | |
| - | **Typisk struktur | + | Denne side beskriver, hvordan |
| - | ``` | + | |
| + | ---- | ||
| + | |||
| + | ==== LDAP: Grundlaget for centraliseret brugerstyring ==== | ||
| + | |||
| + | ===== Hvad er LDAP? ===== | ||
| + | LDAP (**Lightweight Directory Access Protocol**) er en **åben standardprotokol** (RFC 4510) til at hente, opdatere og søge i **hierarkiske directory-tjenester** over et netværk. Den bruges primært til: | ||
| + | |||
| + | * **Centraliseret lagring** af brugere, grupper, enheder og rettigheder. | ||
| + | * **Autentificering** (login) og **autorisation** (adgangskontrol). | ||
| + | * **Multi-platform understøttelse** (Linux, Windows, applikationer, | ||
| + | |||
| + | ===== Typisk struktur i LDAP ===== | ||
| + | < | ||
| dc=example, | dc=example, | ||
| ├── ou=users | ├── ou=users | ||
| Line 15: | Line 23: | ||
| ├── cn=admins | ├── cn=admins | ||
| └── cn=developers | └── cn=developers | ||
| - | ``` | + | </ |
| + | |||
| + | ===== Implementeringer ===== | ||
| + | * **OpenLDAP**: | ||
| + | * **389 Directory Server**: Red Hat, enterprise-venlig. | ||
| + | * **Apache Directory Server**: Java-baseret, | ||
| + | |||
| + | ---- | ||
| - | **Implementeringer**: | + | ==== LDAP i Linux-miljøer ==== |
| - | - **OpenLDAP** (open source, fleksibel). | + | |
| - | - **389 Directory Server** (Red Hat, enterprise-venlig). | + | |
| - | - **Apache Directory Server** (Java-baseret, | + | |
| - | --- | ||
| - | ### **LDAP i Linux-miljøer** | ||
| I Linux integreres LDAP med: | I Linux integreres LDAP med: | ||
| - | - **`nsswitch.conf`**: | ||
| - | - **`pam_ldap` eller `sssd` (System Security Services Daemon)**: Håndterer autentificering via LDAP. | ||
| - | - **Kerberos**: | ||
| - | **Eksempel på opsætning**: | + | * // |
| - | ```bash | + | * // |
| + | * **Kerberos**: Til **Single Sign-On (SSO)** med LDAP som backend. | ||
| + | |||
| + | ===== Eksempel på opsætning ===== | ||
| + | < | ||
| # / | # / | ||
| passwd: | passwd: | ||
| group: | group: | ||
| shadow: | shadow: | ||
| - | ``` | + | </ |
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Keycloak: Identity and Access Management (IAM) ==== | ||
| - | --- | + | ===== Hvad er Keycloak? |
| - | --- | + | |
| - | ## **2. Keycloak: Identity and Access Management (IAM) lag** | + | |
| - | ### **Hvad er Keycloak?** | + | |
| Keycloak er en **open-source IAM-løsning** (udviklet af Red Hat) til: | Keycloak er en **open-source IAM-løsning** (udviklet af Red Hat) til: | ||
| - | - **Federeret identitet** (understøtter **LDAP, Active Directory, SAML 2.0, OIDC, OAuth2**). | ||
| - | - **Single Sign-On (SSO)** på tværs af applikationer. | ||
| - | - **Centraliseret autentificering** med multi-factor authentication (MFA). | ||
| - | - **Brugerselvbetjening** (self-service password reset, profiladministration). | ||
| - | --- | + | * **Federeret identitet** (understøtter **LDAP, Active Directory, SAML 2.0, OIDC, OAuth2**). |
| - | ### **Integration mellem | + | * **Single Sign-On (SSO)** på tværs af applikationer. |
| - | Keycloak kan **synkronisere brugere fra LDAP** og fungere som en **identity provider | + | * **Centraliseret autentificering** med multi-factor authentication |
| + | * **Brugerselvbetjening** (self-service password reset, profiladministration). | ||
| - | #### **Opsætning af LDAP i Keycloak**: | + | ---- |
| + | |||
| + | ==== Integration mellem LDAP og Keycloak ==== | ||
| + | |||
| + | Keycloak kan **synkronisere brugere fra LDAP** og fungere som en **Identity Provider (IdP)** for både Linux- og Windows-tjenester. | ||
| + | |||
| + | ===== Opsætning af LDAP i Keycloak | ||
| 1. **Opret en LDAP User Federation** i Keycloak: | 1. **Opret en LDAP User Federation** i Keycloak: | ||
| - | - Angiv LDAP-serverens URL (f.eks. | + | * Angiv LDAP-serverens URL (f.eks. |
| - | - Konfigurer **bind DN** (admin-bruger til LDAP-adgang) og adgangskode. | + | * Konfigurer **bind DN** (admin-bruger til LDAP-adgang) og adgangskode. |
| - | - Definer **bruger- og gruppe-mapping** (f.eks. | + | * Definer **bruger- og gruppe-mapping** (f.eks. |
| - | - Indstil **søgefiltre** for at hente specifikke brugere/ | + | |
| 2. **Synkronisering**: | 2. **Synkronisering**: | ||
| - | - Keycloak kan **importere brugere** fra LDAP ved opstart eller på planlagte tidspunkter. | + | * Keycloak kan **importere brugere** fra LDAP ved opstart eller på planlagte tidspunkter. |
| - | - Ændringer i LDAP (f.eks. ny bruger) **reflekteres automatisk** i Keycloak. | + | |
| 3. **Autentificeringsflow**: | 3. **Autentificeringsflow**: | ||
| - | - Brugere logger ind via **Keycloak login-portal** (web, API, eller integrerede applikationer). | + | * Brugere logger ind via **Keycloak login-portal** (web, API, eller integrerede applikationer). |
| - | - Keycloak **validerer credentials mod LDAP**. | + | * Keycloak **validerer credentials mod LDAP**. |
| - | - Udsteder **JWT-tokens** (OIDC) eller **SAML-assertions** til klienter. | + | * Udsteder **JWT-tokens** (OIDC) eller **SAML-assertions** til klienter. |
| + | |||
| + | ===== Fordele ved Keycloak + LDAP ===== | ||
| + | * **Enkelt login** (SSO) på tværs af Linux/ | ||
| + | * **Understøttelse af MFA** (SMS, TOTP, hardware tokens). | ||
| + | * **Fleksibel integration** med både åbne og proprietary systemer. | ||
| + | * **Audit logs** og **compliance** (GDPR, ISO 27001). | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Parallel Integration med Windows (Active Directory) ==== | ||
| + | |||
| + | ===== Hvorfor beholde Windows-miljøet? | ||
| + | * **Eksisterende infrastruktur**: | ||
| + | * **Kerberos/ | ||
| + | * **Group Policy**: Centraliseret konfiguration af Windows-maskiner. | ||
| - | --- | + | ===== Løsninger for interoperabilitet ===== |
| - | ### **Fordele ved Keycloak + LDAP**: | + | |
| - | ✅ **Enkelt login** (SSO) på tværs af Linux/ | + | |
| - | ✅ **Understøttelse af MFA** (SMS, TOTP, hardware tokens). | + | |
| - | ✅ **Fleksibel integration** med både åbne og proprietary systemer. | + | |
| - | ✅ **Audit logs** og **compliance** (GDPR, ISO 27001). | + | |
| - | --- | + | ^ Metode |
| - | --- | + | | Samba som AD DC | Samba kan fungere som en **fuldgyldig AD Domain Controller**. | Fuldt kompatibelt |
| - | ## **3. Parallel integration | + | | LDAP + AD Sync | Synkroniser brugere fra AD til LDAP (f.eks. med //ldap-sync//). | Beholder AD som kilden. |
| - | ### **Hvorfor beholde Windows-miljøet? | + | | Keycloak + AD | Keycloak forbinder direkte til AD via **LDAP eller Kerberos**. | Ingen manuel synkronisering. |
| - | - **Eksisterende infrastruktur**: | + | | Cross-Forest Trust | Opret en **trust-relation** mellem Linux LDAP og AD. | Transparent adgang på tværs. |
| - | - **Kerberos/NTLM**: Nødvendigt for ældre Windows-tjenester. | + | |
| - | - **Group Policy**: Centraliseret konfiguration af Windows-maskiner. | + | |
| - | --- | + | ---- |
| - | ### **Løsninger for interoperabilitet** | + | |
| - | | **Metode** | + | |
| - | |--------------------------|-------------------------------------------------------------------------------|--------------------------------------------|--------------------------------------------| | + | |
| - | | **Samba som AD DC** | Samba kan fungere som en **fuldgyldig AD Domain Controller**. | + | |
| - | | **LDAP + AD Sync** | + | |
| - | | **Keycloak + AD** | Keycloak forbinder direkte til AD via **LDAP eller Kerberos**. | + | |
| - | | **Cross-Forest Trust** | + | |
| - | --- | + | ===== Anbefalet opsætning: Keycloak + LDAP + AD ===== |
| - | ### **Anbefalet opsætning: Keycloak + LDAP + AD** | + | |
| 1. **LDAP som primær brugerdatabase**: | 1. **LDAP som primær brugerdatabase**: | ||
| - | - Alle brugere (Linux/ | + | * Alle brugere (Linux/ |
| - | - **Keycloak forbinder til LDAP/AD** for autentificering. | + | * **Keycloak forbinder til LDAP/AD** for autentificering. |
| 2. **Samba som AD-medlem**: | 2. **Samba som AD-medlem**: | ||
| - | - Linux-servere **slutter sig til AD-domænet** via Samba. | + | * Linux-servere **slutter sig til AD-domænet** via Samba. |
| - | - Brugere kan logge ind på Linux-maskiner med **AD-credentials** (via `sssd` + `ad` backend). | + | * Brugere kan logge ind på Linux-maskiner med **AD-credentials** (via < |
| 3. **Keycloak som SSO-portal**: | 3. **Keycloak som SSO-portal**: | ||
| - | - Applikationer (f.eks. Nextcloud) **autentificerer via Keycloak**. | + | * Applikationer (f.eks. Nextcloud) **autentificerer via Keycloak**. |
| - | - Keycloak **validerer mod LDAP/AD** og udsteder tokens. | + | * Keycloak **validerer mod LDAP/AD** og udsteder tokens. |
| - | --- | + | ---- |
| - | --- | + | |
| - | ## **4. Nextcloud og andre applikationer** | + | ==== Nextcloud og andre applikationer |
| - | ### **Integration med Nextcloud** | + | |
| + | ===== Integration med Nextcloud | ||
| Nextcloud kan integreres med **LDAP + Keycloak** på to måder: | Nextcloud kan integreres med **LDAP + Keycloak** på to måder: | ||
| - | #### **Option 1: Direkte LDAP-integration** | + | ====== |
| - | - Nextcloud forbinder direkte til **LDAP-serveren**. | + | * Nextcloud forbinder direkte til **LDAP-serveren**. |
| - | - **Fordele**: | + | * **Fordele**: |
| - | - **Ulemper**: | + | * **Ulemper**: |
| - | **Opsætning**: | + | < |
| 1. Installer **LDAP/ | 1. Installer **LDAP/ | ||
| 2. Konfigurer LDAP-server, | 2. Konfigurer LDAP-server, | ||
| - | 3. Map LDAP-felter til Nextcloud-brugere (f.eks. | + | 3. Map LDAP-felter til Nextcloud-brugere (f.eks. |
| + | </ | ||
| - | #### **Option 2: Keycloak SSO (anbefalet)** | + | ====== |
| - | - Nextcloud **autentificerer via Keycloak** (OIDC eller SAML). | + | * Nextcloud **autentificerer via Keycloak** (OIDC eller SAML). |
| - | - **Fordele**: | + | * **Fordele**: |
| - | - **Single Sign-On** (brugere logger ind én gang). | + | |
| - | - Understøttelse af **MFA**. | + | |
| - | - Centraliseret | + | |
| - | **Opsætning**: | + | < |
| 1. **Konfigurer Keycloak**: | 1. **Konfigurer Keycloak**: | ||
| - | - Opret en **OIDC-klient** for Nextcloud. | + | * Opret en **OIDC-klient** for Nextcloud. |
| - | - Angiv **redirect URIs** (f.eks. | + | * Angiv **redirect URIs** (f.eks. |
| - | - Tildel **roller/grupper** (f.eks. `nextcloud-users`). | + | |
| 2. **Konfigurer Nextcloud**: | 2. **Konfigurer Nextcloud**: | ||
| - | - Installer **Social Login & OIDC app**. | + | * Installer **Social Login & OIDC app**. |
| - | - Angiv Keycloak **client ID**, **client secret**, og **discovery endpoint** | + | * Angiv Keycloak **client ID**, **client secret**, og **discovery endpoint**. |
| 3. **Test login**: | 3. **Test login**: | ||
| - | - Brugere klikker på **"Log ind med Keycloak" | + | * Brugere klikker på **"Log ind med Keycloak" |
| + | </ | ||
| - | --- | + | ===== Eksempel på andre applikationer |
| - | ### **Eksempel på andre applikationer** | + | ^ Applikation |
| - | | **Applikation** | + | | Jira/ |
| - | |------------------------|--------------------------------------|--------------------| | + | | GitLab |
| - | | **Jira/ | + | | Mattermost |
| - | | **GitLab** | LDAP eller Keycloak (OIDC) | + | | Grafana |
| - | | **Mattermost** | Keycloak (OIDC) | + | |
| - | | **Grafana** | LDAP eller Keycloak (OAuth2) | + | |
| - | --- | + | ---- |
| - | --- | + | |
| - | ## **5. Arkitekturoverblik** | + | |
| - | Her er et **visuelt overblik** over integrationen: | + | |
| - | ```mermaid | + | ==== Arkitekturoverblik ==== |
| - | graph TD | + | |
| - | A[Windows AD] --> | + | |
| - | A --> | + | |
| - | B -->|User Federation| D[Keycloak] | + | |
| - | C -->|AD Domain Join| E[Linux Servere] | + | |
| - | D --> | + | |
| - | D --> | + | |
| - | E --> | + | |
| - | F --> | + | |
| - | ``` | + | |
| - | --- | + | < |
| - | ### **Workflow for brugerlogin**: | + | LDAP Server |
| + | │ | ||
| + | ├── Users (uid=bruger1, | ||
| + | └── Groups (cn=admins, cn=developers) | ||
| + | │ | ||
| + | ├───┬───────────────┬─────────────────┐ | ||
| + | │ | ||
| + | ▼ | ||
| + | Linux Servers | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | SSSD (PAM) Samba (AD) OIDC/SAML | ||
| + | | ||
| + | | ||
| + | │ | ||
| + | ▼ | ||
| + | | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Workflow for brugerlogin | ||
| 1. Bruger åbner **Nextcloud** (eller anden applikation). | 1. Bruger åbner **Nextcloud** (eller anden applikation). | ||
| 2. Viderestilles til **Keycloak login-portal**. | 2. Viderestilles til **Keycloak login-portal**. | ||
| Line 175: | Line 195: | ||
| 5. Nextcloud **modtager tokenet** og giver adgang. | 5. Nextcloud **modtager tokenet** og giver adgang. | ||
| - | --- | + | ---- |
| - | --- | + | |
| - | ## **6. Praktiske overvejelser** | + | |
| - | ### **Fordele ved denne opsætning** | + | |
| - | ✔ **Digital suverænitet**: | + | |
| - | ✔ **Fleksibilitet**: | + | |
| - | ✔ **Skalerbarhed**: | + | |
| - | ✔ **Sikkerhed**: | + | |
| - | - **MFA** via Keycloak. | + | |
| - | - **Centraliseret audit** (hvem loggede ind, hvornår, fra hvor). | + | |
| - | - **Krypteret kommunikation** (LDAPS, HTTPS). | + | |
| - | ### **Udfordringer og løsninger** | + | ==== Praktiske overvejelser ==== |
| - | | **Udfordring** | + | |
| - | |----------------------------------------|-----------------------------------------------------------------------------| | + | |
| - | | **Synkronisering mellem AD og LDAP** | + | |
| - | | **Performance med mange brugere** | + | |
| - | | **Kompleksitet i opsætning** | + | |
| - | | **Legacy Windows-applikationer** | + | |
| - | --- | + | ===== Fordele ved denne opsætning ===== |
| - | ### **Anbefalede værktøjer til drift** | + | * **Digital suverænitet**: LDAP og Keycloak |
| - | - **Monitorering**: | + | * **Fleksibilitet**: Understøtter både **Linux og Windows** uden at erstatte AD. |
| - | - **Prometheus + Grafana** til overvågning af LDAP/Keycloak. | + | * **Skalerbarhed**: LDAP og Keycloak kan håndtere |
| - | - **ELK Stack** (Elasticsearch, | + | * **Sikkerhed**: MFA, centraliseret audit, krypteret kommunikation. |
| - | - **Backup**: | + | |
| - | - **LDAP: `slapcat`** (OpenLDAP) eller **`db2ldif`** (389 DS). | + | |
| - | | + | |
| - | - **High Availability**: | + | |
| - | - **LDAP-replikering** (multi-master eller master-slave). | + | |
| - | | + | |
| - | --- | + | ===== Udfordringer og løsninger ===== |
| - | --- | + | ^ Udfordring |
| - | ## **7. Trin-for-trin implementeringsguide** | + | | Synkronisering mellem AD og LDAP | Brug **FreeIPA** eller **Univention Corporate Server (UCS)**. |
| - | ### **Fase 1: Opsæt LDAP** | + | | Performance med mange brugere |
| + | | Kompleksitet i opsætning | ||
| + | | Legacy Windows-applikationer | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Anbefalede værktøjer til drift ==== | ||
| + | |||
| + | ===== Monitorering ===== | ||
| + | * **Prometheus + Grafana**: Overvågning af LDAP/ | ||
| + | * **ELK Stack**: Logs (Elasticsearch, | ||
| + | |||
| + | ===== Backup ===== | ||
| + | * **LDAP**: < | ||
| + | * **Keycloak**: | ||
| + | |||
| + | ===== High Availability ===== | ||
| + | * **LDAP-replikering**: | ||
| + | * **Keycloak clustering**: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Trin-for-trin implementeringsguide | ||
| + | |||
| + | ===== Fase 1: Opsæt LDAP ===== | ||
| 1. Installer **OpenLDAP** eller **389 Directory Server**: | 1. Installer **OpenLDAP** eller **389 Directory Server**: | ||
| - | ```bash | + | < |
| - | | + | # Ubuntu/ |
| - | | + | sudo apt install slapd ldap-utils |
| - | ``` | + | </ |
| - | 2. Konfigurer **base DN** (f.eks. | + | |
| + | 2. Konfigurer **base DN** (f.eks. | ||
| 3. Opret **admin-bruger** og **ou=users/ | 3. Opret **admin-bruger** og **ou=users/ | ||
| - | 4. Test med `ldapsearch`: | + | 4. Test med < |
| - | ```bash | + | < |
| - | | + | ldapsearch -x -H ldap:// |
| - | ``` | + | </ |
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Fase 2: Integrer LDAP med Linux ===== | ||
| + | 1. Installer < | ||
| + | <code bash> | ||
| + | sudo apt install sssd ldap-utils | ||
| + | </ | ||
| + | |||
| + | 2. Konfigurer < | ||
| + | < | ||
| + | [sssd] | ||
| + | services = nss, pam | ||
| + | domains = example.com | ||
| + | |||
| + | [domain/ | ||
| + | id_provider = ldap | ||
| + | auth_provider = ldap | ||
| + | ldap_uri = ldap:// | ||
| + | ldap_search_base = dc=example, | ||
| + | ldap_id_use_start_tls = true | ||
| + | cache_credentials = true | ||
| + | </ | ||
| + | |||
| + | 3. Opdater < | ||
| + | <code bash> | ||
| + | sudo systemctl restart sssd | ||
| + | id bruger1 | ||
| + | </ | ||
| - | --- | + | ---- |
| - | ### **Fase 2: Integrer LDAP med Linux** | + | |
| - | 1. Installer `sssd` og `ldap-utils`: | + | |
| - | | + | |
| - | sudo apt install sssd ldap-utils | + | |
| - | ``` | + | |
| - | 2. Konfigurer `/ | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | ===== Fase 3: Opsæt Keycloak |
| - | | + | 1. Start Keycloak med Docker: |
| - | | + | < |
| - | | + | docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=password quay.io/ |
| - | | + | </ |
| - | | + | |
| - | | + | |
| - | ``` | + | |
| - | 3. Opdater `nsswitch.conf` og test login: | + | |
| - | ```bash | + | |
| - | sudo systemctl restart sssd | + | |
| - | id bruger1 | + | |
| - | ``` | + | |
| - | --- | ||
| - | ### **Fase 3: Opsæt Keycloak** | ||
| - | 1. Download og start Keycloak: | ||
| - | | ||
| - | | ||
| - | ``` | ||
| 2. Log ind på **http:// | 2. Log ind på **http:// | ||
| - | 3. Opret et **realm** (f.eks. | + | 3. Opret et **realm** (f.eks. |
| 4. Tilføj **LDAP User Federation**: | 4. Tilføj **LDAP User Federation**: | ||
| - | - Gå til **User Federation** → **Add provider** → **LDAP**. | + | * Gå til **User Federation** → **Add provider** → **LDAP**. |
| - | - Udfyld LDAP-serverdetaljer (URL, bind DN, password). | + | * Udfyld LDAP-serverdetaljer (URL, bind DN, password). |
| - | - Test forbindelse med **" | + | * Test forbindelse med **" |
| 5. Opret en **OIDC-klient** for Nextcloud: | 5. Opret en **OIDC-klient** for Nextcloud: | ||
| - | - Gå til **Clients** → **Create**. | + | * Gå til **Clients** → **Create**. |
| - | - Client ID: `nextcloud`. | + | * Client ID: < |
| - | - Root URL: `https:// | + | * Root URL: < |
| - | - Tilføj **Redirect URI**: | + | * Tilføj **Redirect URI**: |
| - | --- | + | ---- |
| - | ### **Fase 4: Integrer Nextcloud med Keycloak** | + | |
| + | ===== Fase 4: Integrer Nextcloud med Keycloak | ||
| 1. Installer **Social Login & OIDC** app i Nextcloud: | 1. Installer **Social Login & OIDC** app i Nextcloud: | ||
| - | - Gå til **Apps** → **Social Login & OIDC** → **Enable**. | + | * Gå til **Apps** → **Social Login & OIDC** → **Enable**. |
| 2. Konfigurer OIDC: | 2. Konfigurer OIDC: | ||
| - | - **Provider URL**: | + | * **Provider URL**: |
| - | - **Client ID**: `nextcloud`. | + | * **Client ID**: < |
| - | - **Client Secret**: (Hentes fra Keycloak under klienten). | + | * **Client Secret**: (Hentes fra Keycloak under klienten). |
| - | - **Button Text**: | + | * **Button Text**: |
| 3. Test login via Keycloak. | 3. Test login via Keycloak. | ||
| - | --- | + | ---- |
| - | ### **Fase 5: Integrer med Windows AD (valgfrit)** | + | |
| + | ===== Fase 5: Integrer med Windows AD (valgfrit) | ||
| 1. **Option A: Samba som AD-medlem**: | 1. **Option A: Samba som AD-medlem**: | ||
| - | - Installer Samba og slut til AD: | + | * Installer Samba og slut til AD: |
| - | ```bash | + | < |
| - | | + | sudo apt install samba krb5-config winbind |
| - | | + | sudo net ads join -U admin |
| - | ``` | + | </ |
| - | - Konfigurer | + | * Konfigurer |
| 2. **Option B: Keycloak + AD (direkte)**: | 2. **Option B: Keycloak + AD (direkte)**: | ||
| - | - Opret en **ny LDAP User Federation** i Keycloak for AD: | + | * Opret en **ny LDAP User Federation** i Keycloak for AD: |
| - | - LDAP URL: `ldap:// | + | * LDAP URL: < |
| - | - Bind DN: `CN=admin, | + | * Bind DN: < |
| - | - Base DN: `DC=example, | + | * Base DN: < |
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Brugeroplevelse ==== | ||
| + | |||
| + | ===== Bruger på Linux-maskine ===== | ||
| + | * Logger ind med **AD/ | ||
| + | * Åbner Nextcloud → **automatisk logget ind via Keycloak SSO**. | ||
| + | |||
| + | ===== Bruger på Windows-maskine ===== | ||
| + | * Logger ind på Windows med **AD-credentials**. | ||
| + | * Åbner Nextcloud i browser → **viderestilles til Keycloak** → logger ind med **samme AD-credentials**. | ||
| + | |||
| + | ===== Admin ===== | ||
| + | * Styrer **alle brugere/ | ||
| + | * Konfigurerer **rettigheder i Keycloak** (f.eks. hvilke grupper har adgang til Nextcloud). | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Sikkerhedsanbefalinger ==== | ||
| + | |||
| + | ===== LDAP ===== | ||
| + | * Brug **LDAPS** (port 636) eller **StartTLS** for krypteret kommunikation. | ||
| + | * Begræns **bind DN-rettigheder** (kun læs/adgang til nødvendige felter). | ||
| + | |||
| + | ===== Keycloak ===== | ||
| + | * Aktiver **HTTPS** (aldrig HTTP i production). | ||
| + | * Brug **stærke adgangskoder** til admin-brugere. | ||
| + | * Aktiver **brute-force beskyttelse** (f.eks. max 5 forsøg). | ||
| + | |||
| + | ===== Nextcloud ===== | ||
| + | * Konfigurer **CORS** korrekt for at tillade Keycloak-domænet. | ||
| + | * Brug **AppArmor/ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Alternativer og udvidelser ==== | ||
| - | --- | + | ^ Komponent |
| - | --- | + | | LDAP | FreeIPA, Univention Corporate Server | Inkluderer Kerberos, DNS, og CA. | |
| - | ## **8. Eksempel på brugeroplevelse** | + | | Keycloak |
| - | - **Bruger på Linux-maskine**: | + | | Nextcloud |
| - | - Logger ind med **AD/ | + | | Samba | Winbind (del af Samba) |
| - | - Åbner Nextcloud → **automatisk logget ind via Keycloak SSO**. | + | |
| - | - **Bruger på Windows-maskine**: | + | ---- |
| - | | + | |
| - | - Åbner Nextcloud i browser → **viderestilles til Keycloak** → logger ind med **samme AD-credentials**. | + | |
| - | - **Admin**: | + | ==== Opsummering ==== |
| - | - Styrer **alle brugere/ | + | |
| - | - Konfigurerer **rettigheder i Keycloak** (f.eks. hvilke grupper har adgang til Nextcloud). | + | |
| - | --- | + | ^ Krav ^ Løsning |
| - | --- | + | | Central brugerstyring |
| - | ## **9. Sikkerhedsanbefalinger** | + | | Single Sign-On (SSO) |
| - | - **LDAP**: | + | | Windows-kompatibilitet |
| - | - Brug **LDAPS** | + | | Digital suverænitet |
| - | - Begræns **bind DN-rettigheder** | + | | Skalerbarhed |
| - | - **Keycloak**: | + | | Sikkerhed |
| - | - Aktiver **HTTPS** | + | |
| - | - Brug **stærke adgangskoder** | + | |
| - | - Aktiver **brute-force beskyttelse** | + | |
| - | - **Nextcloud**: | + | |
| - | - Konfigurer **CORS** korrekt for at tillade | + | |
| - | - Brug **AppArmor/ | + | |
| - | --- | + | ---- |
| - | --- | + | |
| - | ## **10. Alternativer og udvidelser** | + | |
| - | | **Komponent** | + | |
| - | |---------------------|-----------------------------------------|--------------------------------------------------| | + | |
| - | | **LDAP** | + | |
| - | | **Keycloak** | + | |
| - | | **Nextcloud** | + | |
| - | | **Samba** | + | |
| - | --- | + | ==== Næste skridt ==== |
| - | --- | + | |
| - | ## **11. Opsummering: | + | |
| - | | **Krav** | + | |
| - | |-----------------------------------|-----------------------------------------------------------------------------| | + | |
| - | | **Central brugerstyring** | + | |
| - | | **Single Sign-On (SSO)** | + | |
| - | | **Windows-kompatibilitet** | + | |
| - | | **Digital suverænitet** | + | |
| - | | **Skalerbarhed** | + | |
| - | | **Sikkerhed** | + | |
| - | --- | ||
| - | --- | ||
| - | ## **12. Næste skridt for dig, Søren** | ||
| - | Da du har erfaring med **Microsoft-systemer** og **digital suverænitet**, | ||
| 1. **Prøv opsætningen i et testmiljø**: | 1. **Prøv opsætningen i et testmiljø**: | ||
| - | - Brug **Docker** til at køre LDAP (f.eks. | + | * Brug **Docker** til at køre LDAP (f.eks. |
| - | - Test integration med Nextcloud (Docker-container). | + | * Test integration med Nextcloud (Docker-container). |
| 2. **Vurder SUSE-certificeringer**: | 2. **Vurder SUSE-certificeringer**: | ||
| - | - **SUSE Certified Administrator (SCA)** i **Enterprise Linux** | + | * **SUSE Certified Administrator (SCA)** i **Enterprise Linux**. |
| - | - **SUSE Certified Engineer (SCE)** i **Identity Management** | + | * **SUSE Certified Engineer (SCE)** i **Identity Management**. |
| 3. **Overvej FreeIPA**: | 3. **Overvej FreeIPA**: | ||
| - | - Red Hat’s løsning til **integreret LDAP + Kerberos + DNS + Certificate Authority**. | + | * Red Hat’s løsning til **integreret LDAP + Kerberos + DNS + Certificate Authority**. |
| - | - God til **fuld erstatning af AD** i Linux-miljøer. | + | |
| 4. **Automatiser med Ansible**: | 4. **Automatiser med Ansible**: | ||
| - | - Skriv playbooks til at deploye LDAP, Keycloak, og Nextcloud. | + | * Skriv playbooks til at deploye LDAP, Keycloak, og Nextcloud. |
| - | --- | + | ---- |
| + | ==== Spørgsmål til refleksion ==== | ||
| + | * Har du allerede en **LDAP-server** eller **Active Directory** i drift, som du ønsker at integrere med? | ||
| + | * Skal **Nextcloud** være den eneste applikation, | ||
| + | * Ønsker du at **erstatte AD** på sigt, eller skal det kun være parallelt? | ||
teknik/infrastruktur/ldap.1784628102.txt.gz · Last modified: by smarken
