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

디렉토리 프록시 서버 및 디렉토리 서버 액세스 로그를 통해 클라이언트 요청 추적

클라이언트 요청 경로를 추적하려면 디렉토리 프록시 서버 액세스 로그 및 디렉토리 서버 액세스 로그에 요청이 기록되는 방식을 알고 있어야 합니다. 이 절의 내용을 이해하려면 먼저 Sun Java System Directory Server Enterprise Edition 6.2 ReferenceTracking Client Requests Through Directory Proxy Server and Directory Server Access Logs를 읽으십시오.

Procedure디렉토리 서버에서 디렉토리 프록시 서버를 통해 클라이언트 응용 프로그램에 대한 작업을 추적하는 방법

DSCC를 사용하여 이 작업을 수행할 수 없습니다. 이 절차에 설명된 것처럼 명령줄을 사용하십시오.

  1. 디렉토리 서버 액세스 로그에서 추적할 작업의 연결 번호를 찾습니다.

    예를 들어 액세스 로그에서 다음 행은 연결 번호가 conn=12839op=2 작업을 나타냅니다.


    [20/Jul/2006:18:01:49 -0500] conn=12839 op=2 msgId=4 - SRCH base="dc=example,dc=com" 
     scope=2 filter="(objectClass=organizationalunit)" attrs=ALL
  2. 이 연결에 대한 디렉토리 프록시 서버 연결 정보를 얻습니다.

    이 정보를 얻으려면 디렉토리 서버 액세스 로그를 검색하여 연결 번호가 일치하는 작업을 모두 찾습니다. 예를 들어 UNIX 시스템에서 다음과 같이 grep 명령을 실행하여 디렉토리 서버 액세스 로그에서 연결 conn=12839와 일치하는 행을 모두 찾습니다.


    $ grep conn=12839 access

    초기 LDAP 연결을 보여주는 행이 찾고 있는 정보이며 이는 다음과 유사합니다.


    [19/Jul/2006:16:32:51 -0500] conn=12839 op=-1 msgId=-1 - fd=27 slot=27 
     LDAP connection from 129.153.160.175:57153 to 129.153.160.175

    위의 행은 129.153.160.175:57153에서 디렉토리 서버로의 LDAP 연결이 있음을 나타냅니다. 포트 번호(57153)는 디렉토리 프록시 서버 액세스 로그로 다시 연결하는 데 필요한 정보입니다. 포트 번호를 사용하면 디렉토리 프록시 서버 로그에서 일치하는 연결을 찾을 수 있으며 이 연결에서 클라이언트 정보를 찾아볼 수 있습니다.

    연결이 처음 구성된 이후에 로그 파일이 회전된 적이 있다면 현재 액세스 로그 파일과 아카이브된 로그 파일을 모두 검색해야 합니다.

  3. 디렉토리 프록시 서버 액세스 로그에서 일치하는 연결을 찾습니다.

    이 정보를 얻으려면 디렉토리 프록시 서버 액세스 로그를 검색하여 포트 번호가 일치하는 작업을 모두 찾습니다.

    로그 파일에서 포트 번호가 동일한 항목을 여러 개 찾을 수 있습니다. 올바른 항목을 찾으려면 디렉토리 서버 로그 항목의 타임스탬프를 검색에 포함시킵니다.

    예를 들어 UNIX 시스템의 경우 다음과 같이 grep 명령을 실행하여 디렉토리 서버 로그에서 찾은 타임스탬프 및 포트 번호와 일치하는 연결 항목을 찾습니다.


    $ grep 19/Jul/2006:16:32 access | grep 57153

    값은 서버 시간에 약간의 차이를 두기 위해 타임스탬프에서 제외됩니다.

    디렉토리 프록시 서버 로그에서 일치하는 행은 다음과 유사합니다.


    [19/Jul/2006:16:32:51 -0500] - SERVER_OP  - INFO  - Created BIND  LDAP connection 
     s_conn=sunds-d1m1-9389:34 client=0.0.0.0:57153 
     server=idm160.central.sun.com:9389 main

    이 행은 디렉토리 프록시 서버가 s_conn=sunds-d1m1-9389:34에 대한 BIND 연결을 만들었음을 나타냅니다. 디렉토리 프록시 서버는 TCP 포트 57153에서 자신을 client=0.0.0.0 클라이언트로 자체 식별합니다.

    로그의 이 행에서 얻을 수 있는 중요 정보는 서버 아이디 및 포트 번호(s_conn=sunds-d1m1-9389:34)입니다.

  4. 이전 단계에서 식별된 서버 아이디 및 포트 번호와 일치하는 작업을 모두 찾습니다.

    이 정보를 얻으려면 디렉토리 프록시 서버 액세스 로그를 검색하여 서버 아이디 및 포트 번호가 일치하는 작업을 모두 찾습니다.

    예를 들어 UNIX 시스템에서 다음과 같이 grep 명령을 실행하여 이전 단계에서 찾은 서버 아이디와 일치하는 작업을 찾습니다.


    $ grep s_conn=sunds-d1m1-9389:34 access

    이 경우, 이러한 작업은 며칠 동안 지속되었을 수 있기 때문에 타임스탬프 검색은 유용하지 않습니다. 그러나, 검색에서 반환된 작업이 올바른 것인지 확인해야 합니다. Create 연결 문이 여러 개인 경우 원래 검색 문과 일치하는 항목을 찾아야 합니다. 이 작업을 수행하려면 타임스탬프를 단계 1에서 찾은 타임스탬프와 일치시킵니다.

    디렉토리 프록시 서버 액세스 로그에서 추출된 다음 내용은 s_conn=sunds-d1m1-9389:34에 대해 반환된 모든 작업을 보여줍니다.


    [19/Jul/2006:16:32:51 -0500] - SERVER_OP  - INFO - Created BIND LDAP connection
     s_conn=sunds-d1m1-9389:34 client=0.0.0.0:57153 server=idm160.central.sun.com:9389 main
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=0 BIND dn="cn=directory manager"
     method="SIMPLE" s_msgid=3 s_conn=sunds-d1m1-9389:34
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=0 BIND RESPONSE err=0 msg=""
     s_conn=sunds-d1m1-9389:34
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=1 SEARCH base="dc=example,dc=com"
     scope=2 s_msgid=4 s_conn=sunds-d1m1-9389:34
    [20/Jul/2006:18:01:49 -0500] - SERVER_OP  - INFO  - conn=31 op=1 SEARCH RESPONSE err=0 msg=""
     nentries=1 s_conn=sunds-d1m1-9389:34

    이 정보를 통해 디렉토리 프록시 서버의 검색 작업에 해당하는 연결 아이디가 31(conn=31)임을 알 수 있습니다.

  5. 이전 단계에서 찾은 연결 아이디와 일치하는 클라이언트 연결 IP 주소를 찾습니다.

    이 정보를 얻으려면 디렉토리 프록시 서버 액세스 로그를 검색하여 연결 아이디 및 타임스탬프가 일치하는 작업을 모두 찾습니다. 사용할 타임스탬프는 단계 1의 원래 검색 문에 있는 타임스탬프입니다.

    예를 들어 UNIX 시스템에서 다음과 같이 grep 명령을 실행하여 클라이언트 연결 IP 주소를 찾습니다.


    $ grep "20/Jul/2006:18:01" access | grep conn=31

    찾으려는 행은 다음과 유사합니다.


    [20/Jul/2006:18:01:49 -0500] - CONNECT - INFO  - conn=31 client=129.150.64.156:2031
    server=0.0.0.0:11389 protocol=LDAP
  6. 이전 단계에서 찾은 IP 주소의 소유자를 확인합니다.

    이 정보를 통해 디렉토리 서버에서 작업을 수행한 담당자를 정확하게 설정할 수 있습니다.