다음 항목에서는 액세스 제어를 설정할 때 선택할 수 있는 다양한 옵션에 대해 설명합니다. Administration Server의 경우 첫 두 줄은 기본으로 설정되며 편집할 수 없습니다.
이 절은 다음 내용으로 구성되어 있습니다.
요청이 액세스 제어 규칙과 일치할 때 서버의 작동을 지정할 수 있습니다.
Allow: 사용자 또는 시스템이 요청된 자원에 액세스할 수 있습니다.
Deny: 사용자 또는 시스템이 자원에 액세스할 수 없습니다.
서버는 액세스 제어 항목(ACE) 목록 전체를 확인하여 액세스 권한을 판단합니다. 예를 들어 첫 번째 ACE는 보통 모든 사용자를 거부합니다. 첫 번째 ACE를 Continue로 설정할 경우 서버는 목록에서 두 번째 ACE를 확인합니다. 해당 ACE가 일치하면 다음 ACE가 사용됩니다. Continue가 선택되지 않은 경우 자원에 대한 모든 사용자의 액세스가 거부됩니다. 서버는 일치되지 않는 ACE를 발견하거나 일치되지만 계속으로 설정되지 않은 ACE를 발견할 때까지 계속해서 목록을 검색합니다. 마지막으로 일치되는 ACE에 따라 액세스의 허용 또는 거부가 결정됩니다.
사용자 및 그룹 인증을 사용하면 사용자가 액세스 제어 규칙에 지정된 자원에 액세스하기 전에 사용자 이름 및 비밀번호를 입력하라는 프롬프트가 표시됩니다.
Proxy Server는 Sun Java System Directory Server 등의 LDAP 서버 또는 내부 파일 기반 인증 데이터베이스에 저장된 사용자 및 그룹 목록을 확인합니다.
데이터베이스에 있는 모든 사용자의 액세스를 허용 또는 거부할 수 있으며, 와일드카드 패턴을 사용하여 특정 사용자를 허용 또는 거부할 수 있습니다. 또는 사용자 및 그룹 목록에서 허용 또는 거부할 사용자를 선택할 수 있습니다.
사용자 인터페이스에서 Access Control Rules For 페이지의 Users/Groups에 다음 요소가 표시됩니다.
Anyone (No Authentication)은 기본값으로, 모든 사용자가 사용자 이름 또는 비밀번호를 제공하지 않고 자원에 액세스할 수 있습니다. 그러나 호스트 이름 또는 IP 주소 등의 기타 설정에 따라 액세스를 거부할 수 있습니다. Administration Server의 경우 이 설정으로 분산 관리로 지정한 관리 그룹의 모든 사용자가 페이지에 액세스할 수 있습니다.
Authenticated People Only
인증 데이터베이스의 모든 사용자는 데이터베이스에 항목이 있는 임의 사용자를 일치시킵니다.
Only The following People의 경우 일치하는 사용자 및 그룹을 지정합니다. 사용자 또는 사용자 그룹의 목록을 만들 수 있으며 각 항목을 쉼표로 분리하거나, 와일드카드 패턴을 사용할 수 있습니다. 또는 데이터베이스에 저장된 사용자 및 그룹 목록에서 선택할 수 있습니다. Group의 경우 지정한 그룹의 모든 사용자를 검색합니다. User는 지정한 개별 사용자를 검색합니다. Administration Server의 경우 사용자는 반드시 분산된 관리용으로 지정한 관리 그룹에 속해야 합니다.
인증 확인 프롬프트는 인증 대화 상자에 표시된 메시지 텍스트를 지정합니다. 이 텍스트를 사용하여 사용자가 입력해야 하는 내용을 설명할 수 있습니다. 운영 체제에 따라 사용자는 프롬프트의 처음 40자 정도만 볼 수 있습니다. 대부분의 브라우저는 사용자 이름과 비밀번호를 캐시하고 프롬프트 텍스트에 연결합니다. 사용자가 동일한 프롬프트를 가진 서버 파일과 디렉토리의 영역에 액세스하는 경우 사용자는 사용자 이름과 비밀번호를 다시 입력할 필요가 없습니다. 반대로 영역마다 사용자가 인증하도록 하려면 반드시 해당 자원의 ACL용 프롬프트를 변경해야 합니다.
Authentication Methods에서는 클라이언트로부터 인증 정보를 가져오기 위해 서버가 사용할 방법을 지정합니다. Administration Server의 경우 Basic 인증 방법만 제공합니다. Server Manager는 다음 방법을 제공합니다.
Default는 obj.conf 파일에 지정된 기본 방법을 사용하거나 obj.conf에 설정이 없는 경우 Basic을 사용합니다. Default를 선택하는 경우 ACL 규칙은 ACL 파일에 방법을 지정하지 않습니다. Default를 선택하면 obj.conf 파일에서 한 줄만 편집하여 모든 ACL에 대한 인증 방법을 쉽게 변경할 수 있습니다.
Basic은 HTTP 메소드를 사용하여 클라이언트에서 인증 정보를 가져옵니다. 서버에 대해 암호화를 사용하는 경우(SSL 사용) 사용자 이름과 비밀번호만 암호화됩니다. 그렇지 않을 경우 이름과 비밀번호가 일반 텍스트로 전송되므로 포착될 경우 읽을 수 있습니다.
SSL은 클라이언트 인증서를 사용하여 사용자를 인증합니다. 이 방법을 사용하려면 반드시 서버용에 SSL을 사용해야 합니다. 암호화를 사용하는 경우 Basic과 SSL 방법을 함께 사용할 수 있습니다.
역방향 프록시 모드에서만 보안을 사용할 수 있으며 순방향 프록시 모드에서는 사용할 수 없습니다.
Digest는 사용자 이름과 비밀번호를 일반 텍스트로 전송하지 않고 브라우저가 사용자 이름과 비밀번호를 기준으로 인증할 수 있게 하는 인증 기법을 사용합니다. 브라우저는 MD5 알고리즘을 이용하여 Proxy Server가 제공하는 사용자의 비밀번호 및 일부 정보를 사용하는 다이제스트 값을 만듭니다. 다이제스트 값은 또한 Digest 인증 플러그인을 사용하는 서버 측에서도 계산되며 이 값은 클라이언트가 제공하는 다이제스트 값과 비교됩니다.
인증 확인 프롬프트는 Digest 인증에 필요한 매개 변수입니다. 영역과 일치하는 값을 변경합니다(다이제스트 파일의 경우 필수). 예를 들어 다이제스트 파일에서 영역 test에 모든 사용자가 있도록 구성한 경우 인증 확인 프롬프트 필드에 텍스트 test가 포함되어야 합니다.
인증 데이터베이스는 서버가 사용자를 인증하는 데 사용할 데이터베이스를 지정합니다. 이 옵션은 오직 Server Manager를 통하여만 사용할 수 있습니다. Default를 선택하는 경우 서버는 기본으로 구성된 디렉토리 서비스에서 사용자 및 그룹을 찾습니다. 개별 ACL이 서로 다른 데이터베이스를 사용하도록 구성하려는 경우 Other를 선택하고 데이터베이스를 지정합니다. 기본이 아닌 데이터베이스와 LDAP 디렉토리는 이미 server-root/userdb/dbswitch.conf에 지정되어 있어야 합니다. 사용자 정의 데이터베이스에 대해 액세스 제어 API를 사용하는 경우 Other를 선택하고 데이터베이스 이름을 입력합니다.
요청을 보내는 컴퓨터를 기준으로 Administration Server에 대한 액세스를 제한할 수 있습니다.
사용자 인터페이스의 From Host on the Access Control Rules For 페이지에 다음 요소가 표시됩니다.
Anyplace는 모든 사용자 및 시스템의 액세스를 허용
다음 위치에서만은 특정 호스트 이름 또는 IP 주소로 액세스 제한
다음 위치에서만 옵션을 선택하면 호스트 이름 또는 IP 주소 필드에 와일드카드 패턴 또는 쉼표로 분리된 목록을 입력합니다. 호스트 이름을 기준으로 제한하는 것이 IP 주소를 기준으로 제한하는 것보다 훨씬 유연합니다. 사용자의 IP 주소가 변경되더라도 목록을 업데이트할 필요가 없습니다. 그러나 IP 주소를 기준으로 제한하는 것이 더욱 안전합니다. 연결된 클라이언트에 대한 DNS 조회가 실패하면 호스트 이름 제한은 사용할 수 없습니다.
컴퓨터의 호스트 이름 또는 IP 주소를 검색하는 와일드카드 패턴에는 * 와일드카드만 사용할 수 있습니다. 예를 들어 특정 도메인에 있는 모든 컴퓨터를 허용하거나 거부하려면 해당 도메인에 있는 모든 호스트에 일치하는 와일드카드 패턴(예: *.example.com)을 입력합니다. Administration Server에 액세스하는 수퍼유저를 위해 다른 호스트 이름 및 IP 주소를 설정할 수 있습니다.
호스트 이름의 경우 *는 반드시 이름의 전체 구성 요소를 대체해야 합니다. 즉, *.example.com은 사용 가능하지만 *users.example.com은 사용할 수 없습니다. 호스트 이름에 *를 사용하는 경우 가장 왼쪽에 표시해야 합니다. 예를 들어 *.example.com은 사용할 수 있지만 users.*.com은 사용할 수 없습니다.
IP 주소의 경우 *는 반드시 주소의 전체 바이트를 대체해야 합니다. 예를 들어 198.95.251.*는 사용 가능하지만 198.95.251.3*는 사용할 수 없습니다. IP 주소에 *를 사용하는 경우 가장 오른쪽에 표시해야 합니다. 예를 들어 198.*는 사용할 수 있지만 198.*.251.30은 사용할 수 없습니다.
프로그램에 대한 액세스는 오직 Administration Server에 의하여 제한될 수 있습니다. 프로그램에 대한 액세스를 제한하면 오직 지정된 사용자만 Server Manager 페이지를 볼 수 있으며 이러한 사용자가 해당 서버를 구성할 수 있는지 판단할 수 있습니다. 예를 들어 일부 관리자가 Administration Server의 Users and Groups 섹션을 구성할 수는 있으나 Global Settings 섹션에는 액세스할 수 없도록 설정할 수 있습니다.
서로 다른 사용자가 서로 다른 기능 영역에 액세스하도록 구성할 수 있습니다. 사용자가 몇 가지 선택된 기능 영역에 액세스하도록 설정되고 해당 사용자가 로그인하면, 오직 해당 사용자에게 액세스를 허용한 기능 영역의 Administration Server 페이지만 볼 수 있습니다.
사용자 인터페이스의 Access Control Rules For 페이지에서 Programs에 대해 다음 요소가 표시됩니다.
All Programs는 모든 프로그램에 대한 액세스를 허용 또는 거부합니다. 기본적으로 관리자는 서버의 모든 프로그램에 액세스할 수 있습니다.
Only The Following을 사용하여 사용자가 액세스 권한을 가진 프로그램을 지정할 수 있습니다.
Program Groups는 Preferences 및 Global Settings 등과 같이 Administration Server의 탭으로, 해당 페이지에 대한 액세스를 나타냅니다. 관리자가 Administration Server에 액세스하면 서버는 사용자 이름, 호스트 및 IP 주소를 사용하여 표시할 수 있는 페이지를 결정합니다.
Program Items를 통해 필드에 페이지 이름을 입력하여 프로그램 내에서 특정 페이지에 대한 액세스를 제어할 수 있습니다.
액세스 권한은 오직 Server Manager가 서버 인스턴스에 대해 설정합니다. 액세스 권한은 서버의 파일 및 디렉토리에 대한 액세스를 제한합니다. 모든 액세스 권한을 허용 또는 거부하는 것 외에 부분적인 액세스 권한을 허용 또는 거부하는 규칙을 지정할 수 있습니다. 예를 들어 사용자에게 파일에 대한 읽기 전용 액세스 권한을 부여하여 정보를 볼 수는 있지만 파일을 변경할 수는 없도록 할 수 있습니다.
다음 요소는 사용자 인터페이스의 Access Control Rules For 페이지에서 권한에 표시됩니다.
모든 액세스 권한은 기본값으로, 모든 권한을 허용 또는 거부합니다.
다음 권한만을 사용하여 허용 또는 거부할 권한을 함께 선택할 수 있습니다.
ACL용 사용자 정의 표현식을 입력할 수 있습니다. 오직 ACL 파일의 구문과 구조에 익숙한 경우에만 이 옵션을 선택하십시오. ACL 파일을 편집하거나 사용자 정의 표현식을 만들 때에만 사용할 수 있는 몇 가지 기능이 있습니다. 예를 들어 하루 중 시간, 요일 또는 이 둘 모두를 기준으로 서버에 대한 액세스를 제한할 수 있습니다.
다음 사용자 정의 표현식에서는 하루 중 시간 및 요일을 기준으로 액세스를 제한할 수 있는 방법을 보여 줍니다. 이 예에서는 LDAP 디렉토리에 두 개의 그룹이 있는 것으로 가정합니다. Regular 그룹은 월요일부터 금요일까지 오전 8시부터 오후 5시 사이에 액세스할 수 있습니다. Critical 그룹은 항상 액세스할 수 있습니다.
allow (read){(group=regular and dayofweek=”mon,tue,wed,thu,fri”); (group=regular and (timeofday>=0800 and timeofday<=1700));(group=critical)}
유효한 구문 및 ACL 파일에 대한 자세한 내용은 18 장ACL 파일 구문을 참조하십시오.
Access Control Rules For 페이지에서 Access Control Is On 옵션을 선택 취소하면 ACL에서 레코드를 삭제할지 여부를 묻는 프롬프트가 표시됩니다. 확인을 누르면 해당 자원의 ACL 항목이 ACL 파일에서 삭제됩니다.
ACL을 비활성화하려면 각 줄의 시작 부분에서 # 기호를 사용하여 파일 generated-proxy- serverid.acl에서 ACL 줄을 주석으로 처리합니다.
Administration Server에서 특정 서버 인스턴스에 대한 액세스 제어를 만들어 사용하며 기타 서버에 대해는 사용하지 않도록(기본값) 할 수 있습니다. 예를 들어 Administration Server의 Server Manager 페이지에서 모든 액세스를 거부할 수 있습니다. 기타 서버는 기본적으로 분산 관리를 사용하고 액세스 제어는 사용하지 않으므로 관리자는 다른 서버에 액세스하여 구성할 수 있으나 Administration Server는 구성할 수 없습니다.
Proxy Server는 액세스가 거부된 경우 기본 메시지를 제공하고 원하는 경우 응답을 사용자 정의할 수 있습니다. 또한 각 액세스 제어 객체마다 서로 다른 메시지를 만들 수 있습니다.
Administration Server의 경우 기본적으로사용자는 server-root/httpacl/admin-denymsg.html 에서 권한이 거부됨 메시지를 수신합니다.