2016-04-05 13 views
1

Tomcat 8でGrails 3アプリケーションを実行しています。私が開発したアプリケーションはHTTPSを経由しており、grails springセキュリティLDAPプラグインを使用して認証しています。 (プラグインによって提供されるデフォルトのログインページで、カスタムは何もありません)TomcatはHTTPSのみを使用でき、HTTPは無効です。Grails 3とSpringセキュリティLDAP暗号化されていないトラフィック

マイapplication.groovyファイルには、春のセキュリティのために、次のコードが含まれます。

grails.plugin.springsecurity.ldap.context.server = 'ldap://192.168.3.4:389/DC=MY_DOMAIN,DC=Net' 
grails.plugin.springsecurity.password.algorithm = 'SHA-256' 

を(他の詳細はなど、照会する何のためだけの設定パラメータです)

ここでは、私のテストシナリオです:

私は、UbuntuマシンでホストされているWindowsマシンをアプリケーションに搭載しています。 ubuntuマシンは、AD(Active Directory)マシンに対してLDAP要求を行います。 は、参考のため、ここではIPのは、次のとおりです。

Windows Machine: 192.168.1.1 
Tomcat Ubuntu Machine: 192.168.1.10 
AD Machine: 192.168.3.4 

0.1(Windowsマシン)からのTCPトラフィックを監視した後、すべてが文字化けしている、そしてそれは読み取ることはできません。 .10から.4(TomcatからAD)にパケットをスニッフィングすると、LDAPパケットはクリアテキストになります。確かに、私はこれがこのようになっているとは思わない。 ldapトラフィックが暗号化されていることを確認するためにTomcatで行う必要のある追加ステップがありますか?

Picture of the issue

答えて

0

私はthis postを読んでおり、私たちはsslを介してLDAP自体を実行できます。これに加えて、あなたはまた、ルート証明書は、Javaでの信頼リストに追加されていることを確認する必要があり、

'ldap://192.168.3.4:389/DC=MY_DOMAIN,DC=Net' 

'ldaps://192.168.3.4:636/DC=MY_DOMAIN,DC=Net' 

注:だから、私たちの接続文字列はから行くだろう。私のために、次のコマンドはトリックをやったようです:

keytool -import -noprompt -trustcacerts -alias myAdCert -file /location_of_cert/adcert.cer -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit 
0

あなたはポート636および/またはプレフィックスLDAPSを使用するセキュアLDAPを使用する必要があります://。

+0

私はあなたが正しいと思います。私はちょうどいくつかのランダムなブログで同様の例を見た。私はそれと一緒に遊んで、私はそれを働かせることができるかどうかを確認します。 – angryip

関連する問題