LoginSignup
13
7

More than 3 years have passed since last update.

ActivieDirectoryのLDAP 署名有効化をやってみた

Last updated at Posted at 2019-12-16

はじめに

2020 年初頭の Windowsアップデートで、「LDAP 署名有効化」「LDAP チャネルバインディング (LDAPS 利用時)化」になるとのことで試してみました。
本記事では「LDAP 署名有効化」で試したことについての記録です。

https://portal.msrc.microsoft.com/ja-JP/security-guidance/advisory/adv190023
https://msrc-blog.microsoft.com/2019/10/02/ldapbinding/

試した環境

  • Windows Server 2016 Standrd
  • 2012/12/11時点での Windowsアップデート実施済み
  • ADをセットアップ済み

グループポリシー定義で変更

マイクロソフトのアナウンスによるとサーバーのLDAP 署名有効化にはグループポリシーの定義で変更するみたいなので素直にやってみました。

LDAP署名グループポリシー設定.png

よし、簡単に出来たー。これで Linuxから普通の ldapsearch ではエラーになるはず1

# ldapsearch -x -LLL -H ldap://${LDAP}/ -D "${ADMIN}" -b ${SUFFIX} -y ${PASS} -s sub "(cn=Administrator)" cn
dn: CN=Administrator,CN=Users,DC=win2018adfs,DC=osstech,DC=example,DC=co,DC=jp
cn: Administrator

って、あれー。応答返ってくるし。 同ページに「変更後の確認方法2」も載っているのでそれも試してみるも以下の結果に。

LDAP接続成功png.png

BIND 成功してる!! どうやらグループポリシーではダメらしい。windowsようわからん。

ローカルセキュリティポリシー設定

確かローカルセキュリティポリシーで同じ感じの設定があったはず。ってことで確認してみる。

LDAP署名ローカルセキュリティポリシー設定.png

LDAPサーバー署名必須 は「なし」になっている。ここを変えれば良いのかなぁー。

LDAP署名ローカルセキュリティポリシー変更できない.png

設定値欄がグレーアウトして変えられないんだけど…

ローカルセキュリティポリシーを強引に変える

ということで強引にローカルセキュリティポリシーを変えてみることにしました。
こちらのページに従って変えることができました。)

1. ローカルセキュリティポリシーのポリシーエクスポート

「操作」-> 「ポリシーのエクスポート」で現在の設定を任意のファイル名で保存します。
ローカルセキュリティポリシーエクスポート.png

2. mmc を起動

「ファイル名を指定して実行」で mmc.exe と入力て起動します。
mmc起動.png

3. スナップインの追加と削除

「ファイル」->「スナップインの追加と削除」からセキュリティ構成と分析を追加します。
スナップイン追加と削除.png

スナップイン追加と削除2.png

4. セキュリティ構成と分析でデータベースを開く

「セキュリティ構成と分析」で右クリックをし、「データベースを開く」を選択します。

セキュリティ構成と分析.png

5. データベースを開く

新しく作ることになるので「ファイル名」に任意の名前を入力して「開く」を押します。
データベースを開く.png

6. ポリシーファイルを開く

続いて「テンプレートのインポート」になるので「1. ローカルセキュリティポリシーのポリシーエクスポート」で保存したファイルを指定します。
ローカルセキュリティポリシーのインポート.png

7. コンピュータの分析

「セキュリティ構成と分析」で右クリックをし、「コンピュータの分析」を選択します。
コンピュータの分析.png

ログファイルのパス指定画面となるので適当に指定し、「OK」を押します。

分析の実行.png

8. ローカルセキュリティポリシーを設定

ローカルセキュリティポリシーと同じ設定画面となるので、目的の「LDAPサーバー署名必須」を選択します。
コンソールからのLDAPサーバー署名必須.png

9. LDAPサーバー署名必須の有効

この画面で「署名を必要とする」に変更して「OK」を押します。

LDAP署名ローカルセキュリティポリシー変更するとき.png

署名を必要するになっていることを確認します。
LDAP署名を必須とした.png

10. コンピュータの構成

「セキュリティ構成と分析」で右クリックをし、「コンピュータの構成」を選択します。
コンピューターの構成.png

ログファイルのパス指定画面となるので適当に指定し、「OK」を押します。

分析の実行.png

以上で作業は完了です。これで設定が反映されました。実際にローカルセキュリティポリシーの設定を新しく開いてみると変更されています。

LDAP署名ローカルセキュリティポリシー変更後.png

LDAP署名有効化状態で ldapsearch

おそらくLDAP署名の有効化を設定出来たのでLinuxから ldapsearch を実行!

# ldapsearch -x -LLL -H ldap://${LDAP}/ -D "${ADMIN}" -b ${SUFFIX} -y ${PASS} -s sub "(cn=Administrator)" cn
ldap_bind: Strong(er) authentication required (8)
    additional info: 00002028: LdapErr: DSID-0C090256, comment: The server requires binds to turn on integrity checking if SSL\TLS are not already active on the connection, data 0, v3839

エラーが返ってきたー。やったぜ。

ldaps にすると結果返ってきます。

# ldapsearch -x -LLL -H ldaps://${LDAP}/ -D "${ADMIN}" -b ${SUFFIX} -y ${PASS} -s sub "(cn=Administrator)" cn
dn: CN=Administrator,CN=Users,DC=win2018adfs,DC=osstech,DC=example,DC=co,DC=jp
cn: Administrator

一応「変更後の確認方法」の方もやってみました。

強力なセキュリティで保護された認証が必要.png

想定通りの結果です。

LDAP署名の有効化を確認できました。めでたしめでたし。

時間が経つとLDAP署名が無効化される(2019/12/23追記)

イベントビューアーに以下の記録がされたタイミングでローカルセキュリティポリシーのLDAP署名が「なし」と設定変更されましたので、テスト最中に設定が切り替わってLDAP署名が無効化状態になってしまう可能性があるのでご注意ください。

グループポリシーオブジェクトセキュリティポリシー.png

グループポリシーのLDAP署名必須は「署名を必要とする」になっていて、仮に適用されても有効なままになると思うのにWindows意味不明…


  1. LDAP署名なにそれ RFC にあるの?聞いたこと無いんでopenldap-clientsパッケージでは対応してないと決めつけ 

  2. 日本語訳のページ間違っているので英語版見た方が確実です。ファイル名を指定して実行は ldap.exe ですよマイクロソフトさん。 

13
7
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
7