ADサーバはこんな状態です

LDAPの設定方法
ユーザと認証 > LDAPサーバ

名前:任意の名前
サーバIP/IPアドレス:ADサーバのFQDNかIPアドレスを記載
サーバポート:ADサーバのポート番号(サーバで変更していなければデフォルトで問題ない)
LDAP=389 LDAPS=636
コモン識別子:FortiGateがADに対して「ユーザーのどの属性(項目)を使ってログイン処理を行うか」を指定する
例
・cn (Common Name)=「鈴木 一郎」のようなフルネーム。
・UPN(userPrincipalName)=i-suzuki@example.local(メールアドレス形式)
・sAMAccountName:「i-suzuki」のような英数字のID。一番使用されていて推奨
識別子:ここには「どの範囲のユーザーを探しに行くか」という住所を書きます。
ou=一課,ou=営業,dc=collitech,dc=local ・・・これなら営業1課配下となり「営1課 一郎 のみ」
ou=営業,dc=collitech,dc=local ・・・これなら営業配下となり「鈴木 一郎 ・ 営1課 一郎」の両方が当てはまる

「より強固な認証が必要」で失敗

最初は「より強固な認証が必要」となり失敗しました。
原因はADサーバの仕様で「389番(平文)でパスワードを送ってくるな!」(ポリシーで拒否)と拒否されてました。
パケットキャプチャ
「The server requires binds to turn on integrity checking if SSL\TLS are not already active on the connection」


ADのポリシーを変更して成功
コンピューターの構成 > ポリシー > Windows の設定 > セキュリティの設定 > ローカル ポリシー > セキュリティ オプション
ドメインコントローラー:LDAPサーバの署名要求の適用 を無効にしました
セキュリティが落ちるので推奨はされてません



成功しました
しかしユーザ名はadministratorだと、どのドメインの administrator なのか特定できず認証に失敗します
なので
administrator@collitech.local = UPN(userPrincipalName)形式
cn=administrator,cn=users,dc=collitech = DN(Distinguished Name)形式
としましょう
クレデンシャルテスト

テストでは指定しているou=営業配下であればちゃんと成功しますね

指定をou=1課,ou=営業 に変更してみたら、ちゃんと1課配下しか成功しないようになりました
LDAPSの設定方法

セキュアな接続をONにすれば、
ADサーバでLDAPSを有効にしてあれば、特に問題なく成功します。
(ポート番号も自動で636に変わります)

通信も暗号化されています
LDAPSで証明書の検証を実行
Fortigateはデフォルトでは証明書の検証をしないので、暗号化の為だけについかいます
なのでセキュアにしたい場合はチェックを有効にする必要があります

CA証明書をインストール
証明書の検証を行うには、FortigateにADサーバのCA証明書をインストールする必要があります

システム > 証明書 > 作成/インポート >CA証明書 を選択
タイプ:ファイル
アップロード:CA証明書のファイルを指定
OKを選択

証明書の枠にインポートした証明書があることを確認

証明書で先ほどインポートした証明書を選択
※サーバIDチェックをOFFにしている場合は、「サーバIP/名前」がIPアドレスでも成功します
サーバIDチェックをONにすると失敗します。
IDチェックは「接続先に入力した名前」と「証明書の発行先」が一致するかを検証するため、IPアドレス(10.0.1.49)とFQDN(WinSer2025…)では不一致とみなされ、接続エラーになります。


サーバ名もADサーバのFQDNにしてやれば、チェックがOKとなり、成功となります。
FortigateでADサーバのFQDNが解決できることが大前提です





コメント