Sun Java System Directory Server Enterprise Edition 6.2 관리 설명서

24장 디렉토리 프록시 서버와 백엔드 LDAP 서버 간의 연결

이 장에서는 디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 연결을 구성하는 방법에 대해 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.

디렉토리 프록시 서버와 백엔드 LDAP 서버 간의 연결 구성

LDAP 데이터 소스를 만든 경우 LDAP 데이터 소스에 열린 기본 연결 수는 6개입니다(읽기, 바인드 및 쓰기 작업에 각각 2개씩). 기본 연결을 확인하려면 다음 명령을 입력합니다.


dpconf get-ldap-data-source-prop src-name num-read-init num-write-init num-bind-init
num-bind-init   :  2
num-read-init   :  2
num-write-init  :  2

연결 수는 트래픽이 증가하면 자동으로 늘어납니다.

디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 연결을 구성하는 방법에 대한 자세한 내용은 다음 절차를 참조하십시오.

Procedure디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 연결 수를 구성하는 방법


주 –

이 절차에서는 바인드 작업을 위한 연결 수를 구성합니다. 읽기 또는 쓰기 작업을 위한 연결 수를 구성하려면 동일한 절차를 수행하되, bindread 또는 write로 바꿉니다.


DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 바인드 작업을 위해 디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 초기 연결 수를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     num-bind-init:new-value
    
  2. 바인드 작업을 위한 연결 증분을 구성합니다.

    증분은 현재 연결 수보다 많은 연결이 요청될 때마다 추가되는 연결 수입니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     num-bind-incr:new-value
    
  3. 바인드 작업을 위한 최대 연결 수를 구성합니다.

    이 최대 연결 수에 도달하면 더 이상 연결이 추가되지 않습니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     num-bind-limit:new-value
    

Procedure연결 시간 초과를 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 디렉토리 프록시 서버에서 데이터 소스에 연결을 시도할 수 있는 최대 시간을 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     connect-timeout:new-value
    

    예를 들어 연결 시간 초과를 10밀리초로 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host1 -p 1389 data-source-name connect-timeout:10

Procedure연결 풀 대기 시간 초과를 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 연결 풀에 설정된 연결을 사용할 수 있을 때까지 디렉토리 프록시 서버가 대기할 수 있는 최대 시간을 구성합니다.


    $ dpconf set-server-prop -h host -p port data-source-name \
     connection-pool-wait-timeout:value
    

    예를 들어 대기 시간 초과를 20초로 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host1 -p 1389 data-source-name \
     connection-pool-wait-timeout:20000

디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 SSL 구성

다음 절차에서는 디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 SSL을 구성하는 방법에 대해 설명합니다.

Procedure디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 SSL을 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 디렉토리 프록시 서버와 백엔드 LDAP 서버 간에 보안 포트를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     ldaps-port:port-number
    
  2. SSL이 디렉토리 프록시 서버와 백엔드 LDAP 서버 간의 연결에 사용되는 시점을 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name ssl-policy:value
    
    • valuealways인 경우 SSL이 항상 연결에 사용됩니다.

    • valueclient인 경우 클라이언트가 SSL을 사용하는 중이면 SSL이 사용됩니다.

    연결에서 SSL을 사용하고 있지 않으면 startTLS 명령을 사용하여 연결 수준을 SSL로 올릴 수 있습니다.

  3. 디렉토리 프록시 서버에 대한 SSL 암호 및 SSL 프로토콜 선택에 설명된 것처럼 SSL에 대한 프로토콜 및 암호를 선택합니다.

  4. 백엔드 LDAP 서버의 SSL 서버 인증서를 확인하도록 디렉토리 프록시 서버를 구성합니다.

    자세한 내용은 백엔드 디렉토리 서버의 인증서를 디렉토리 프록시 서버의 인증서 데이터베이스에 추가하는 방법을 참조하십시오.

  5. 백엔드 LDAP 서버가 디렉토리 프록시 서버에서 인증서를 요청할 경우 SSL 클라이언트 인증서를 보내도록 디렉토리 프록시 서버를 구성합니다.

    자세한 내용은 인증서를 백엔드 LDAP 서버로 내보내기를 참조하십시오.

  6. 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.

    디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.

디렉토리 프록시 서버에 대한 SSL 암호 및 SSL 프로토콜 선택

디렉토리 프록시 서버에 사용될 수 있는 암호 및 프로토콜은 사용 중인 JVMTM(JavaTM Virtual Machine)에 따라 다릅니다. 기본적으로 디렉토리 프록시 서버는 JVM 시스템에 대해 활성화되는 기본 암호 및 프로토콜을 사용합니다.

Procedure암호 및 프로토콜 목록을 선택하는 방법

이 절차를 사용하여 지원되는 암호 및 프로토콜과 활성화된 암호 및 프로토콜을 검색합니다. 암호 또는 프로토콜이 지원되는 경우 이를 활성화하거나 비활성화할 수 있습니다.

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 지원되는 암호 및 프로토콜 목록을 봅니다.


    $ dpconf get-server-prop -h host -p port supported-ssl-cipher-suites \
     supported-ssl-protocols
  2. 활성화된 암호 및 프로토콜 목록을 봅니다.


    $ dpconf get-server-prop -h host -p port enabled-ssl-cipher-suites \
     enabled-ssl-protocols
  3. 지원되는 암호 또는 프로토콜을 하나 이상 활성화합니다.

    1. 지원되는 암호를 하나 이상 활성화합니다.


      $ dpconf set-server-prop -h host -p port \
       enabled-ssl-cipher-suites:supported-ssl-cipher-suite \
       [enabled-ssl-cipher-suites:supported-ssl-cipher-suite ...]

      지원되는 기존 암호 목록에 암호를 추가하려면 이 명령을 사용합니다.


      $ dpconf set-server-prop -h host -p port \
       enabled-ssl-cipher-suites+:supported-ssl-cipher-suite
      
    2. 지원되는 프로토콜을 하나 이상 활성화합니다.


      $ dpconf set-server-prop -h host -p port \
       enabled-ssl-cipher-protocols:supported-ssl-cipher-protocol \
       [enabled-ssl-cipher-protocols:supported-ssl-cipher-protocol ...]

      지원되는 기존 프로토콜 목록에 프로토콜을 추가하려면 이 명령을 사용합니다.


      $ dpconf set-server-prop -h host -p port \
       enabled-ssl-cipher-protocols+:supported-ssl-cipher-protocol
      
  4. (옵션) 지원되는 암호 또는 프로토콜을 비활성화합니다.


    $ dpconf set-server-prop -h host -p port \
     enabled-ssl-cipher-protocols-:supported-ssl-cipher-protocol
    

백엔드 LDAP 서버에 요청 전달

이 절에는 디렉토리 프록시 서버에서 백엔드 LDAP 서버에 요청을 전달하는 데 사용할 수 있는 다양한 방법에 대한 정보가 들어 있습니다.

바인드 재생을 사용하여 요청 전달

디렉토리 프록시 서버의 클라이언트 자격 증명을 위한 바인드 재생에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 ReferenceDirectory Proxy Server Configured for BIND Replay를 참조하십시오. 다음 절차에서는 바인드 재생을 사용하여 디렉토리 프록시 서버에서 백엔드 LDAP 서버에 요청을 전달하는 방법에 대해 설명합니다.

Procedure바인드 재생을 사용하여 요청을 전달하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 클라이언트에서 제공된 자격 증명을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스 클라이언트 자격 증명을 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     client-cred-mode:use-client-identity

프록시 인증을 사용하여 요청 전달

디렉토리 프록시 서버의 프록시 인증에 대한 자세한 내용은 Sun Java System Directory Server Enterprise Edition 6.2 ReferenceDirectory Proxy Server Configured for Proxy Authorization을 참조하십시오.

이 절은 프록시 인증 및 프록시 인증 제어를 사용하여 요청을 전달하는 절차로 구성되어 있습니다.

Procedure프록시 인증을 사용하여 요청을 전달하는 방법

  1. 버전 1 또는 버전 2의 프록시 인증 제어가 필요하도록 데이터 소스를 구성합니다.

    예를 들어 버전 1의 프록시 인증 제어가 필요하도록 데이터 소스를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     proxied-auth-use-v1:true

    또는 버전 2의 프록시 인증 제어가 필요하도록 데이터 소스를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     proxied-auth-use-v1:false
  2. 프록시 인증을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     client-cred-mode:use-proxy-auth

    쓰기 작업에만 프록시 인증을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스를 구성하려면 다음 명령을 실행합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     client-cred-mode:use-proxy-auth-for-write

    쓰기 작업만 프록시 인증 제어를 사용하여 수행할 경우 읽기 요청에서는 클라이언트 아이디가 LDAP 서버에 전달되지 않습니다. 클라이언트 아이디 없이 요청을 전달하는 방법에 대한 자세한 내용은 클라이언트 아이디 없이 요청 전달을 참조하십시오.

  3. 디렉토리 프록시 서버의 바인드 자격 증명을 사용하여 데이터 소스를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     bind-dn:DPS-bind-dn bind-pwd-file:filename
    
  4. 시간 초과를 사용하여 데이터 소스를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     proxied-auth-check-timeout:value
    

    디렉토리 프록시 서버는 getEffectiveRights 명령을 사용하여 프록시 인증에 대한 적절한 ACI가 클라이언트 DN에 있는지 확인합니다. 결과는 디렉토리 프록시 서버에 캐시되고 proxied-auth-check-timeout 만료 시에 갱신됩니다.

  5. 필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.

    디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.

Procedure요청에 프록시 인증 제어가 포함된 경우 프록시 인증을 사용하여 요청을 전달하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 버전 1이나 2 또는 두 버전 모두 프록시 인증 제어를 허용하도록 디렉토리 프록시 서버를 구성합니다.


    $ dpconf set-server-prop -h host -p port allowed-ldap-controls:proxy-auth-v1 \
     allowed-ldap-controls:proxy-auth-v2

클라이언트 아이디 없이 요청 전달

다음 절차에서는 클라이언트 아이디를 전달하지 않고 디렉토리 프록시 서버에서 백엔드 LDAP 서버에 요청을 전달하는 방법에 대해 설명합니다.

Procedure클라이언트 아이디 없이 요청을 전달하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 디렉토리 프록시 서버의 자격 증명을 사용하여 백엔드 LDAP 서버에 대해 인증하도록 데이터 소스를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     client-cred-mode:use-specific-identity
  2. 디렉토리 프록시 서버의 바인드 자격 증명을 사용하여 데이터 소스를 구성합니다.


    $ dpconf set-ldap-data-source-prop -h host -p port data-source-name \
     bind-dn:bind-dn-of-DPS bind-pwd-file:filename
    
  3. 필요한 경우 디렉토리 프록시 서버 인스턴스를 다시 시작하여 변경 사항을 적용합니다.

    디렉토리 프록시 서버를 다시 시작하는 방법에 대한 자세한 내용은 디렉토리 프록시 서버를 다시 시작하는 방법을 참조하십시오.

대체 사용자로 요청 전달

이 절은 요청을 대체 사용자로 전달하는 방법에 대한 정보로 구성되어 있습니다.

Procedure원격 사용자 매핑을 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 대체 사용자로 전달할 작업을 활성화합니다.


    $ dpconf set-server-prop -h host -p port enable-user-mapping:true
  2. 원격 매핑을 위한 아이디를 포함하는 속성의 이름을 지정합니다.


    $ dpconf set-server-prop -h host -p port \
     remote-user-mapping-bind-dn-attr:attribute-name
    
  3. 클라이언트 아이디를 원격으로 매핑하도록 디렉토리 프록시 서버를 활성화합니다.


    $ dpconf set-server-prop -h host -p port enable-remote-user-mapping:true
  4. 기본 매핑을 구성합니다.


    $ dpconf set-server-prop -h host -p port \
     user-mapping-default-bind-dn:default-mapping-bind-dn \
     user-mapping-default-bind-pwd-file:filename
    

    매핑된 아이디를 원격 LDAP 서버에서 찾을 수 없는 경우 클라이언트 아이디는 기본 아이디에 매핑됩니다.

  5. 원격 LDAP 서버의 클라이언트에 대한 항목에서 사용자 매핑을 구성합니다.

    디렉토리 서버에서 사용자 매핑을 구성하는 방법에 대한 자세한 내용은 프록시 인증을 참조하십시오.

Procedure로컬 사용자 매핑을 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 대체 사용자로 전달할 작업을 활성화합니다.


    $ dpconf set-server-prop -h host -p port enable-user-mapping:true
  2. 디렉토리 프록시 서버가 클라이언트 아이디를 원격으로 매핑하도록 구성되지 않았는지 확인합니다.


    $ dpconf set-server-prop -h host -p port enable-remote-user-mapping:false
  3. 기본 매핑을 구성합니다.


    $ dpconf set-server-prop -h host -p port \
     user-mapping-default-bind-dn:default-mapping-bind-dn \
     user-mapping-default-bind-pwd-file:filename
    

    원격 LDAP 서버의 매핑이 실패할 경우 클라이언트 아이디는 이 DN에 매핑됩니다.

  4. 인증되지 않은 사용자가 작업을 수행하도록 허용할 경우 인증되지 않은 클라이언트에 대한 매핑을 구성합니다.


    $ dpconf set-server-prop -h host -p port \
     user-mapping-anonymous-bind-dn:anonymous-mapping-bind-dn \
     user-mapping-anonymous-bind-pwd-file:filename
    

    인증되지 않은 사용자가 작업을 수행하도록 허용하는 방법에 대한 자세한 내용은 익명 액세스를 구성하는 방법을 참조하십시오.

  5. 클라이언트의 아이디를 구성합니다.


    $ dpconf set-user-mapping-prop -h host -p port \
     user-bind-dn:client-bind-dn user-bind-pwd-file:filename
    
  6. 대체 사용자의 아이디를 구성합니다.


    $ dpconf set-user-mapping-prop -h host -p port \
     mapped-bind-dn:alt-user-bind-dn mapped-bind-pwd-file:filename
    

Procedure익명 클라이언트에 대한 사용자 매핑을 구성하는 방법

DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.

  1. 인증되지 않은 클라이언트에 대한 매핑을 구성합니다.


    $ dpconf set-server-prop -h host -p port \
     user-mapping-anonymous-bind-dn:anonymous-mapping-bind-dn \
     user-mapping-anonymous-bind-pwd-file:filename
    

    익명 클라이언트에 대한 항목이 원격 LDAP 서버에 포함되어 있지 않으므로 익명 클라이언트에 대한 매핑이 디렉토리 프록시 서버에서 구성됩니다.

    인증되지 않은 사용자가 작업을 수행하도록 허용하는 방법에 대한 자세한 내용은 익명 액세스를 구성하는 방법을 참조하십시오.