| |
| Sun Java(TM) System Directory Server 5 2004Q2 관리 설명서 | |
1장
Directory Server 관리 개요Directory Server 제품은 Directory Server, 여러 디렉토리를 관리하는 관리 서버, 그래픽 인터페이스를 통해 두 서버를 모두 관리하는 서버 콘솔 등으로 구성되어 있습니다. 이 장에서는 Directory Server에 대한 개요를 제공하고 디렉토리 서비스 관리에 필요한 가장 기본적인 작업에 대해 설명합니다.
또한 Directory Server 5.2의 새 기능인 플러그 인 서명과 DSML-over-HTTP 프로토콜에 대해 소개합니다. 플러그 인 서명 확인은 추가 보안 기능으로, 서버는 이 기능을 사용하여 권한 없는 플러그 인을 감지하고 로드되지 않도록 차단할 수 있습니다. DSML (Directory Server Markup Language)은 요청을 디렉토리 서버로 보내기 위한 XML 기반의 새로운 형식입니다.
이 장은 다음 내용으로 구성되어 있습니다.
Directory Server 관리 개요Directory Server는 기업 전체의 사용자 및 자원 디렉토리를 관리하기 위한 강력하고 확장성이 뛰어난 서버로, LDAP (Lightweight Directory Access Protocol)라는 오픈 시스템 서버 프로토콜에 기반을 두고 있습니다. Directory Server는 사용자 시스템에서 ns-slapd 프로세스 또는 서비스로 실행됩니다. 디렉토리 내용을 관리하고 클라이언트 요청에 응답합니다.
대부분의 Directory Server 관리 작업은 Sun Java System에서 Directory Server 및 기타 모든 Sun Java System 서버의 관리용 보조 서버로 제공되는 관리 서버를 통해 수행됩니다. 서버 콘솔은 관리 서버에 대한 그래픽 인터페이스입니다. Directory Server 콘솔은 특히 Directory Server용으로 설계된 서버 콘솔의 한 구성 요소입니다.
대부분의 Directory Server 관리 작업은 Directory Server 콘솔에서 수행할 수 있습니다. 구성 파일을 편집하거나 명령줄 유틸리티를 사용하여 수동으로 관리 작업을 수행할 수도 있습니다. 서버 콘솔에 대한 자세한 내용은 Administration Server Administration Guide를 참조하십시오.
주
Directory Server 데이터 서비스용 Sun Cluster HA를 사용할 경우 Directory Server를 관리할 때 명령줄에서 directoryserver (1M) 명령 및 해당 하위 명령을 사용해야 합니다.
독립형 스크립트와 이진을 직접 사용하지 마십시오.
Directory Server 시작 및 중지SSL (Secure Sockets Layer)을 사용하지 않는 경우 여기에 소개된 방법으로 Directory Server를 시작하고 중지할 수 있습니다. SSL을 사용 중이면 SSL을 활성화하여 서버 시작을 참조하십시오.
명령줄에서 서버 시작 및 중지
명령줄에서 서버를 시작하거나 중지하려면 다음을 수행합니다. 다음 명령을 실행합니다.
또는
Directory Server 5.2가 기본 버전이 아닐 경우에만 useversion 옵션이 필요합니다. directoryserver 명령의 전체 구문은 Directory Server Administration Reference의 1장, “Command-Line Tools Reference”를 참조하십시오.
다음과 같은 경우 이 명령을 루트로 실행해야 합니다.
그렇지 않으면 Directory Server와 같은 동일한 UID와 GID를 사용하여 두 명령을 실행해야 합니다. 예를 들어, Directory Server가 nobody로 실행되면 start 유틸리티와 stop 유틸리티도 nobody로 실행해야 합니다.
이전 버전의 Directory Server 사용자의 경우 더 이상 참조 모드에서 서버를 시작할 수 없습니다. Directory Server 콘솔을 사용하여 전역 참조를 설정할 수 있습니다. 이 절차에 대해서는 기본 참조 설정에서 설명합니다.
콘솔에서 서버 시작 및 중지
Directory Server 콘솔을 실행할 경우 그래픽 인터페이스를 통해 Directory Server를 시작, 중지 및 다시 시작할 수 있습니다. 콘솔 실행에 대한 자세한 내용은 Directory Server 콘솔 시작을 참조하십시오.
Directory Server 콘솔에서 성공적으로 Directory Server를 시작하거나 중지하면 서버 시작 또는 서버 종료를 알리는 메시지 대화 상자가 콘솔에 표시됩니다. 오류가 발생한 경우에는 해당 오류에 관한 모든 메시지가 콘솔에 표시됩니다.
SSL을 활성화하여 서버 시작SSL을 활성화하기 전에 서버에 인증서를 설치 및 구성해야 합니다. 인증서 관리 및 SSL 활성화에 대한 자세한 내용은 11장, "인증 및 암호화 관리"를 참조하십시오. 인증서, 인증서 데이터베이스 및 서버 인증서 얻기에 대한 자세한 내용은 Administration Server Administration Guide의 9장, "Using SSL and TLS with Sun Java System Servers"를 참조하십시오.
SSL을 활성화한 상태에서 서버를 시작하려면 명령줄에서 서버를 시작하고 서버의 인증서를 보호하는 비밀번호를 제공해야 합니다.
또는 인증서 비밀번호를 저장할 비밀번호 파일을 작성할 수 있습니다. 인증서 데이터베이스 비밀번호를 파일에 저장하면 서버 콘솔에서 서버를 시작할 수 있을 뿐만 아니라 무인 작동 시 서버가 자동으로 다시 시작될 수 있습니다.
주의
이 비밀번호는 일반 텍스트로 비밀번호 파일에 저장되기 때문에 보안상 상당한 위험을 초래할 수 있습니다. 안전하지 않은 환경에서 서버를 실행하는 경우에는 비밀번호 파일을 사용하지 마십시오.
비밀번호 파일은 아래 위치에 저장해야 합니다.
ServerRoot/alias/slapd-serverID-pin.txt
여기서 serverID는 서버를 설치할 때 지정한 서버 식별자입니다.
다음과 같은 형식으로 보안 토큰 이름과 비밀번호를 파일에 추가해야 합니다.
deviceName Token:password
이 예의 경우, 다음과 같이 내부 인증서 데이터베이스의 장치 이름이 표시됩니다. 대소문자와 공백까지 표시된 것과 정확히 일치해야 합니다.
Internal (Software) Token:password
대체 장치에 인증서를 저장하는 경우 인증서 관리 대화 상자의 맨 위에 있는 드롭다운 메뉴에 표시된 장치 이름을 사용합니다. 인증서 데이터베이스를 작성하려면 관리 서버와 인증서 설정 마법사를 사용해야 합니다. Directory Server에서 SSL을 사용하는 방법은 11장, "인증 및 암호화 관리"를 참조하십시오.
Directory Server 콘솔 사용Directory Server 콘솔은 서버 콘솔과 별개의 창으로 액세스되는 인터페이스입니다. 다음 절차에 설명된 것처럼 Directory Server 콘솔은 서버 콘솔에서 시작합니다.
Directory Server 콘솔 시작
- Directory Server 데몬인 slapd-serverID가 실행되고 있는지 확인합니다. 실행되고 있지 않으면 루트 또는 관리자 사용자로 아래 명령을 실행하여 시작합니다.
- 관리 서버 데몬인 ns-httpd가 실행되고 있는지 확인합니다. 실행되고 있지 않으면 루트 또는 관리자 사용자로 아래 명령을 실행하여 시작합니다.
서버 콘솔과 관리 서버를 각각 다른 시스템에서 실행하는 경우 Administration Server Administration Guide의 6장, "Network Settings"에 설명된 것처럼 관리 서버에서 연결 제한을 구성해야 할 수도 있습니다.
콘솔 로그인 창이 표시됩니다. 구성 디렉토리(o=NetscapeRoot 접미어가 포함된 디렉토리)가 Directory Server의 개별 인스턴스에 저장되는 경우에는 해당 디렉토리 서버의 관리자 사용자 DN과 비밀번호, 그리고 관리 서버 URL을 요청하는 창이 표시됩니다.
- 수행할 작업에 대한 충분한 액세스 권한이 있는 사용자의 바인드 DN과 비밀번호를 사용하여 로그인합니다.
서버 콘솔이 표시됩니다.
- 왼쪽 패널의 트리를 탐색하여 Directory Server를 호스트하는 시스템을 찾은 다음, 해당 이름이나 아이콘을 눌러 일반 등록 정보를 표시합니다.
그림 1-1 Sun Java System Server 콘솔
Directory Server의 이름과 설명을 편집하려면 편집 버튼을 누른 다음 텍스트 상자에 새 이름과 설명을 입력합니다. 확인을 눌러 새 이름과 설명을 설정합니다. 앞의 그림과 같이 왼쪽 트리에 새 이름이 표시됩니다.
- 트리에서 Directory Server 이름을 두 번 누르거나 열기 버튼을 눌러 이 디렉토리 서버를 관리하기 위한 Directory Server 콘솔을 표시합니다.
Directory Server 콘솔 시작
Directory Server 콘솔은 Directory Server 인스턴스에서 탐색 및 관리 작업을 수행하기 위한 인터페이스를 제공합니다. 콘솔에는 네 개의 탭이 있으며, 이 탭을 사용하여 모든 Directory Server 기능에 액세스할 수 있습니다.
태스크 탭
태스크 탭은 Directory Server 콘솔을 열 때 표시되는 첫 인터페이스로, 아래 그림과 같이 Directory Server 시작 또는 중지와 같은 중요한 관리 작업을 위한 모든 버튼이 포함되어 있습니다. 모든 작업과 해당 버튼을 보려면 목록을 스크롤해야 할 수도 있습니다.
그림 1-2 Directory Server 콘솔의 태스크 탭
이 작업을 수행하려면 관리자 권한이 있는 사용자로 로그인해야 합니다. 권한이 충분하지 않은 사용자에게는 작업 버튼이 표시되지 않습니다.
구성 탭
Directory Server 콘솔의 구성 탭은 접미어, 복제, 스키마, 로그, 플러그 인 등과 같은 모든 디렉토리 설정을 보고 수정할 수 있는 인터페이스와 대화 상자를 제공합니다. 대화 상자는 관리자 권한이 있는 사용자로 로그인한 경우에만 사용할 수 있거나 적용됩니다.
이 탭의 왼쪽에는 모든 구성 기능이 표시된 트리가 있고 오른쪽에는 각 기능을 관리하기 위한 특정 인터페이스가 표시됩니다. 인터페이스에 다른 탭이나 대화 상자 또는 팝업 창이 표시되는 경우도 있습니다. 예를 들어 아래 그림은 전체 디렉토리의 일반 설정을 보여줍니다.
그림 1-3 Configuration Tab of Directory Server 콘솔의 구성 탭
왼쪽 트리에서 구성 가능한 항목을 선택하면 오른쪽 패널에 있는 한 개 이상의 탭에 이 항목의 현재 설정이 표시됩니다. 설정에 대한 자세한 설명과 기능은 본 설명서에서 해당 기능을 설명하는 장을 참조하십시오. 설정에 따라 저장 후 즉시 적용되는 변경 사항도 있고 서버를 다시 시작해야만 적용되는 변경 사항도 있습니다. 서버를 다시 시작해야 하는 경우에는 이를 알려주는 대화 상자가 콘솔에 표시됩니다.
탭에 저장되지 않은 변경 사항이 있으면 탭 이름 옆에 빨간색 표시가 나타납니다. 변경 사항을 저장하지 않고 다른 항목을 구성하거나 다른 탭 중 하나를 표시해도 이 변경 사항은 해당 탭에 그대로 남아 있습니다. 저장 버튼과 재설정 버튼은 구성 가능한 특정 항목의 모든 탭에 적용되지만 다른 항목의 저장되지 않은 설정에는 영향을 주지 않습니다.
대부분의 텍스트 필드에는 해당 설정에 적합한 구문의 값만 입력할 수 있습니다. 올바른 구문으로 값을 입력할 때까지 기본적으로 설정 레이블과 값은 빨간색으로 강조 표시됩니다. 모든 설정의 구문이 정확해야만 저장 버튼이 활성화됩니다. 시각적 구성 기본 설정에 설명된 것처럼 잘못된 값을 기울임꼴로 강조 표시하도록 선택할 수도 있습니다.
디렉토리 탭
콘솔의 디렉토리 탭은 쉽게 탐색할 수 있도록 디렉토리 항목을 트리로 표시합니다. 이 탭에서 모든 항목과 해당 속성을 탐색하거나 표시하고 편집할 수 있습니다.
주
수천 개의 항목 목록을 찾아보려면 더 빠른 액세스를 위해 찾아보기 색인을 만듭니다. 자세한 내용은 콘솔에 대한 찾아보기 색인을 참조하십시오.
그림 1-4 Directory Server 콘솔의 디렉토리 탭
로그인 중에 입력한 바인드 DN에 충분한 액세스 권한이 있으면 구성 항목은 일반 항목으로 표시되고 직접 수정할 수 있습니다. 하지만 안전하게 구성 설정을 변경하려면 반드시 구성 탭을 눌렀을 때 나타나는 대화 상자를 사용해야 합니다.
보기 메뉴에서 디렉토리 탭의 레이아웃과 내용을 변경하는 여러 가지 옵션을 사용할 수 있습니다. 새 레이아웃 옵션에는 리프 항목을 비롯한 모든 항목을 단일 트리에서 보기 및 오른쪽 패널에 속성 표시가 있습니다. 왼쪽이 아닌 오른쪽 트리에 리프 항목이 표시되는 것이 기본값입니다.
보기 > 표시 옵션을 사용하면 디렉토리 트리의 모든 항목에 대한 ACI 개수, 역할 개수 및 비활성화 상태 아이콘이 활성화됩니다. 그림 1-4에서는 왼쪽 트리에 ACI 개수와 리프 항목이 표시되고 오른쪽 패널에 선택한 항목의 속성 값이 표시됩니다. 자세한 내용은 디렉토리 트리 보기 옵션을 참조하십시오.
상태 탭
상태 탭에는 서버 통계와 로그 메시지가 표시됩니다. 왼쪽 트리에는 모든 상태 항목이 표시되고 오른쪽 패널에는 선택한 각 항목의 내용이 표시됩니다. 예를 들어 아래 그림은 로그 항목 테이블을 보여줍니다.
그림 1-5 Directory Server 콘솔의 상태 탭
콘솔에서 현재 바인드 DN 보기
디스플레이의 왼쪽 아래에 있는 로그인 아이콘을 누르면 Directory Server 콘솔에 로그인할 때 사용한 바인드 DN을 볼 수 있습니다. 여기에 표시된 것처럼 로그인 아이콘 옆에 현재 바인드 DN이 표시됩니다.
로그인 아이디 변경
Directory Server 콘솔에서 항목을 작성하거나 관리할 때, 그리고 서버 콘솔에 처음 액세스할 때 바인드 DN과 비밀번호를 입력하여 로그인할 수 있습니다. 이러한 로그인을 통해 누가 디렉토리 트리에 액세스하는지, 그리고 작업을 수행하는 데 필요한 액세스 권한이 있는지 확인됩니다.
처음 서버 콘솔을 시작할 때 디렉토리 관리자 DN으로 로그인한 다음 콘솔을 중지하고 다시 시작할 필요 없이 언제든지 다시 다른 사용자로 로그인할 수 있습니다.
서버 콘솔에서 로그인을 변경하려면 다음을 수행합니다.
디렉토리 관리자 DN과 비밀번호에 대해서는 다음 절에서 자세히 설명합니다.
온라인 도움말 사용
온라인 도움말은 Directory Server 콘솔의 탭과 대화 상자에 대한 상황에 맞는 정보를 제공합니다. 도움말 버튼은 대체로 이러한 인터페이스의 오른쪽 아래에 있습니다. 모든 화면에서 상황에 맞는 도움말을 실행할 때는 항상 Alt-P를 단축키로 사용할 수 있습니다.
온라인 도움말을 실행하면 콘솔의 기본 브라우저에 HTML 기반의 페이지가 표시됩니다. 여기서 브라우저 시작 버튼을 눌러 동일한 페이지를 Mozilla와 같은 외부 브라우저에서 열 수도 있습니다. 온라인 도움말 내에서 추가 정보 링크를 눌러도 외부 브라우저 창이 열립니다.
각 온라인 도움말 페이지에는 해당 탭이나 대화 상자에 있는 필드 및 버튼에 대한 설명이 나와 있습니다. 콘솔을 통해 값을 평가하거나 입력 또는 수정하는 경우 이 정보를 참조하십시오.
Directory Server의 도움말 시스템은 관리 서버에 기반을 두고 있습니다. 관리 서버의 원격 시스템에서 Directory Server 콘솔을 실행 중이면 다음과 같은 사항을 확인해야 합니다.
- Administration Server Administration Guide의 6장, "Network Settings"에 설명된 것처럼 관리 서버에서 사용자 시스템의 액세스를 허용하도록 연결 제한을 구성해야 할 수도 있습니다.
- 브라우저에 프록시 사용이 구성되어 있는 경우, 외부 브라우저를 사용하여 온라인 도움말 페이지를 보려면 다음 중 하나를 수행해야 합니다.
콘솔 클립보드
Directory Server 콘솔은 시스템 클립보드를 사용하여 텍스트를 복사하거나 잘라내어 붙여넣습니다. 입력을 줄이려면 디렉토리 탭에서 탐색할 때 항목의 DN이나 URL을 클립보드로 복사할 수 있습니다.
DN 또는 URL을 붙여넣어야 하는 텍스트 필드가 있는 대화 상자나 다른 탭을 열기 전에 다음을 수행합니다.
콘솔 설정
Directory Server 콘솔은 구성 및 디렉토리 탭에 정보를 표시하는 방법을 사용자 정의하기 위한 다양한 설정을 제공합니다.
시각적 구성 기본 설정
구성 매개 변수를 수정하고 최상위 구성 탭에 있는 필드에 값을 입력하는 경우 Directory Server 콘솔은 컬러 텍스트를 사용하여 입력이 유효한지 여부를 표시합니다. 예를 들어, 추가 구성 값을 입력해야 하는 기능을 활성화하면 필수 필드의 레이블이 빨간색으로 표시되었다가 유효한 값을 입력한 후에 다시 파란색으로 바뀝니다.
기본적으로 콘솔은 빨간색과 파란색을 사용하지만 다음과 같이 이 동작을 수정할 수도 있습니다.
- Directory Server 콘솔의 임의의 탭에서 편집 > 기본 설정 메뉴 항목을 선택합니다. 콘솔 기본 설정 대화 상자에서 기타 탭을 선택합니다.
- 원하는 시각적 구성 표시기에 해당하는 라디오 버튼을 선택합니다. 텍스트 색이나 글꼴, 또는 둘 모두를 선택할 수 있습니다.
- 콘솔 기본 설정 대화 상자에 있는 다른 탭의 설정에 대한 설명은 Administration Server Administration Guide의 2장 "Customizing Sun ONE Server Console"을 참조하십시오.
확인을 눌러 변경 사항을 저장합니다.
- 서버 콘솔의 모든 창을 종료한 후 콘솔을 다시 시작합니다.
디렉토리 트리 보기 옵션
Directory Server 콘솔의 최상위 디렉토리 탭에서 보기 메뉴 항목을 사용하여 디렉토리 트리에 추가 정보를 표시하고 오른쪽 패널에 표시할 내용을 선택할 수 있습니다.
디렉토리 탭의 내용은 다음과 같은 보기 옵션에 영향을 받습니다.
- 참조 따름 - 이 확인란을 선택하면 참조 대상의 모든 자식과 항목이 실제 디렉토리에 있는 것처럼 디렉토리 트리에 표시됩니다. 확인란을 선택 취소하면 참조는 참조 항목으로 표시됩니다. 자세한 내용은 스마트 참조 작성을 참조하십시오.
- 객체 정렬 - 이 확인란을 선택 취소하면 항목은 서버에서 반환된 순서대로 표시됩니다. 확인란을 선택하면 디렉토리 트리에서 같은 수준에 있는 항목은 아래에 설명된 해당 속성 표시에 따라 정렬됩니다. 서버 성능에 영향을 주지 않고 대규모 하위 트리를 정렬하는 방법은 콘솔에 대한 찾아보기 색인을 참조하십시오.
- 표시 > ACI 개수 - 항목의 aci 속성에 하나 이상의 ACI (Access Control Instruction)가 포함되어 있으면 디렉토리 트리에서 해당 항목 옆에 개수가 표시됩니다. 자세한 내용은 6장, "액세스 제어 관리"를 참조하십시오.
- 표시 > 역할 개수 - 항목이 하나 이상의 역할의 구성원이면 디렉토리 트리에서 해당 항목 옆에 개수가 표시됩니다. 자세한 내용은 역할 할당을 참조하십시오.
- 표시 > 비활성화 상태 - 사용자 또는 그룹 항목이 비활성화되어 서버에 바인드할 수 없으면 디렉토리 트리에서 해당 항목의 아이콘에 빨간색 상자와 선이 표시됩니다. 자세한 내용은 사용자와 역할 비활성화 및 활성화를 참조하십시오.
- 레이아웃 > 자식 보기 - 이 레이아웃 옵션을 선택하면 왼쪽 패널의 트리에 디렉토리의 리프 항목이 표시되지 않고, 왼쪽 패널에서 부모 노드를 선택하면 오른쪽 패널에 리프 항목을 비롯한 모든 자식이 표시됩니다. 두 패널에서 모두 항목을 선택할 수 있습니다.
- 레이아웃 > 트리만 보기 - 이 레이아웃 옵션을 선택하면 디렉토리 탭에는 디렉토리의 모든 항목이 포함된 트리가 있는 한 개의 패널만 표시됩니다.
- 레이아웃 > 속성 보기 - 이 레이아웃에서는 왼쪽 패널에 디렉토리의 모든 항목이 포함된 트리가 표시되고 오른쪽 패널에는 트리에서 선택한 항목에 저장된 속성과 값이 표시됩니다.
- 속성 표시 - 이 메뉴 항목을 누르면 속성 표시 대화 상자가 열리고 디렉토리 탭에 표시된 속성의 레이블을 선택할 수 있습니다. 기본적으로 항목의 첫 RDN 속성 값(예: People)이 레이블로 지정됩니다. RDN이 없는 기본 항목의 레이블은 전체 DN (예: dc=example,dc=com)입니다.
LDAP 매개 변수 구성LDAP 매개 변수는 디렉토리 관리자의 고유 이름(DN), 전역 읽기 전용 속성, 포트 구성, 모든 디렉토리 수정 횟수를 추적하는 기능 등 디렉토리 서버의 기본 설정입니다.
디렉토리 관리자 구성
디렉토리 관리자는 UNIX에서의 루트 사용자에 해당하는 권한 있는 서버 관리자입니다. 디렉토리 관리자로 정의한 항목에는 액세스 제어가 적용되지 않습니다. 처음에 설치 도중 이 항목을 정의했습니다. 기본값은 cn=Directory Manager입니다.
디렉토리 관리자의 DN은 cn=config 분기의 nsslapd-rootDN 속성에, 비밀번호는 nsslapd-rootpw 속성에 저장됩니다.
Directory Server 콘솔을 사용하면 디렉토리 관리자 DN과 비밀번호, 이 비밀번호에 사용된 암호화 체계를 변경할 수 있습니다.
- 디렉토리 관리자로 콘솔에 로그인합니다.
이미 콘솔에 로그인되어 있으면 로그인 아이디 변경에서 다른 사용자로 로그인하는 방법을 참조하십시오.
- 최상위 구성 탭에 있는 탐색 트리의 루트에서 서버 노드를 선택한 다음 오른쪽 패널에서 설정 탭을 선택합니다.
- 디렉토리 관리자 DN 필드에 새 고유 이름(DN)을 입력합니다. 기본값은 설치 중에 정의한 DN입니다.
- 관리자 비밀번호 암호화 풀다운 메뉴에서 디렉토리 관리자 비밀번호를 저장하는 데 사용할 서버의 저장소 체계를 선택합니다.
- 제공된 텍스트 필드를 사용하여 새 비밀번호를 입력하고 확인합니다.
- 저장을 누릅니다.
Directory Server의 포트 번호 변경
Directory Server 콘솔을 사용하거나 cn=config 항목의 nsslapd-port 속성 값을 변경하여 사용자 디렉토리 서버의 포트 또는 보안 포트 번호를 수정할 수 있습니다.
Sun Java System 구성 정보(o=NetscapeRoot 하위 트리)가 저장되는 Directory Server 포트 또는 보안 포트를 수정하려면 Directory Server 콘솔을 사용합니다.
구성 디렉토리 또는 사용자 디렉토리 포트(또는 보안 포트) 번호를 변경하는 경우 다음과 같은 점에 주의해야 합니다.
- 관리 서버에 구성된 사용자 디렉토리 포트 또는 보안 포트 번호나 구성을 변경해야 합니다. Administration Server Administration Guide의 6장, "Network Settings"를 참조하십시오.
- 이 구성 디렉토리나 사용자 디렉토리를 가리키는 다른 Sun Java System 서버가 설치되어 있으면 해당 서버도 새 포트 번호를 가리키도록 업데이트해야 합니다.
- 권한이 없는 포트 번호를 설정하고, Directory Server를 다른 사용자가 액세스 권한을 갖고 있는 시스템에 설치한 경우 다른 응용 프로그램에서 해당 포트를 임의로 사용할 수 있는 위험이 있습니다. 즉 다른 응용 프로그램에서 동일한 주소/포트 쌍을 바인드할 수 있습니다. 그렇게 될 경우 이 응용 프로그램에서 Directory Server에 대한 요청을 처리할 수 있게 되며, 이 응용 프로그램을 사용하여 인증 프로세스에서 사용된 비밀번호를 수집하여 클라이언트 요청이나 서버 응답을 변경하거나 서비스 거부 공격을 수행할 수 있습니다. 이러한 보안 위험을 방지하려면 nsslapd-listenhost 속성을 사용하여 Directory Server가 수신하는 인터페이스(주소)를 지정합니다. 이 속성에 대한 자세한 내용은 Directory Server Administration Reference의 2장, “nsslapd-listenhost”를 참조하십시오.
- 콘솔을 사용하여 포트 번호를 변경하면 특정 스크립트에 필요한 변경 사항이 적용되지 않으므로 스크립트를 직접 수정해야 합니다. 자세한 내용은 Directory Server 릴리스 노트를 참조하십시오.
아래 절차를 사용하여 Directory Server에서 들어오는 LDAP 요청을 수신하는 포트 또는 보안 포트를 수정합니다. DSML 요청을 수신하는 포트를 수정하려면 DSML 구성을 참조하십시오.
- Directory Server 콘솔의 최상위 구성 탭에서 이 서버 이름의 루트 노드를 선택한 다음 오른쪽 패널에서 네트워크 탭을 선택합니다.
LDAP 프로토콜에 대한 서버의 현재 포트 설정이 탭에 표시됩니다.
- 서버에서 비SSL 통신에 사용할 포트 번호를 포트 필드에 입력합니다. 기본값은 389입니다.
- 11장, "인증 및 암호화 관리"에 설명된 것처럼 이 서버에서 SSL을 활성화한 경우 다음과 같이 보안 포트에서 연결을 허용할 수도 있습니다.
- 저장을 누른 후 서버를 다시 시작합니다.
자세한 내용은 Directory Server 시작 및 중지를 참조하십시오.
전역 읽기 전용 모드 설정
디렉토리의 각 접미어는 읽기 전용 모드로 설정할 수 있으며 정의된 특정 참조를 반환할 수 있습니다. 또한 Directory Server는 모든 접미어에 적용되는 전역 읽기 전용 모드를 제공하며 정의된 전역 참조를 반환할 수도 있습니다.
전역 읽기 전용 모드를 사용할 경우 관리자는 접미어를 다시 색인화하는 등의 작업을 수행하는 동안 디렉토리 내용이 수정되는 것을 방지할 수 있습니다. 이 때문에 다음과 같은 구성 분기에는 전역 읽기 전용 모드가 적용되지 않습니다.
이러한 분기는 읽기 전용 설정과 상관없이 관리자 이외의 사용자가 수정할 수 없도록 항상 ACI (Access Control Intstruction)를 사용하여 보호해야 합니다(6장, "액세스 제어 관리" 참조). 전역 읽기 전용 모드는 디렉토리 관리자가 시작한 업데이트 작업을 포함하여 디렉토리의 다른 모든 접미어에 대한 업데이트 작업을 방지합니다.
읽기 전용 모드를 사용하면 접미어에 대한 복제도 중단됩니다. 읽기 전용 모드를 사용하기 전의 변경 사항은 계속 복제되지만 더 이상 마스터 복제본에 복제할 변경 사항이 추가되지 않습니다. 읽기 전용 모드를 비활성화할 때까지 소비자 복제본도 업데이트를 받지 못합니다. 다중 마스터 복제 시나리오에서는 마스터에 복제할 변경 사항이 추가되지 않을 뿐만 아니라 다른 마스터의 업데이트를 받을 수도 없습니다.
전역 읽기 전용 모드를 활성화하거나 비활성화하려면 다음을 수행합니다.
개별 접미어를 읽기 전용 모드로 설정하는 방법은 접미어 읽기 전용 모드 설정을 참조하십시오.
디렉토리 항목에 대한 수정 추적
서버에서 새로 작성하거나 수정한 항목에 대해 다음과 같은 특수 속성을 유지 관리하도록 구성할 수 있습니다.
- creatorsName - 처음에 항목을 작성한 사람의 고유 이름(DN)
- createTimestamp - 항목이 작성된 시간의 타임스탬프(GMT 형식)
- modifiersName - 마지막으로 항목을 수정한 사람의 고유 이름(DN)
- modifyTimestamp - 항목이 마지막으로 수정된 시간의 타임스탬프(GMT 형식)
주
클라이언트 응용 프로그램에서 연결 접미어에 항목을 작성하거나 수정하는 경우에는 creatorsName 속성과 modifiersName 속성이 항목의 실제 작성자나 수정자를 반영하지 않습니다. 두 속성에는 원격 서버에 바인드할 때 필요한 연결 프록시 이름이 포함됩니다. 프록시 인증에 대한 자세한 내용은 프록시 아이디 작성을 참조하십시오.
복제된 접미어의 수정 횟수를 추적하는 경우 이름 속성과 타임스탬프 속성이 일반 속성처럼 복제되기 때문에 두 속성은 항목이 소비자에 복제된 시간이 아닌, 마스터 서버의 원래 항목이 수정된 시간을 반영합니다.
Directory Server에서 이 정보를 추적하려면 다음을 수행합니다.
- Directory Server 콘솔의 최상위 구성 탭에 있는 구성 트리에서 루트 노드를 선택한 다음 오른쪽 패널에서 설정 탭을 선택합니다.
- "항목 수정 횟수를 추적합니다" 확인란을 선택합니다.
서버는 새로 작성하거나 수정한 모든 항목에 대해 creatorsName, createTimestamp, modifiersName 및 modifyTimestamp 속성을 추가합니다. 기존 항목에는 작성 속성이 포함되지 않습니다.
- 저장을 누른 후 서버를 다시 시작합니다.
자세한 내용은 Directory Server 시작 및 중지를 참조하십시오.
플러그 인 서명 확인플러그 인 서명 확인은 Directory Server 5.2의 새 기능입니다. Directory Server와 함께 제공된 각 플러그 인에는 시작 시 서버에서 확인할 수 있는 디지털 서명이 있습니다. 기본적으로 서버는 플러그 인 서명을 확인하지만, 서명의 존재 또는 유효성 여부에 관계 없이 모든 플러그 인을 로드합니다.
서명 확인은 다음과 같은 이점을 제공합니다.
플러그 인 서명 확인 구성
- Directory Server 콘솔의 최상위 구성 탭에 있는 구성 트리에서 플러그 인 노드를 선택합니다. 오른쪽 패널에 현재 서명 확인 정책이 표시됩니다.
- 다음 옵션 중 하나를 선택합니다.
- 저장을 누른 다음 Directory Server 시작 및 중지에서 설명한 대로 Directory Server를 다시 시작합니다.
플러그 인의 상태 보기
- Directory Server 콘솔의 최상위 구성 탭에 있는 구성 트리에서 플러그 인 노드를 확장한 다음 확인할 플러그 인을 선택합니다. 오른쪽 패널에 플러그 인의 현재 구성이 표시됩니다.
- "서명 상태" 필드에는 플러그 인의 서명 확인 상태가 다음 값 중 하나로 표시됩니다.
- Unknown - 서버에서 플러그 인 서명을 확인하지 않도록 구성하면 모든 플러그 인에 이 서명 상태가 표시됩니다. 다음과 같은 상태는 플러그 인 서명을 확인하는 경우에만 표시됩니다.
- Valid signature - 플러그 인 구성에 플러그 인 이진의 체크섬에 일치하는 서명이 있습니다. 이 플러그 인은 공식적으로 지원됩니다. 다음과 같은 상태는 잘못된 서명을 거부하지 않고 플래그를 지정하는 경우에만 표시됩니다.
- Invalid signature - 플러그 인 구성에 플러그 인 이진의 체크섬에 일치하지 않는 서명이 있습니다. 이 상태는 플러그 인이 무단 변경되었을 수 있음을 나타냅니다.
- No signature - 플러그 인 구성에 서버에서 확인할 서명이 없습니다.
DSML 구성Directory Server는 LDAP (Lightweight Directory Access Protocol) 요청을 처리하는 동시에 Directory Service Markup Language 버전 2(DSMLv2)로 전송된 요청에도 응답합니다. DSML은 클라이언트에서 디렉토리 작업을 인코딩하는 또 다른 방법이지만, 서버는 다른 요청과 마찬가지로 모든 액세스 제어 및 보안 기능을 사용하여 DSML을 처리합니다. 결과적으로 DSML 처리는 많은 유형의 클라이언트가 디렉토리 내용에 액세스할 수 있도록 도와줍니다.
Directory Server는 HTTP (Hypertext Transfer Protocol/1.1)를 통해 DSMLv2의 사용을 지원하며 SOAP (Simple Object Access Protocol) 버전 1.1을 DSML 내용 전송을 위한 프로그래밍 프로토콜로 사용합니다. 이 프로토콜에 대한 자세한 내용과 DSML 요청의 예는 DSMLv2를 사용한 디렉토리 액세스를 참조하십시오.
DSML 요청 사용
디렉토리에 액세스하는 표준 프로토콜은 LDAP이기 때문에 Directory Server를 설치해도 DSML 요청은 기본적으로 사용되지 않습니다. 서버에서 HTTP/SOAP를 통한 DSML 요청에 응답하게 하려면 명시적으로 이 기능을 활성화해야 합니다.
콘솔을 통해 서버에서 DSML 요청을 활성화하려면 다음을 수행합니다.
- Directory Server 콘솔의 최상위 구성 탭에 있는 구성 트리에서 루트 노드를 선택한 다음 오른쪽 패널에서 네트워크 탭을 선택합니다.
- DSML 사용 확인란을 선택하고 다음 보안 옵션 중 하나를 선택합니다. 보안 포트 옵션은 11장, "인증 및 암호화 관리"에 설명된 것처럼 SSL을 활성화한 경우에만 사용할 수 있습니다.
- 다음 필드 중에서 원하는 필드를 편집합니다.
- 저장을 누르면 서버를 다시 시작해야만 DSML 요청에 응답한다는 알림 메시지가 표시됩니다.
명령줄을 통해 DSML 요청을 활성화하려면 다음을 수행합니다.
- 아래의 ldapmodify 명령을 사용하여 DSML 프런트엔드 플러그 인을 활성화하고 해당 설정을 수정합니다. 선택 사항으로 ds-hdsml-port, ds-hdsml-secureport 및 ds-hdsml-rooturl 속성을 수정할 수 있습니다.
% ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
changetype: modify
replace: nsslapd-pluginEnabled
nsslapd-pluginEnabled: on
-
replace: ds-hdsml-port:
ds-hdsml-port: DSMLport
-
add: ds-hdsml-secureport
ds-hdsml-port: secureDSMLport
-
replace: ds-hdsml-rooturl
ds-hdsml-root: relativeURL
-
^D- DSML 프런트엔드 플러그 인을 수정한 경우 이 변경 사항을 적용하려면 서버를 다시 시작해야 합니다. 서버를 다시 시작하기 전에 다음 절에 설명된 것처럼 DSML 인증을 위한 보안 및 아이디 매핑을 구성할 수 있습니다.
DSML 보안 구성
이전 절에서 설명한 보안 포트 설정 외에도 DSML 요청을 승인하는 데 필요한 보안 수준을 구성할 수 있습니다. DSML 프런트엔드 플러그 인의 ds-hdsml-clientauthmethod 속성은 클라이언트에 필요한 인증 방법을 지정하며 다음과 같은 값을 가질 수 있습니다.
- httpBasicOnly - 서버에서 HTTP Authorization 헤더의 내용을 사용하여 디렉토리 항목에 매핑할 수 있는 사용자 이름을 찾습니다. 이 프로세스와 해당 구성에 대해서는 DSML 아이디 매핑에서 자세히 설명합니다. 이렇게 설정하면 클라이언트 인증은 사용되지 않지만 보안 HTTPS 포트에 대한 DSML 요청이 SSL을 통해 암호화됩니다.
- clientCertOnly - 서버에서 클라이언트 인증서의 자격 증명을 사용하여 클라이언트를 확인합니다. 이렇게 설정하면 모든 DSML 클라이언트가 보안 HTTPS 포트를 통해 DSML 요청을 보내고 인증서를 제공해야 합니다. 서버는 클라이언트 인증서가 디렉토리 항목과 일치하는지 확인합니다. 자세한 내용은 11장, "인증 및 암호화 관리"를 참조하십시오.
- clientCertFirst - 서버에서 먼저 제공된 클라이언트 인증서를 사용하여 클라이언트 인증을 시도합니다. 클라이언트 인증서가 제공되지 않은 경우 서버는 Authorization 헤더의 내용을 사용하여 클라이언트를 인증합니다.
HTTP 요청에 인증서와 Authorization 헤더가 모두 없으면 서버는 익명 바인드를 사용하여 DSML 요청을 처리합니다. 익명 바인드는 다음과 같은 경우에도 사용됩니다.
인증서가 제공되었지만 항목에 일치시킬 수 없는 경우 또는 HTTP Authorization 헤더가 지정되었지만 사용자 항목에 매핑할 수 없는 경우에는 ds-hdsml-clientauthmethod 속성 값에 상관없이 오류 메시지 403: "금지됨"이 표시되며 요청이 거부됩니다.
콘솔을 통해 DSML 보안 요구 사항을 설정하려면 다음을 수행합니다.
- Directory Server 콘솔의 최상위 구성 탭에 있는 구성 트리에서 루트 노드를 선택한 다음 오른쪽 패널에서 암호화 탭을 선택합니다.
11장, "인증 및 암호화 관리"에 설명된 것처럼 SSL이 구성 및 활성화되어 있어야 합니다.
- DSML 클라이언트 인증 필드의 드롭다운 메뉴에서 원하는 옵션을 선택합니다.
- 저장을 누른 후 서버를 다시 시작하여 새로운 보안 설정을 실행합니다.
명령줄을 통해 DSML 보안 요구 사항을 설정하려면 다음을 수행합니다.
- 아래의 ldapmodify 명령을 실행하여 DSML 프런트엔드 플러그 인의 속성을 편집합니다.
% ldapmodify -h host -p LDAPport -D "cn=Directory Manager" -w passwd
dn:cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=config
changetype: modify
replace: ds-hdsml-clientauthmethod:
ds-hdsml-clientauthmethod: httpBasicOnly 또는
clientCertOnly 또는 clientCertFirst
^D- DSML 프런트엔드 플러그 인을 수정한 경우 새로운 보안 설정을 실행하려면 서버를 다시 시작해야 합니다.
DSML 아이디 매핑
인증서 없이 기본 인증을 수행하는 경우 Directory Server는 아이디 매핑이라는 기법을 사용하여 DSML 요청을 승인할 때 사용할 바인드 DN을 지정합니다. 이 기법은 HTTP 요청의 Authorization 헤더에서 필요한 정보를 추출하여 바인드에 사용할 아이디를 확인합니다. 이 기법에 대한 자세한 내용은 아이디 매핑을 참조하십시오.
DSML-over-HTTP에 대한 기본 아이디 매핑은 다음과 같은 서버 구성 항목을 통해 지정됩니다.
dn:cn=default,cn=HTTP-BASIC, cn=identity mapping, cn=config
objectclass: top
objectclass: nsContainer
objectclass: dsIdentifyMapping
cn: default
dssearchbasedn: ou=People,userRoot
dssearchfilter: (uid=${Authorization})이 매핑은 ou=People,userRoot 하위 트리를 검색하여 uid 속성이 Authorization 헤더에 포함된 사용자 이름과 일치하는 항목을 찾습니다. userRoot는 디렉토리 설치 중에 정의한 접미어입니다(예: dc=example,dc=com).
매핑 항목 속성에 ${header} 형식의 자리 표시자를 사용할 수도 있습니다. 여기서 header는 HTTP 헤더의 이름입니다. DSML 매핑에 가장 일반적으로 사용되는 헤더는 다음과 같습니다.
DSML 요청에 다른 아이디 매핑을 사용하려면 다음과 같이 HTTP 헤더에 대한 새 아이디 매핑을 정의합니다.
- 기본 DSML-over-HTTP 아이디 매핑을 편집하거나 이 프로토콜에 대한 사용자 정의 매핑을 작성합니다. 아이디 매핑 항목의 속성 정의에 대해서는 아이디 매핑을 참조하십시오. 이러한 매핑 항목은 다음 항목 아래에 위치해야 합니다.
cn=HTTP-BASIC, cn=identity mapping, cn=config.다음 두 가지 방법 중 하나로 새 매핑 항목을 작성할 수 있습니다.
- 콘솔에서 항목 관리에 설명된 것처럼 Directory Server 콘솔의 최상위 "디렉토리" 탭에서 적절한 객체 클래스가 있는 새 항목을 작성합니다.
- ldapmodify를 사용한 항목 추가에 설명된 것처럼 ldapmodify 도구를 사용하여 명령줄에서 이 항목을 추가합니다.
- Directory Server를 다시 시작하여 새 매핑을 적용합니다.
먼저 사용자 정의 매핑이 평가되고, 사용자 정의 매핑이 성공하지 못하면 기본 매핑이 평가됩니다. 모든 매핑을 평가한 후에도 DSML 요청에 대한 바인드 DN을 확인하지 못하면 이 DSML 요청은 금지되어 거부됩니다(오류 403).