サイトアイコン puti se blog

ldapにログイン(バインド)する時にパスワードは平文でネットワークに流れてしまうのか?

LDAPのセキュリティの話です。
WindowsのADサーバーのLDAPサービスは、LDAPでログインしないと使えません。
このLDAPサーバーにログインすることを、LDAPでは「バインド」と言います。
LDAPサーバーにバインドする時に、LDAPSのように暗号化されていないLDAPではパスワードがネットワーク上に平文で流れてしまっているのでしょうか?

環境・前提条件

バインドしていない場合は、ADのLDAPは当然検索や操作できないです。

Error 0x4DC ユーザーが認証されていないため、要求された操作は実行されませんでした。

結論、LDAPではパスワードはネットワーク上に平文で流れていませんでした!NTLM認証のチャレンジレスポンス式

LDAPのバインド時に、ネットワークのパケットキャプチャしてみました。
その結果、LDAPのバインドリクエスト時にパスワードは平文でネットワーク上に流れていませんでした。
NTML認証を利用しており、パスワードが直接ネットワーク上に流れないチャレンジレスポンス形式の通信でした。

調べると、LDAPのプロトコルバージョン3からこのような認証フレームワークが実装されたようですね。

LDAPのバインドで使用できる認証方式は?LDAPのセキュリティ

LDAPのパスワード認証方式では、

が利用出来、シンプル認証ではネットワーク上にパスワードが平文で流れてしまいます。
Kerberos認証も使えるようですので、本来Windowsでは Kerberos認証を使用しているかもしれませんが、今回確認した環境ではNTML認証を使用していました。

LDAPで使用されていたWindowsのNTML認証とは?

NTLM認証と言うのは、Windows NT LAN Manager認証の略で、 Kerberos認証が使われる前、Windowsで広く使われていた認証方式ですね。
まず、サーバー側が「チャレンジ」というランダムな文字列を送り、クライアント側が、この「チャレンジ」をパスワードを暗号化キーとして使用し、暗号化したものを「レスポンス」としてサーバーに返します。
サーバーも自信で「チャレンジ」をパスワードを暗号化キーとして暗号化し、クライアントから来た「レスポンス」と比較し、認証する方式です。
この方式の場合、パスワードは平文でネットワーク上に流れないことがわかりますね。

パスワードが平文でネットワーク上に流れていないことがわかり、安心しましたが、さらにセキュリティを高めるためにはやはり、LDAPS(LDAP over SSL)ですね。最近、少し話題になっていますね。

モバイルバージョンを終了