#pIdentity
ID ソース: Active Directory、LDAP、Entra ID、Keycloak、SCIM
管理画面 > ID ソースで、テナントまたは個々のドメインを Active Directory や LDAP (バインドによるサインイン、ユーザー、入れ子のグループ、連絡先の同期)、または Microsoft Entra ID、Keycloak などの OpenID Connect プロバイダー (SSO によるサインイン、SCIM 2.0 によるプロビジョニング) に接続します。ローカル アカウントはこれらと並行して引き続き完全に使用できます (混在運用)。各アカウントのソースは必ず 1 つで、照合には ExternalId (AD objectGUID、Entra objectId、LDAP entryUUID) を使用し、メール アドレスだけで照合することはありません。ソースが管理するフィールドは、管理画面と "マイ アカウント" で読み取り専用になります。
非常時のアクセス用に、ソースを持たないローカルのサーバー管理者を少なくとも 1 人残してください。このアカウントは AD から引き継がれることはなく、SSO のメール照合でサインインすることもなく、AD や Entra に到達できない場合でも動作します。nextxch のロックアウトしきい値 (既定は 5 回の失敗) を AD のアカウント ロックアウトしきい値より低く設定してください。そうすれば、nextxch が bind の前に停止するため、攻撃者が AD アカウントをロックすることはありません。
Entra ID: サインインと SCIM 用のアプリ登録
サインイン: [管理] > [ID ソース] のリダイレクト URI を指定した独自のアプリ登録 (Web プラットフォーム)。プロビジョニング: プロビジョニング モードを "自動" にしたギャラリー外のエンタープライズ アプリ。テナント URL とシークレット トークンは 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
設定、既定値 & ベスト プラクティス
| 設定 / 場所 | 説明 | 既定値 | 本番環境のベスト プラクティス |
|---|---|---|---|
Active Directory: Dienstkonto |
管理者権限を持たない通常のドメイン ユーザーで、読み取り専用です (既定の "Authenticated Users" の読み取りアクセスで十分です)。パスワードは無期限です。暗号化して保存され、表示されることはありません。 | CN=svc-nextxch,OU=Service,... |
ドメイン管理者は不要です。写真と proxyAddresses には読み取り権限で十分です。必要に応じて "ログオン先" を DC に制限してください。 |
LDAPS 636 / StartTLS 389 |
ドメイン コントローラーへの暗号化接続。複数の DC を順に試行し (フェイルオーバー)、DC ごとのタイムアウトを設定できます。 | LDAPS, 10 s |
nextxch サーバーで DC 証明書 (または社内 CA) を信頼してください。"証明書を検証しない" はセットアップ中の短時間に限って使用します。 |
Anmeldung (alle Protokolle) |
Webmail、管理、IMAP、SMTP、POP3、ActiveSync、EWS、MAPI、DAV は、バインドによって AD パスワードを検証します。ログイン名: メール アドレス、userPrincipalName、sAMAccountName、または DOMAIN\user。 | Cache 15 min (Hash) |
短期のサインイン キャッシュには HMAC のみが保存され、パスワードが保存されることはありません。DC が短時間停止してもサインインを継続できます。0 で無効になります。 |
Abgleich: Benutzer, Gruppen, Kontakte |
mail と proxyAddresses (SMTP: = プライマリ、smtp: = エイリアス)、displayName、givenName、sn、telephoneNumber、mobile、title、department、company、physicalDeliveryOfficeName、manager、thumbnailPhoto。userAccountControl と accountExpires によりメールボックスが無効化されます。メールが有効なグループは配布リストになり (LDAP_MATCHING_RULE_IN_CHAIN による入れ子)、連絡先はアドレス帳に表示されます。 | Delta 15 min, voll 02:00 |
初回実行の前に "プレビュー" を使用してください: 何も変更せずに、どのアカウントが作成、引き継ぎ、または無効化されるかを表示します。"メール ユーザー" グループでフィルターします。 |
Gelöschte Objekte |
AD からオブジェクトが消えた場合 (または Entra が SCIM DELETE を送信した場合)、メールボックスは即座に無効化されます。猶予期間の経過後、管理者が削除、共有メールボックスとして保持、無効のまま保持のいずれかを決定します。 | 30 Tage |
名前の変更は削除ではありません。古いプライマリ アドレスはエイリアスとして残ります。 |
Vorlagen |
Microsoft AD、Samba AD、OpenLDAP、Univention Corporate Server、FreeIPA 向けの属性マッピング。各フィールドは上書きでき、"-" で無効にできます。 | Active Directory |
OpenLDAP でグループ フィルターを使うには memberOf オーバーレイが必要です。その場合、nextxch はネストされたグループを自身で解決します。 |
OIDC (Entra ID, Keycloak) |
サーバー側での PKCE 付き認可コード フロー、自動キー ロールオーバーに対応した Discovery と JWKS、RS256/ES256、iss、aud、exp、nonce および Entra テナント tid の検証。グループまたはアプリ ロールのクレームは User、TenantAdmin、ServerAdmin にマッピングされます。 | Knopf auf der Anmeldeseite |
Keycloak: authority https://kc.example.com/realms/<realm>、標準フローの機密クライアント、リダイレクト URI は上記のとおり。ロールはクレーム realm_access.roles で渡します。 |
Lokale Passwörter pro Domain |
Webmail / 管理とプロトコルで個別にオフにできます。Entra のパスワードが nextxch に届くことはありません。メール アプリ (Outlook、iPhone、Thunderbird) はアプリ パスワードを使用し、Webmail ではアシスタントが設定を案内します。 | An |
プロトコルごとに "OAuth / Kerberos のみ" を追加で強制することもできます (第 16a 章と第 16b 章を参照)。ソース側で許可されていれば、AD ユーザーは Webmail でパスワードを変更できます。 |
Kennwort ändern (AD / LDAP) |
"ユーザーにパスワードの変更を許可" を有効にすると、Webmail の [設定] > [セキュリティ] にフォーム (現在のパスワードと新しいパスワード) が表示されます。AD: 古いパスワードを使って LDAPS 経由で unicodePwd を変更するため、AD の複雑さ要件、パスワード履歴、最小有効期間が適用されます。その他のディレクトリ: RFC 3062。管理者はアカウント ダイアログでパスワードをリセットできます (任意で "次回ログオン時に変更")。 | Aus |
管理者によるリセットのために、ユーザー OU に対する "パスワードのリセット" のみをサービス アカウントに委任してください。パスワードがログに記録されることはありません。 |