0

私はずっと壁に頭をぶつけていました。最近、Tomcat を 6.0.18 から 6.0.37 にアップグレードして、セキュリティ チームによるいくつかの脆弱性を修正しました。CAC ログイン機能を除いて、すべて正常に動作します。これらの構成は 6.0.18 では正常に機能しますが、6.0.37 では機能しません (HTTP500 エラーが発生します) ユーザーが CAC でログインすると、サイト プロンプトで CAC 証明書が要求され、ユーザーが証明書を選択すると、ユーザーがログインします。

基本的に、サイトは CAC から証明書を取得し、LDAP で認証して LDAP からユーザー名を取得します。アプリはユーザー名を使用してユーザーを認証し、ログインして使用します。

ユーザー名を認証するには、/process.jsp にアクセスする必要があります。ただし、web.xml では (保護されたページ) に設定されています。

私を正しい方向に向けるのを手伝ってください。本当に感謝しています。

Tomcat 6.0.37 で動作しない理由がわかりません。Tomcat 6.0.37 用に設定する必要がある新しい構成はありますか

以下は、server.xml ファイル内のコネクタと JNDIRealm の構成です。

<Connector port="443" 
    maxHTTPHeaderSize="8192" 
    allowUnsafeLegacyRenegotiation="true" 
    protocol="org.apache.coyote.http11.Http11Protocol" 
    SSLEnabled="true" 
    enableLookups="false" 
    disableUploadTimeout="true" 
    acceptCount="200" 
    maxThreads="150" 
    scheme="https" 
    secure="true" 
    keystoreFile="C:\Tomcat 6.0\cert\xxxx.keystore" 
    keystorePass="changeit" 
    truststoreFile="D:\Sun\SDK\jdk\jre\lib\security\cacerts" 
    truststorePass="changeit" 
    clientAuth="false" 
    sslProtocol="TLS" 
    ciphers="xxxxxxxxx" 
    address="0.0.0.0"/>



<Realm className="org.apache.catalina.realm.JNDIRealm"
    connectionURL="ldap://xxx.xx.xx.xxx/" 
    alternateURL="ldap://xxx.xx.xx.xxx/" 
    connectionName="CN=xxxxxx,OU=xxxx Accounts,OU=xxxxx,DC=xxxx,DC=xxxx,DC=local" connectionPassword="MyPassword" 
    authentication="simple" 
    referrals="follow" 
    userSubtree="true" 
    userBase="OU=xxxxx,DC=xxxx,DC=dhhq,DC=local" 
    userRoleName="xxx" 
    userSearch="(altSecurityIdentities={0})" roleBase="CN=xxxxxxx,OU=xxxxxx,OU=Accounts,DC=xxxx,DC=xxxx,DC=local" roleSubtree="true" 
    roleName="cn" 
    roleSearch="(member={0})" />

web.xml セキュリティ構成:

    <security-constraint>
           <web-resource-collection>
                <web-resource-name>Myapp</web-resource-name>
                <url-pattern>/process.jsp</url-pattern>
           </web-resource-collection>
        <auth-constraint>
        <role-name>User</role-name>
        </auth-constraint>   
           <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
       </user-data-constraint>
       </security-constraint>   
    <login-config>
            <auth-method>CLIENT-CERT</auth-method>
            <realm-name>TOMCATLDAP</realm-name>
        </login-config>
    <security-role>
        <role-name>User</role-name>
    </security-role>
4

1 に答える 1