#pIdentity
Fontes de identidade: Active Directory, LDAP, Entra ID, Keycloak e SCIM
Em Admin > Fontes de identidade, você conecta um locatário ou domínios individuais ao Active Directory ou LDAP (login por bind, sincronização de usuários, grupos aninhados e contatos) ou ao Microsoft Entra ID, Keycloak e outros provedores OpenID Connect (login por SSO, provisionamento por SCIM 2.0). Contas locais continuam totalmente utilizáveis ao lado delas (operação mista). Cada conta tem exatamente uma fonte; a correspondência usa o ExternalId (AD objectGUID, Entra objectId, LDAP entryUUID), nunca apenas o endereço de e-mail. Campos gerenciados pela fonte são somente leitura na administração e em "Minha conta".
Mantenha pelo menos um administrador de servidor local sem origem como acesso de emergência (break-glass). Ele nunca é assumido do AD, nunca faz login pela correspondência de e-mail do SSO e funciona mesmo quando o AD ou o Entra estão inacessíveis. Defina o limite de bloqueio do nextxch (padrão 5 falhas) abaixo do limite de bloqueio de contas do AD: assim, invasores nunca bloqueiam uma conta do AD, porque o nextxch para antes do bind.
Entra ID: registro de app para login e SCIM
Login: registro de app próprio (plataforma web) com o URI de redirecionamento de Admin > Fontes de identidade. Provisionamento: app corporativo fora da galeria com modo de provisionamento "Automático", URL do locatário e token secreto do nextxch.
1. Entra admin center > App registrations > New registration
Name: nextxch Webmail
Account types: Accounts in this organizational directory only (single tenant)
Redirect URI: Web https://mail.example.com/api/auth/sso/callback
2. Certificates & secrets > New client secret -> enter it in nextxch as client secret
3. Token configuration > Add optional claim: ID token "email" (otherwise preferred_username = UPN is used)
4. App roles (optional): e.g. create "Nextxch.TenantAdmins", assign users,
in nextxch: claim "roles", value "Nextxch.TenantAdmins" -> role TenantAdmin
5. nextxch Admin > Identity sources > Add Entra ID / OIDC
Authority: https://login.microsoftonline.com/<directory id>/v2.0
Client id: <application id>
6. SCIM: Enterprise applications > New application > Create your own (non-gallery)
Provisioning > Automatic
Tenant URL: https://mail.example.com/scim/v2
Secret token: nxscim_... (Admin > Identity sources > Create SCIM token)
Mappings: userName <- userPrincipalName, emails[type eq "work"].value <- mail,
externalId <- objectId (recommended) or mailNickname
Configurações, valores padrão e boas práticas
| Configuração / local | Descrição | Valor padrão | Boa prática para produção |
|---|---|---|---|
Active Directory: Dienstkonto |
Usuário de domínio normal sem direitos de administrador, somente leitura (o acesso de leitura padrão "Authenticated Users" é suficiente). A senha não expira. Armazenada criptografada, nunca exibida. | CN=svc-nextxch,OU=Service,... |
Nenhum administrador de domínio. Leitura basta para fotos e proxyAddresses. Opcionalmente, restrinja "Fazer logon em" aos DCs. |
LDAPS 636 / StartTLS 389 |
Conexão criptografada com os controladores de domínio. Vários DCs são tentados em ordem (failover), com timeout por DC configurável. | LDAPS, 10 s |
Confie no certificado do DC (ou da CA interna) no servidor nextxch. Use "Não verificar o certificado" apenas brevemente durante a configuração. |
Anmeldung (alle Protokolle) |
Webmail, admin, IMAP, SMTP, POP3, ActiveSync, EWS, MAPI e DAV verificam a senha do AD por bind. Nomes de login: endereço de e-mail, userPrincipalName, sAMAccountName ou DOMAIN\user. | Cache 15 min (Hash) |
O cache curto de entrada armazena apenas um HMAC, nunca a senha, e mantém a entrada funcionando durante uma breve indisponibilidade do DC. 0 o desativa. |
Abgleich: Benutzer, Gruppen, Kontakte |
mail e proxyAddresses (SMTP: = principal, smtp: = alias), displayName, givenName, sn, telephoneNumber, mobile, title, department, company, physicalDeliveryOfficeName, manager, thumbnailPhoto; userAccountControl e accountExpires desativam a caixa de correio. Grupos habilitados para e-mail tornam-se listas de distribuição (aninhadas via LDAP_MATCHING_RULE_IN_CHAIN) e contatos aparecem no catálogo de endereços. | Delta 15 min, voll 02:00 |
Use "Pré-visualizar" antes da primeira execução: mostra quais contas seriam criadas, assumidas ou desativadas, sem alterar nada. Filtre por um grupo "Usuários de e-mail". |
Gelöschte Objekte |
Quando um objeto desaparece do AD (ou o Entra envia SCIM DELETE), a caixa de correio é desativada imediatamente. Após o período de carência, o administrador decide: excluir, manter como caixa de correio compartilhada ou manter desativada. | 30 Tage |
Renomear não é excluir: o endereço principal antigo permanece como alias. |
Vorlagen |
Mapeamento de atributos para Microsoft AD, Samba AD, OpenLDAP, Univention Corporate Server e FreeIPA; cada campo pode ser sobrescrito ou desativado com "-". | Active Directory |
O OpenLDAP precisa do overlay memberOf para o filtro de grupos; o nextxch resolve grupos aninhados ali por conta própria. |
OIDC (Entra ID, Keycloak) |
Fluxo de código de autorização com PKCE no servidor, descoberta e JWKS com rotação automática de chaves, RS256/ES256, verificações de iss, aud, exp, nonce e do locatário do Entra (tid). Claims de grupo ou de função de app são mapeados para User, TenantAdmin e ServerAdmin. | Knopf auf der Anmeldeseite |
Keycloak: authority https://kc.example.com/realms/<realm>, cliente confidencial com standard flow, URI de redirecionamento como acima; funções pelo claim realm_access.roles. |
Lokale Passwörter pro Domain |
Pode ser desativado separadamente para webmail/admin e protocolos. As senhas do Entra nunca chegam ao nextxch: apps de e-mail (Outlook, iPhone, Thunderbird) usam senhas de app; o webmail orienta a configuração com um assistente. | An |
Por protocolo, você pode adicionalmente impor "somente OAuth / Kerberos" (veja os capítulos 16a e 16b). Usuários do AD podem alterar a senha no webmail quando a origem permitir. |
Kennwort ändern (AD / LDAP) |
Com "Usuários podem alterar a senha", o webmail mostra um formulário em Configurações > Segurança (senha atual e nova). AD: unicodePwd via LDAPS com a senha antiga, de modo que se aplicam a complexidade, o histórico de senhas e a idade mínima do AD; outros diretórios: RFC 3062. Os administradores redefinem senhas na caixa de diálogo da conta (opcionalmente "alterar no próximo logon"). | Aus |
Para o reset pelo administrador, delegue à conta de serviço apenas "Redefinir senha" na OU de usuários. Senhas nunca são registradas em log. |